Overall TODO's ============== - Move from flat and procedural to object oriented and componentized - Separate out shell commands out into bin, maybe a single parameterized super command - More thinking about embedding in Twisted, in a PyObjC app - Make multi-user. Separate out user-common from user-specific data in tables. - Items and sources are common, item seen/queued/visited and subcriptions are specific - Work toward views. Multiple matchups between data model, query, and presentation template. - Self-generated feeds - From status reports such as broken feeds, daily feed scans - From filters. - Preference panels and preferences - Use more of the metadata made available by feedparser (ie. for Atom feeds & etc.) Extracted TODO's: ================ ./htdocs/js/agg.js:6:// TODO: Fix POST method in jsrsClient for Safari ./lib/dbagg2/httpd.py:20: # TODO: Why doesn't os.path.join work here? ./lib/dbagg2/model.py:20: # TODO: This seems stupid & evil. Learn about Unicode & fix. ./lib/dbagg2/model.py:25: # TODO: Figure out how to handle Unicode encoding detection ./lib/dbagg2/scan.py:11:# TODO: Separate out data fetch (anticipate threaded replacement)? Need to get into feedparser guts for that? ./lib/dbagg2/scan.py:70: # TODO: Per-source mix/max and period tweaking constants ./lib/dbagg2/scan.py:71: # TODO: Per-source modular period tweaking algorithms (constant, AIMD, IM-driven) ./lib/dbagg2/scan.py:102: # TODO: Figure out how to handle Unicode encoding detection ./lib/dbagg2/scan.py:131: # TODO: Move this use-desc-for-title code into presentation ./lib/dbagg2/web/ui.py:117: # TODO: Recognize attempts to create duplicate subscriptions ./lib/dbagg2/web/ui.py:118: # TODO: Ask for confirmation before subscription.