{ "info": { "author": "Ross Duggan", "author_email": "ross@duggan.ie", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Internet :: WWW/HTTP" ], "description": "# podcastbackup\n\nBack up podcasts with metadata from a feed URL. Progress indicator and resuming.\nHacky, only really tested against FeedBurner/libsyn feeds.\n\nWhen you run it, you get a directory named after the podcast with a list of `mp3` files and `metadata.json` files.\n\n```\ntree /mnt/backups/podcast/\n/mnt/backups/podcast/\n\u251c\u2500\u2500 bestshowever1.mp3.metadata.json\n\u251c\u2500\u2500 bestshowever1.mp3\n\u251c\u2500\u2500 bestshowever2.mp3.metadata.json\n\u251c\u2500\u2500 bestshowever2.mp3\n\u251c\u2500\u2500 bestshowever3.mp3.metadata.json\n\u251c\u2500\u2500 bestshowever3.mp3\n```\n\nThe `metadata.json` files look like:\n\n```json\n{\n \"text\": \"This is probably the best show yet!\",\n \"href\": \"http://bestshowever.cachefly.net/bestshowever/bestshowever42.mp3\",\n \"title\": \"Best Show Ever 42: All The Answers\"\n}\n```\n\n## In action\n\n![Screenshot of podcastbackup downloading](https://i.imgur.com/55g4iQY.gif)\n\n## Usage\n\n```\n$ pip install podcastbackup\n```\n\n```\nusage: podcastbackup [-h] -f FEED [-o OUTPUT] [-t TYPE] [-i FILTER]\n\nHelps you back up your podcasts.\n\noptional arguments:\n -h, --help show this help message and exit\n -f FEED, --feed FEED RSS feed url\n -o OUTPUT, --output OUTPUT\n Location for downloaded items\n -t TYPE, --type TYPE File extension to look for in feed items\n -i FILTER, --filter FILTER\n Apply a regular expression filter on titles\n```\n\nExample:\n\n```\n$ podcastbackup -f http://feeds.feedburner.com/se-radio\n```\n\nWorks with Python 2 and 3.\n\n## Ignores file\n\nDrop a file named `.ignores` into the download directory of a particular podcast to skip downloading particular episodes.\n\nUseful for skipping over broken / missing episodes. An example of the syntax is in the .ignores file with this repo.\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/duggan/podcastbackup", "keywords": "", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "podcastbackup", "package_url": "https://pypi.org/project/podcastbackup/", "platform": "", "project_url": "https://pypi.org/project/podcastbackup/", "project_urls": { "Homepage": "https://github.com/duggan/podcastbackup" }, "release_url": "https://pypi.org/project/podcastbackup/0.1.3/", "requires_dist": [ "feedparser", "requests", "progressbar2", "pypandoc" ], "requires_python": "", "summary": "", "version": "0.1.3" }, "last_serial": 5786596, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "ba5760047c66a0ad558b8d4feec1a898", "sha256": "98ec1dd329b0d7111bd5ff06b28ca65fc42765f063e5b9d408ace8e1450bec49" }, "downloads": -1, "filename": "podcastbackup-0.1.0.tar.gz", "has_sig": false, "md5_digest": "ba5760047c66a0ad558b8d4feec1a898", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5538, "upload_time": "2016-01-30T18:10:14", "url": "https://files.pythonhosted.org/packages/be/91/31b07a7be50d2bbc323a3a061efa5b9bbebc9f5649a63ac9012436c7a0a1/podcastbackup-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "dc36f8bacfa96259e32f4c99fcde6bfe", "sha256": "261dae5036ebd580f857512252b3fc8943160e2cc12169f9925b67808cb1420b" }, "downloads": -1, "filename": "podcastbackup-0.1.1.tar.gz", "has_sig": false, "md5_digest": "dc36f8bacfa96259e32f4c99fcde6bfe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5710, "upload_time": "2016-01-30T18:13:39", "url": "https://files.pythonhosted.org/packages/97/a7/08c92a79ed6aa9b04cf967163a30115e4bd88a41a76a88384cdf34cfa365/podcastbackup-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "2fbcad7b76cfe1e7ee3a6d13eb0c38ce", "sha256": "2e0df831267b99d344ce3d3d6673077ad23609c2293997f02748d0f3b6bf356f" }, "downloads": -1, "filename": "podcastbackup-0.1.2.tar.gz", "has_sig": false, "md5_digest": "2fbcad7b76cfe1e7ee3a6d13eb0c38ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5860, "upload_time": "2016-01-30T18:14:20", "url": "https://files.pythonhosted.org/packages/e8/a3/cbef9a5928db365ae5a314f961a4bf5f7f34b76bc422fa9572d7d1be71cf/podcastbackup-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "199044be291db31682ab8fb1239c2619", "sha256": "05585e67bbb6a7c40604b31b223fceffa04550768ea7c5ce5d6f3033d0eeca79" }, "downloads": -1, "filename": "podcastbackup-0.1.3-py2-none-any.whl", "has_sig": false, "md5_digest": "199044be291db31682ab8fb1239c2619", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6575, "upload_time": "2019-09-05T13:37:48", "url": "https://files.pythonhosted.org/packages/76/9a/f4d0fd7d5824cef626a7a94223678b2bf67b7d417ad227e4644cc71d25d8/podcastbackup-0.1.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "630f680d3d5b925869d590f716725106", "sha256": "d162386f538de9eeaeb975d0fe88c12530cfe7e6428eca5a4ef64f08f8b9835b" }, "downloads": -1, "filename": "podcastbackup-0.1.3.tar.gz", "has_sig": false, "md5_digest": "630f680d3d5b925869d590f716725106", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5808, "upload_time": "2019-09-05T13:37:49", "url": "https://files.pythonhosted.org/packages/84/e4/cee65a6bb2b5203c8631a1cc9ca17341a6a219e20c7b11832199e7e28a4b/podcastbackup-0.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "199044be291db31682ab8fb1239c2619", "sha256": "05585e67bbb6a7c40604b31b223fceffa04550768ea7c5ce5d6f3033d0eeca79" }, "downloads": -1, "filename": "podcastbackup-0.1.3-py2-none-any.whl", "has_sig": false, "md5_digest": "199044be291db31682ab8fb1239c2619", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6575, "upload_time": "2019-09-05T13:37:48", "url": "https://files.pythonhosted.org/packages/76/9a/f4d0fd7d5824cef626a7a94223678b2bf67b7d417ad227e4644cc71d25d8/podcastbackup-0.1.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "630f680d3d5b925869d590f716725106", "sha256": "d162386f538de9eeaeb975d0fe88c12530cfe7e6428eca5a4ef64f08f8b9835b" }, "downloads": -1, "filename": "podcastbackup-0.1.3.tar.gz", "has_sig": false, "md5_digest": "630f680d3d5b925869d590f716725106", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5808, "upload_time": "2019-09-05T13:37:49", "url": "https://files.pythonhosted.org/packages/84/e4/cee65a6bb2b5203c8631a1cc9ca17341a6a219e20c7b11832199e7e28a4b/podcastbackup-0.1.3.tar.gz" } ] }