mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-26 12:55:18 +01:00
implement message counting
--HG-- extra : transplant_source : %8E%83%C2%83%FA%F8X%B6%16%1D%D3X%C4o%A2%A8%28%11G%AF
This commit is contained in:
parent
d099b79fd1
commit
3b2d73c684
2 changed files with 29 additions and 0 deletions
|
@ -329,6 +329,24 @@ class Messages(object):
|
||||||
nmlib.notmuch_messages_move_to_next(self._msgs)
|
nmlib.notmuch_messages_move_to_next(self._msgs)
|
||||||
return msg
|
return msg
|
||||||
|
|
||||||
|
def __len__(self):
|
||||||
|
""" Returns the number of contained messages
|
||||||
|
|
||||||
|
:note: As this iterates over the messages, we will not be able to
|
||||||
|
iterate over them again (as in retrieve them)!
|
||||||
|
"""
|
||||||
|
if self._msgs is None:
|
||||||
|
raise NotmuchError(STATUS.NOT_INITIALIZED)
|
||||||
|
|
||||||
|
i=0
|
||||||
|
while nmlib.notmuch_messages_valid(self._msgs):
|
||||||
|
nmlib.notmuch_messages_move_to_next(self._msgs)
|
||||||
|
i += 1
|
||||||
|
self._msgs = None
|
||||||
|
return i
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def __del__(self):
|
def __del__(self):
|
||||||
"""Close and free the notmuch Messages"""
|
"""Close and free the notmuch Messages"""
|
||||||
if self._msgs is not None:
|
if self._msgs is not None:
|
||||||
|
|
11
notmuch
11
notmuch
|
@ -115,6 +115,17 @@ if __name__ == '__main__':
|
||||||
#TODO: handle --verbose
|
#TODO: handle --verbose
|
||||||
print "Not implemented."
|
print "Not implemented."
|
||||||
|
|
||||||
|
elif sys.argv[1] == 'count':
|
||||||
|
db = Database()
|
||||||
|
if len(sys.argv) == 2:
|
||||||
|
#no further search term
|
||||||
|
querystr=''
|
||||||
|
else:
|
||||||
|
#mangle arguments wrapping terms with spaces in quotes
|
||||||
|
querystr = quote_query_line(sys.argv[2:])
|
||||||
|
logging.debug("count "+querystr)
|
||||||
|
print(len(Query(db,querystr).search_messages()))
|
||||||
|
|
||||||
elif sys.argv[1] == 'search-tags':
|
elif sys.argv[1] == 'search-tags':
|
||||||
if len(sys.argv) == 2:
|
if len(sys.argv) == 2:
|
||||||
#no further search term
|
#no further search term
|
||||||
|
|
Loading…
Reference in a new issue