implement stub for notmuch show. Remove finished ToDo items

--HG--
extra : transplant_source : 2%0B%97h%40Af%07%DD%F2%5ESX%20%05%3D%C0%C5v%F8
This commit is contained in:
Sebastian Spaeth 2010-03-16 16:41:33 +01:00
parent 95f259409e
commit 7b032b6f87
2 changed files with 23 additions and 23 deletions

View file

@ -225,12 +225,12 @@ class Tags(object):
_get = nmlib.notmuch_tags_get _get = nmlib.notmuch_tags_get
_get.restype = c_char_p _get.restype = c_char_p
def __init__(self, tags_p, db=None): def __init__(self, tags_p, parent=None):
""" """
msg_p is a pointer to an notmuch_message_t Structure. If it is None, msg_p is a pointer to an notmuch_message_t Structure. If it is None,
we will raise an NotmuchError(STATUS.NULL_POINTER). we will raise an NotmuchError(STATUS.NULL_POINTER).
Is passed the db these tags are derived from, and saves a Is passed the parent these tags are derived from, and saves a
reference to it, so we can automatically delete the db object reference to it, so we can automatically delete the db object
once all derived objects are dead. once all derived objects are dead.
@ -244,8 +244,9 @@ class Tags(object):
NotmuchError(STATUS.NULL_POINTER) NotmuchError(STATUS.NULL_POINTER)
self._tags = tags_p self._tags = tags_p
self._db = db #save reference to parent object so we keep it alive
logging.debug("Inited Tags derived from %s" %(str(db))) self._parent = parent
logging.debug("Inited Tags derived from %s" %(repr(parent)))
def __iter__(self): def __iter__(self):
""" Make Tags an iterator """ """ Make Tags an iterator """
@ -436,6 +437,11 @@ class Message(object):
raise NotmuchError(STATUS.NULL_POINTER) raise NotmuchError(STATUS.NULL_POINTER)
return Tags(tags_p, self) return Tags(tags_p, self)
def __str__(self):
"""A message() is represented by a 1-line summary"""
tags = str(self.get_tags())
return "TODO: FIXME Sebastian Krzyszkowiak <seba.dos1@gmail.com> (2009-08-27) (%s)" % (tags)
def __del__(self): def __del__(self):
"""Close and free the notmuch Message""" """Close and free the notmuch Message"""
if self._msg is not None: if self._msg is not None:

32
notmuch
View file

@ -111,6 +111,19 @@ if __name__ == '__main__':
if len(sys.argv) == 2: print HELPTEXT if len(sys.argv) == 2: print HELPTEXT
else: print "Not implemented" else: print "Not implemented"
elif sys.argv[1] == 'show':
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("show "+querystr)
m = Query(db,querystr).search_messages()
for msg in m:
print("%s" % (msg))
elif sys.argv[1] == 'new': elif sys.argv[1] == 'new':
#TODO: handle --verbose #TODO: handle --verbose
print "Not implemented." print "Not implemented."
@ -155,27 +168,8 @@ if __name__ == '__main__':
#TODO: implement #TODO: implement
""" """
search [options...] <search-terms> [...] search [options...] <search-terms> [...]
Search for messages matching the given search terms.
show <search-terms> [...] show <search-terms> [...]
Show all messages matching the search terms.
reply [options...] <search-terms> [...] reply [options...] <search-terms> [...]
Construct a reply template for a set of messages.
tag +<tag>|-<tag> [...] [--] <search-terms> [...] tag +<tag>|-<tag> [...] [--] <search-terms> [...]
Add/remove tags for all messages matching the search terms.
dump [<filename>]
Create a plain-text dump of the tags for each message.
restore <filename> restore <filename>
search-tags [<search-terms> [...] ]
List all tags found in the database or matching messages.
""" """