_get = nmlib.notmuch_tags_get
_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,
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
once all derived objects are dead.
NotmuchError(STATUS.NULL_POINTER)
self._tags = tags_p
- self._db = db
- logging.debug("Inited Tags derived from %s" %(str(db)))
+ #save reference to parent object so we keep it alive
+ self._parent = parent
+ logging.debug("Inited Tags derived from %s" %(repr(parent)))
def __iter__(self):
""" Make Tags an iterator """
raise NotmuchError(STATUS.NULL_POINTER)
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):
"""Close and free the notmuch Message"""
if self._msg is not None:
if len(sys.argv) == 2: print HELPTEXT
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':
#TODO: handle --verbose
print "Not implemented."
#TODO: implement
"""
search [options...] <search-terms> [...]
-
- Search for messages matching the given search terms.
-
show <search-terms> [...]
-
- Show all messages matching the search terms.
-
reply [options...] <search-terms> [...]
-
- Construct a reply template for a set of messages.
-
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>
- search-tags [<search-terms> [...] ]
-
- List all tags found in the database or matching messages.
"""