mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-22 19:08:09 +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)
|
||||
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):
|
||||
"""Close and free the notmuch Messages"""
|
||||
if self._msgs is not None:
|
||||
|
|
11
notmuch
11
notmuch
|
@ -115,6 +115,17 @@ if __name__ == '__main__':
|
|||
#TODO: handle --verbose
|
||||
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':
|
||||
if len(sys.argv) == 2:
|
||||
#no further search term
|
||||
|
|
Loading…
Reference in a new issue