{ "info": { "author": "Tom Lazar", "author_email": "tom@tomster.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 2.5", "Programming Language :: Python :: 2.6", "Topic :: Communications :: File Sharing", "Topic :: Multimedia :: Video" ], "description": "tvbutler reads RSS feeds from http://tvtorrents.com and downloads torrents of new episodes for you in your preferred quality (but is smart enough to fallback to non-HD versions, if available).\r\n\r\nUsage\r\n=====\r\n\r\n``tvbutler`` is designed to work as a ``crontab`` or ``launchd`` entry: called without any parameters it will download all given feeds, try to identify shows and then figure out which episodes are available in which quality.\r\n\r\nIt then downloads the torrent files into the given target directory (which typically will be 'watched' by a torrent client).\r\n\r\ntvbutler keeps a log of its activities in `~/.tvbutler/log` and a (sqlite) database of known shows and episodes in `~/.tvbutler/database.db`\r\n\r\nConfiguration\r\n=============\r\n\r\nThe configuration lives in `~/.tvbutler/config`. If it doesn't exist, tvbutler will create a sample configuration *when it's run for the first time*. It has some comments and should thus be pretty self-explanatory::\r\n\r\n [main]\r\n torrent_download_dir=~/Downloads/\r\n # one of sd, 720p, 1080p\r\n preferred_quality=720p\r\n \r\n # one per line, indented\r\n feeds =\r\n http://www.tvtorrents.com/mytaggedRSS?digest=xxxxx\r\n http://www.tvtorrents.com/mydownloadRSS?digest=xxxx\r\n\r\nSince tvbutler is aimed at downloading new episodes of currently running shows as they are released, it excludes by default all torrents it recognizes as archives of entire seasons. It does so by excluding all torrents whose description matches a regular expression. If you have a ``global_exclude_regex`` entry in the ``[main]`` section of your configuration it will be applied, if it's missing, nothing will be filtered. The default looks like so::\r\n\r\n global_exclude_regex=(all.month|month.of|season[\\s\\d]*complete)\r\n\r\nInstallation\r\n============\r\n\r\nJust install `easy_install` like so::\r\n\r\n easy_install tvbutler\r\n\r\nAlternatively, download the archive, expand it and run::\r\n\r\n python setup.py install\r\n\r\nThis will install the command line executable ``tvbutler`` mentioned above. \r\n\r\nTODO\r\n====\r\n\r\n * archive or delete files older than `n` days (perhaps base decision on tag)\r\n * remove torrents from transmission that have reached their seeding limit\r\n\r\nHistory\r\n=======\r\n\r\n0.1.b1 - 2011-01-12\r\n-------------------\r\n\r\n* Documentation cleanup (thanks to `claytron `_)\r\n* Fix for shows with ':' in their name (thanks to `plambert `_), fixes https://github.com/tomster/tvbutler/pull/5\r\n\r\n0.1a5 - 2010-12-17\r\n------------------\r\n\r\n* robustness fix (tvbutler would barf on some entries and stop processing the remaining entries)\r\n* log to stdout, too to get instant feedback when calling tvbutler from console\r\n\r\n0.1a4 - 2010-12-08\r\n------------------\r\n\r\n* added global regular expression filter (defaults to skip archives of\r\n seasons)\r\n\r\n `UPGRADE NOTE`: add ``global_exclude_regex=(all.month|month.of|season[\\s\\d]*complete)``\r\n to the ``[main]`` section your existing config to activate this feature.\r\n\r\n0.1a3 - 2010-12-05\r\n------------------\r\n\r\n* added logging\r\n\r\n\r\n0.1a2 - 2010-12-05\r\n------------------\r\n\r\nInitial release (0.1a was nuked due to packaging foobar)", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tomster/tvbutler", "keywords": "rss bittorrent tv", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "tvbutler", "package_url": "https://pypi.org/project/tvbutler/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/tvbutler/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/tomster/tvbutler" }, "release_url": "https://pypi.org/project/tvbutler/0.1b1/", "requires_dist": null, "requires_python": null, "summary": "tvbutler reads RSS feeds from http://tvtorrents.com and downloads torrents of new episodes for you in your preferred quality", "version": "0.1b1" }, "last_serial": 801020, "releases": { "0.1a": [ { "comment_text": "", "digests": { "md5": "076de875adb37ad8d8ee7f157f268ef5", "sha256": "8200bfe9c10595394d4040e82a858248a839af10dda98566159f664350627ac4" }, "downloads": -1, "filename": "tvbutler-0.1a.zip", "has_sig": false, "md5_digest": "076de875adb37ad8d8ee7f157f268ef5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11777, "upload_time": "2010-12-05T21:47:30", "url": "https://files.pythonhosted.org/packages/29/7b/1c9b91428d9fd831ff80f75d7f737ba0a8bd14e1509d939efb1d3bd6fdb5/tvbutler-0.1a.zip" } ], "0.1a2": [ { "comment_text": "", "digests": { "md5": "9a5ff0b12f4f79aafee039fb5cdf088a", "sha256": "da1812f381125cd69a163222a938b9710de3208b89d282ed7ff33bb98e80f385" }, "downloads": -1, "filename": "tvbutler-0.1a2.zip", "has_sig": false, "md5_digest": "9a5ff0b12f4f79aafee039fb5cdf088a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12107, "upload_time": "2010-12-05T22:21:18", "url": "https://files.pythonhosted.org/packages/2c/60/6e58d2c98be162a5fb8e6ec020315acec8760f47293a7c12924b17fcd0cd/tvbutler-0.1a2.zip" } ], "0.1a3": [ { "comment_text": "", "digests": { "md5": "b4f8212532b7689504afbeaba0a75900", "sha256": "4103727a620ca216443962e5bde097f1665072f429ea7a4ee12afbc9d447867a" }, "downloads": -1, "filename": "tvbutler-0.1a3.zip", "has_sig": false, "md5_digest": "b4f8212532b7689504afbeaba0a75900", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12267, "upload_time": "2010-12-05T23:15:01", "url": "https://files.pythonhosted.org/packages/a6/47/2622711948d0b3c5fbaca9fd5841902cc3489ef03e93bf9ab278db30605a/tvbutler-0.1a3.zip" } ], "0.1a4": [ { "comment_text": "", "digests": { "md5": "daf8c3b4d02d8bfa7de6758c0f5a2194", "sha256": "c7021d3d3961358abf0cbacc32089167ef4b8d9f82f6b68380a6f91a6f5331c5" }, "downloads": -1, "filename": "tvbutler-0.1a4.zip", "has_sig": false, "md5_digest": "daf8c3b4d02d8bfa7de6758c0f5a2194", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13989, "upload_time": "2010-12-08T21:36:09", "url": "https://files.pythonhosted.org/packages/ed/af/51b697fc9e18f915333ea379473c1bf2e821977d8a179db477397fca056e/tvbutler-0.1a4.zip" } ], "0.1a5": [ { "comment_text": "", "digests": { "md5": "5a04f2d26c1426819c8cb2e835abc660", "sha256": "5b5e7129c4347e0151f5f83158848895cc3b52c53087bba7634a991bb1136594" }, "downloads": -1, "filename": "tvbutler-0.1a5.zip", "has_sig": false, "md5_digest": "5a04f2d26c1426819c8cb2e835abc660", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14680, "upload_time": "2010-12-17T20:01:36", "url": "https://files.pythonhosted.org/packages/02/7b/b2e957b00e86f2f3b694abb56a3fbe5635d3274d10b80696974f9b3dbbdc/tvbutler-0.1a5.zip" } ], "0.1b1": [ { "comment_text": "", "digests": { "md5": "0b2d7e18e15a08548976ae7cee8540bd", "sha256": "8cd60e0d6140bb75388dc3bba3a91b48f1365276bfbf1bb4c733dbb36cb74a7a" }, "downloads": -1, "filename": "tvbutler-0.1b1.zip", "has_sig": false, "md5_digest": "0b2d7e18e15a08548976ae7cee8540bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15429, "upload_time": "2011-01-12T01:20:59", "url": "https://files.pythonhosted.org/packages/f0/e0/d101cd719e30279308787f8c0ada6375e21d67e1b985da1bf7a8a241542a/tvbutler-0.1b1.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0b2d7e18e15a08548976ae7cee8540bd", "sha256": "8cd60e0d6140bb75388dc3bba3a91b48f1365276bfbf1bb4c733dbb36cb74a7a" }, "downloads": -1, "filename": "tvbutler-0.1b1.zip", "has_sig": false, "md5_digest": "0b2d7e18e15a08548976ae7cee8540bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15429, "upload_time": "2011-01-12T01:20:59", "url": "https://files.pythonhosted.org/packages/f0/e0/d101cd719e30279308787f8c0ada6375e21d67e1b985da1bf7a8a241542a/tvbutler-0.1b1.zip" } ] }