Rework tag_updater -> tagcore interaction
authorJack Miller <jack@codezen.org>
Mon, 13 Jul 2015 17:11:08 +0000 (12:11 -0500)
committerJack Miller <jack@codezen.org>
Wed, 15 Jul 2015 02:34:19 +0000 (21:34 -0500)
commit2e9d47c6beece995123e4b4fb815ad08e6bb7e15
tree1f8b166ae5204d7467dc977a2d8a0c729288334f
parent8d04013b355ac6cea47ec6d0ee774cd972cc307f
Rework tag_updater -> tagcore interaction

- ITEMS is now guaranteed to be a single response, so no need to buffer
  content waiting on ITEMSDONE (which is now issued, but ignored).

- The function uses a similar sorted-compare to sync() and the daemon's
  index(), which should make integrating new items take less time and
produce new/removed item hook calls directly.

- The Tagcore object itself has been stripped down.

- Tag_updater "reset" is now basically a no-op, it marks tags as reset,
  but doesn't actually clear their items. Then, "reset" tags are
automatically synchronized and re-sorted the next time items come in.
This saves quite a bit of time when refreshing.

- Tag_updater "update" now works in tandem with reset code, and merely
  sends out ITEMS requests directly.
canto_curses/gui.py
canto_curses/tag.py
canto_curses/tagcore.py
canto_curses/taglist.py
tests/test-tagcore-function.py