aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Spaeth <sebastian@sspaeth.de>2010-03-16 16:41:33 +0100
committerSebastian Spaeth <sebastian@sspaeth.de>2010-03-16 16:41:33 +0100
commit7b032b6f87b40c3a4849cf7e889bf7a6975a0a57 (patch)
tree13435cb95de0b22e6d83722c6b719575c1f808dc
parent95f259409ef48dbd31c3670a5e2fe288f05ba2a0 (diff)
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
-rw-r--r--cnotmuch/database.py14
-rwxr-xr-xnotmuch32
2 files changed, 23 insertions, 23 deletions
diff --git a/cnotmuch/database.py b/cnotmuch/database.py
index 09af0df9..1619e454 100644
--- a/cnotmuch/database.py
+++ b/cnotmuch/database.py
@@ -225,12 +225,12 @@ class Tags(object):
_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.
@@ -244,8 +244,9 @@ class Tags(object):
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 """
@@ -436,6 +437,11 @@ class Message(object):
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:
diff --git a/notmuch b/notmuch
index 478aed3a..4e259c1c 100755
--- a/notmuch
+++ b/notmuch
@@ -111,6 +111,19 @@ if __name__ == '__main__':
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."
@@ -155,27 +168,8 @@ if __name__ == '__main__':
#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.
"""