RSS: http://libtorrent.org/reference-RSS.html Torrent-handle controls/options: http://libtorrent.org/reference-Core.html#torrent_handle ☐ Torrent properties ./epour/gui/TorrentProps.py ☐ trackers() replace_trackers() add_tracker() ☐ add_url_seed() remove_url_seed() url_seeds() ☐ add_http_seed() remove_http_seed() http_seeds() ☐ set_priority() (status.priority) ☐ use_interface() ☐ get_peer_info() ? ☐ set_ssl_certificate() Torrent status info: http://libtorrent.org/reference-Core.html#torrent_status Add Torrent-dialog: ☐ Add preferences for initial/automatic values for options Preferences: ☐ max uploads ? ☐ max conns ? ☐ max half open conns ? ☐ ip filter Misc: ☐ More tooltips in general Explanations for non-trivial actions, options, etc. ☐ More D-Bus controls ./epour/Epour.py>EpourDBus ☐ Auto-paste magnet links from clipboard ./epour/gui/__init__.py>TorrentSelector Remake this feature ☐ Moving finished torrents to a different folder ☐ Individual torrents ☐ Total count of torrents in session status ☐ Local search function for torrents, files? ☐ Web search Error handling: ☐ Torrent errors http://libtorrent.org/reference-Alerts.html#torrent_error_alert ☐ Tracker errors http://libtorrent.org/reference-Alerts.html#tracker_error_alert ☐ Display authentication dialog when tracker requires it ☐ Performance notifications http://libtorrent.org/reference-Alerts.html#performance_alert ☐ File errors http://libtorrent.org/reference-Alerts.html#file_error_alert ☐ Listen failed/succeeded http://libtorrent.org/reference-Alerts.html#listen_failed_alert http://libtorrent.org/reference-Alerts.html#listen_succeeded_alert I18N: This should wait until most of the features are in and the strings are stable. ___________________ Archive: ✘ Construct and populate ./epour/gui/Preferences.py>PreferencesSession with an Idler @cancelled (21:20 01.07.2014) @project(Misc) ✔ Torrent tooltips @done (21:17 01.07.2014) @project(Misc) Using handle.status() ✔ Scrape tracker @done (18:43 06.07.2014) @project(Torrent-handle controls/options) ✔ Menu items @done (18:43 06.07.2014) @project(Torrent-handle controls/options) ./epour/gui/__init__.py>ItemMenu ✔ Force reannounce @done (18:43 06.07.2014) @project(Torrent-handle controls/options) ✔ Force DHT reannounce @done (18:43 06.07.2014) @project(Torrent-handle controls/options) ✔ Make strings localizable @done (17-05-08 01:40) @project(I18N) ✔ Generate pot file @done (17-05-08 01:40) @project(I18N) ✔ Dialog window @done (17-05-08 01:38) @project(Add Torrent-dialog) ✔ Session @done (16-08-11 01:15) @project(Misc) ✘ Handle switching between py2 <--> py3, messes up with pickled list of torrents @cancelled (16-07-30 08:15) @project(Misc) File "/usr/bin/epour", line 7, in app = Epour() File "/usr/lib/python2.7/dist-packages/epour/Epour.py", line 89, in __init__ self.session.load_torrents() File "/usr/lib/python2.7/dist-packages/epour/session.py", line 182, in load_torrents torrents = cPickle.load(pkl_file) AttributeError: 'module' object has no attribute 'OrderedDict' ✔ Save torrent & resume data periodically @done (16-07-30 08:05) @project(Misc) Will this accomplish anything? http://libtorrent.org/reference-Core.html#save_resume_data() http://libtorrent.org/reference-Core.html#need_save_resume_data() ✔ Use dicts to hold torrent info between sessions. @done (15:57 30.06.2014) @project(Add Torrent-dialog) ✔ Storage path @done (15:57 30.06.2014) @project(Add Torrent-dialog) ✔ Options @done (15:57 30.06.2014) @project(Add Torrent-dialog) ✔ Migrate the old ihash->torrent_file dict to the new list of torrents @done (15:57 30.06.2014) @project(Add Torrent-dialog) ✔ File selector @done (15:57 30.06.2014) @project(Add Torrent-dialog) ✔ Add default path and global opt in Prefs @done (15:21 06.07.2014) @project(Misc) ./epour/gui/Preferences ✔ Add callback for alert @done (15:21 06.07.2014) @project(Misc) http://libtorrent.org/reference-Alerts.html#torrent_finished_alert http://libtorrent.org/reference-Core.html#move_storage() ✔ set_upload_limit() set_download_limit() upload_limit() download_limit() @done (14:50 09.07.2014) @project(Torrent-handle controls/options) ✔ save_path() move_storage() @done (14:18 09.07.2014) @project(Torrent-handle controls/options) ✔ Pause gui updates when iconized/withdrawn @done (13:58 20.07.2014) @project(Misc) ✔ Move proxy settings to its own naviframe page and don't autocollapse the frames @done (13-08-18 18:02) @project(Misc) ✔ set_max_uploads() max_uploads() @done (12:47 08.07.2014) @project(Torrent-handle controls/options) ✔ set_max_connections() max_connections() @done (12:47 08.07.2014) @project(Torrent-handle controls/options) ✔ apply_ip_filter() (status.ip_filter_applies) @done (12:47 08.07.2014) @project(Torrent-handle controls/options) ✔ super_seeding() (status.super_seeding) @done (09:49 08.07.2014) @project(Torrent-handle controls/options) ✔ set_upload_mode() (status.upload_mode) @done (09:49 08.07.2014) @project(Torrent-handle controls/options) ✔ set_share_mode() (status.share_mode) @done (09:49 08.07.2014) @project(Torrent-handle controls/options) ✔ set_sequential_download() (status.sequential_download) @done (09:49 08.07.2014) @project(Torrent-handle controls/options) ✔ Torrent properties @done (09:49 08.07.2014) @project(Torrent status info) ./epour/gui/TorrentProps.py ✔ Auto-update @done (06:42 07.07.2014) @project(Misc)