Commit graph

5255 commits

Author SHA1 Message Date
Sebastian Spaeth
c6fa1ae8d5 Database(): Factor out the test for an initialized self._db
We need it in basically every function, so let's split this out.
2010-03-19 10:51:35 +01:00
Sebastian Spaeth
b42fdb0f70 implement Message.get_thread_id() 2010-03-19 09:46:44 +01:00
Sebastian Spaeth
cd109ef559 notmuch restore: only delete a message's old tags if they are not a subset of the new ones. 2010-03-19 09:39:23 +01:00
Sebastian Spaeth
7739b6e469 hgignore: ignore test/test* 2010-03-19 09:38:43 +01:00
Sebastian Spaeth
f2c49bb070 notmuch: implement restore. We pass now all 'dump' and 'restore' tests in the test suite 2010-03-19 09:11:22 +01:00
Sebastian Spaeth
540536b98d notmuch: Use Query.count_messages() rather len(Query.search_messages())
In my tests, this is about 10 times faster and returned the same results,
although both operations are really fast.
2010-03-19 08:47:14 +01:00
Sebastian Spaeth
ca38848142 Query(): Fix _nmlib -> nmlib type & clarify docs a bit 2010-03-19 08:44:34 +01:00
Sebastian Spaeth
cd19699e0d Implement Database.count_messages() 2010-03-19 08:32:29 +01:00
Sebastian Spaeth
350a6884de notmuch: implement dump to file. Fake notmuch new by calling the real notmuch to enable running the testsuite 2010-03-18 19:11:22 +01:00
Sebastian Spaeth
dd8cdd9b66 add original notmuch testsuite 2010-03-18 19:04:49 +01:00
Sebastian Spaeth
5c936f9135 mention NOTMUCH_CONFIG in the notmuch docstring 2010-03-18 18:51:25 +01:00
Sebastian Spaeth
d566ae643c Database(): honor NOTMUCH_CONFIG env variable for reading the standard database location.
Also replaces all Database.MODE.* defaults in the keyword arguments with their numeric replacement, they do not seem to be available yet at that time, so the python parser complained about them as being unknown.
2010-03-18 18:48:36 +01:00
Sebastian Spaeth
4ed01d055a Implement Message.freeze(), thaw(), and remove_all_tags() 2010-03-18 09:34:10 +01:00
Sebastian Spaeth
144953116e docs: stub out remaining missing bindings to get a reminder 2010-03-18 09:02:59 +01:00
Sebastian Spaeth
8345aab10c implement Database.get_version() and Database.needs_upgrade() 2010-03-18 08:50:48 +01:00
Sebastian Spaeth
23b32a7dfd notmuch: implement tag command 2010-03-17 17:32:37 +01:00
Sebastian Spaeth
99880b7dbe notmuch: fix to use new Query.SORT enum 2010-03-17 17:11:58 +01:00
Sebastian Spaeth
350509028b Implement Message.add|remove_tag() and documentation 2010-03-17 17:09:58 +01:00
Sebastian Spaeth
d2b4307851 docs: doc improvements 2010-03-17 15:14:44 +01:00
Sebastian Spaeth
61bef71a12 many doc improvements, fixed at least one bug due to parameter renaming 2010-03-17 12:32:22 +01:00
Sebastian Spaeth
06f627df92 Improve source documentation 2010-03-17 11:45:13 +01:00
Sebastian Spaeth
b00c892c65 Implement an Enum class and make the STATUS object one 2010-03-17 11:44:36 +01:00
Sebastian Spaeth
6506175648 README: add link to static docs 2010-03-17 09:28:39 +01:00
Sebastian Spaeth
422ba4beca update documentation so it makes sense
--HG--
extra : transplant_source : %3F%E9%23%2B%2A%83%06g%10R%CA%CD%27N5%3E%22g%1E%AD
2010-03-16 20:54:43 +01:00
Sebastian Spaeth
9182b97e26 add sphinx docs stubs (they don't make sense yet)
--HG--
extra : transplant_source : %F3A%2C%D95%02%BF%1B%A1%D7%17%07%EDqh%23l8%93%20
2010-03-16 20:36:04 +01:00
Sebastian Spaeth
5bcd897253 hgignore: update to ignore static documentation
--HG--
extra : transplant_source : %9C%CCh%60z%FE%7B1%AC%E6%88%DF7%00%22%7D%09i%EDL
2010-03-16 20:35:34 +01:00
Sebastian Spaeth
ee66e0f52c implement Message.get_date() and Message.get_header()
--HG--
extra : transplant_source : %90%E9%A5Z%D1%E6%26%1F%D3%8B%CCsbb%E9%17%FA%5CD%9F
2010-03-16 17:10:57 +01:00
Sebastian Spaeth
7b032b6f87 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
2010-03-16 16:41:33 +01:00
Sebastian Spaeth
95f259409e implement Query.set_sort() and sort notmuch dump by message id
--HG--
extra : transplant_source : 1%BC%F3%ED%3C%C7c%0EFh%06%B6L%7C%8E%8F%EF%A2%8E%A8
2010-03-16 16:20:47 +01:00
Sebastian Spaeth
4081ed75b5 implement notmuch dump and Messages.len()
--HG--
extra : transplant_source : %03_%C7%99L%16%7E%A8%B1p%11%11%A0%E3h%A3%AB%B6%FB%86
2010-03-16 16:09:42 +01:00
Sebastian Spaeth
3b2d73c684 implement message counting
--HG--
extra : transplant_source : %8E%83%C2%83%FA%F8X%B6%16%1D%D3X%C4o%A2%A8%28%11G%AF
2010-03-16 15:53:54 +01:00
Sebastian Spaeth
d099b79fd1 implement quoatation mangling in the notmuch binary
--HG--
extra : transplant_source : %E2I%C6%0A%05%3B%F3%27%07%96%DC%D6%91%C3%FA%8E%1B%5B%2B%3D
2010-03-16 15:40:13 +01:00
Sebastian Spaeth
e026813bcb Fix iterator classes to not skip the first element when iterating
--HG--
extra : transplant_source : %19wvB%19A%0A%CD%E7%28-%F0%12j%7FG%0DD%16%F4
2010-03-16 15:00:42 +01:00
Sebastian Spaeth
bb5870b9af use logging.debug for debug output. Implement notmuch search-tags
--HG--
extra : transplant_source : %BAn%2B%93B%1EkU8%A6-I%5D%E1%E4%2B%D6E%0C%F5
2010-03-16 14:57:07 +01:00
Sebastian Spaeth
c54b2683cd Fixing the crashes that I was seeing
--HG--
extra : transplant_source : %3E%B1%BB%DF%3C%22%A6%CC%90Z%E8v%95%962%DD%B2%A1%11%CC
2010-03-16 14:45:01 +01:00
Sebastian Spaeth
92d3c24bc8 implement Query() and search_messages()
However, this is still brittle and often segfaults for unknown reasons

--HG--
extra : transplant_source : %D1%FB%2B%FC%EA%E9%EB%3E%D2%13%DFV.o%D6%A6%CE%81%00%8C
2010-03-16 14:28:05 +01:00
Sebastian Spaeth
9ed5e8a0e3 remove useless tags struct
--HG--
extra : transplant_source : %EF%CD%D8K%E5%E1F%95%1E%F9%F3%88%E7%B0%600%21Wwp
2010-03-16 12:40:20 +01:00
Sebastian Spaeth
0e90d656fc Query() stub
--HG--
extra : transplant_source : %1E%14%7B%E7J%DD%96O%C7%E6%B5%FB%D8V%7B%0F%7C%25ot
2010-03-16 12:39:47 +01:00
Sebastian Spaeth
7b9ddcb6a6 some more stubs
--HG--
extra : transplant_source : %2A%C5%3C%C0u%B8%0DLx%3Eg%A2%06%F6%1E%B8%99C7%B3
2010-03-16 12:28:05 +01:00
Sebastian Spaeth
5cb8dbeab5 nonfunctional changes in notmuch stub
--HG--
extra : transplant_source : %F2%28%18m%91%F5%DA%08%17%AC/%9E%C2%AE%95%91%92%C4%A3%7F
2010-03-16 12:24:52 +01:00
Sebastian Spaeth
ce50b33cf0 add notmuch stub that will allow me to run the notmuch testsuite over the python bindings.
--HG--
extra : transplant_source : %E4%EF%29%A3%9BA%C57%7C%EC%B0%7BF%FB%00%F0%EB%97%92%E3
2010-03-16 12:21:18 +01:00
Sebastian Spaeth
338e68e545 Find the notmuch shared lib rather than hardode a location
--HG--
extra : transplant_source : %DEOdF%80%83%3A%3D%98%5C%AE%81%FE%BA%EF%1A%16%82u%E8
2010-03-16 11:52:56 +01:00
Sebastian Spaeth
55f1971437 Implement Message(), Database.find_message(), Database.create()
Message() basically has get_message_id get_filename get_tags
Plus various bullet proofing and bug fixing.

--HG--
extra : transplant_source : O%3B1%EB%E0%D4pYrEY_%E3%0E%BA%C23%11a%B0
2010-03-16 11:27:31 +01:00
Sebastian Spaeth
90c47567f4 improve README example session to reflect reality
--HG--
extra : transplant_source : %15P%B8E%1A%CE%0D%DE%CEB%E0/%E04%2B%3F%255%A1%F9
2010-03-15 17:12:52 +01:00
Sebastian Spaeth
632762cd1a Tags: clarify documentation: we can only iterate once over Tags, and free underlying tags once we iterated through.
--HG--
extra : transplant_source : %0BI%C9%899k%80%8C4j%07%85%038%86%04%2A%FE%A6%A3
2010-03-15 16:00:11 +01:00
Sebastian Spaeth
b4fdf0ae30 initial revision. See README for what works
--HG--
extra : transplant_source : %FBQ%B3%C5%0E%85%E8%0B%154%F5t%19%2A%C6p%A5%1Dd%F1
2010-03-15 15:47:15 +01:00
Sebastian Spaeth
9286296f46 COPYING: add GPL v3+ 2010-03-16 22:48:35 +01:00
Sebastian Spaeth
d30049d2b9 notmuch-show: add tags to json output
The previous json patches forgot to add the notmuch tags to the json
output. This is inconsistent to the text output so here they are. We
just output a 'tags' field that sends notmuch tags as a json array.

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
2010-03-11 04:30:46 -08:00
Carl Worth
bb61755afe emacs: Fix search refresh when on the last line of a search buffer.
We currently allow the cursor to be positioned on the "End of search
results" line after the last thread in a search buffer. When
refreshing on this line, there's no thread ID to be used as the
target.

Previously, a refresh from this case would result in a nil thread
target, but we were also using nil to indicate that the target thread
had been found. This caused the position to be lost during refresh,
(the cursor would move from the last line in the buffer to the first).

We fix this by using a magic string of "found" rather than nil to
clearly indicate whether the target thread has actually been found.
2010-03-10 11:07:58 -08:00
Carl Worth
70ef8de798 emacs: Adjust search refresh to use a target line not a target position.
It doesn't make sense to move the cursor to some random point in the
middle of a line. We always want the refresh to leave the cursor at
the beginning of some line instead.
2010-03-10 11:07:51 -08:00