{ "info": { "author": "Brandon W Maister", "author_email": "quodlibetor@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Topic :: System :: Archiving", "Topic :: System :: Archiving :: Backup", "Topic :: System :: Archiving :: Packaging" ], "description": "==========\nZip Please\n==========\n\nA script to help you zip playlists.\n\nHomepage: http://bitbucket.org/quodlibetor/zipls\n\n.. contents::\n\n\nInstallation\n============\n\nTo make this work best you want to have pip\n(http://pypi.python.org/pypi/pip) installed, although technically it\nis possible to install it without it.\n\nFrom a terminal, (Terminal.app if you're on a Mac, or whatever turns\nyou on) after installing pip, do::\n\n sudo pip install argparse mutagen zipls\n\nThat should do it. If it doesn't, please contact_ me.\n\nUsage\n=====\n\nUsers\n-----\n\nGraphical Use\n~~~~~~~~~~~~~\n\nAfter installation there should be a program ``zipls`` that you can\nrun. Run it.\n\nThat is to say that, in general, if you run zipls without any\narguments it will give you a gui.\n\nIf you run it from a command line with playlist files as arguments,\nyou can give it the ``-g`` switch to make it still run in graphical\nmode. All arguments given to the command line should still apply even\nif run in graphics mode.\n\nCommand Line\n~~~~~~~~~~~~\n\nTypically::\n\n zipls PLAYLIST.pls\n\nthat'll generate a zip file PLAYLIST.zip with a folder PLAYLIST inside\nof it with all the songs pointed to by PLAYLIST.pls.\n\nAnd of course::\n\n zipls --help\n\nworks. (Did you think I was a jerk?)\n\nProgrammers\n-----------\n\nBasically all you care about is the ``Songs`` class from zipls. It\ntakes a path, or list of paths, to a playlist and knows how to zip\nthem::\n\n from zipls import Songs\n\n songs = Songs(\"path/to/playlist.m3u\")\n\n # __init__ just goes through add():\n songs.add(\"path/to/another/playlist.xspf\")\n # lists of paths also work:\n songs.add(['another.pls', 'something/else.m3u'])\n\n songs.zip_em('path/to/zipcollection')\n\nExtending\n~~~~~~~~~\n\nFirst of all, just email me with an example of the playlist that you\nwant zipls to parse and I'll do it. But if you want to *not*\nmonkey-patch it:\n\nIf you want to add a new playlist format with extension EXT: subclass\n``Songs`` and implement a function ``_songs_from_EXT(self,\n'path/to/pls')`` that expects to receive a path to the playlist.\n\nSimilarly, if you want to add audio format reading capabilities\nsubclass ``Song`` (singular) and create a ``_set_artist_from_EXT``, where\nEXT is the extension of the music format you want to add. You'll also\nneed to initialize ``Songs`` with your new song class.\n\nSo if I wanted to add ``.spf`` playlists and ``.mus`` audio::\n\n class MusSong(zipls.Song):\n def _set_artist_from_mus(self):\n # and then probably:\n from mutagen.mus import Mus\n self.artist = Mus(self.path)['artist'][0]\n class SpfSongs(zipls.Songs):\n def _songs_from_spf(self, playlist):\n # add songs\n\n songs = SpfSongs('path/to/playlist', MusSong)\n\n\nWorks With\n----------\n\nplaylist formats:\n\n - .pls\n - .xspf\n - .m3u\n\nA variety of common audio formats. (Ogg Vorbis, MP3/4, FLAC...)\nBasically everything supported by mutagen_ should work\n\n.. _contact:\n\nContact and Copying\n===================\n\nMy name's Brandon, email me at quodlibetor@gmail.com, and the project\nhome page is http://bitbucket.org/quodlibetor/zipls .\n\nBasically do whatever you want, and if you make something way better\nbased on this, lemme know.\n\nCopyright (C) 2010 Brandon W Maister quodlibetor@gmail.com\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program. If not, see .\n\n.. _mutagen: https://code.google.com/p/mutagen/", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://bitbucket.org/quodlibetdor/zipls", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "zipls", "package_url": "https://pypi.org/project/zipls/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/zipls/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://bitbucket.org/quodlibetdor/zipls" }, "release_url": "https://pypi.org/project/zipls/0.2/", "requires_dist": null, "requires_python": null, "summary": "A script to zip your playlists", "version": "0.2" }, "last_serial": 745243, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "1658f5d3fc728e4e428a6f215bcb673e", "sha256": "5d907e9d91e1b0e9078a7b1e83b75d86873392f188664863fc04e4b0ee9c73dd" }, "downloads": -1, "filename": "zipls-0.1.tar.gz", "has_sig": false, "md5_digest": "1658f5d3fc728e4e428a6f215bcb673e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20305, "upload_time": "2010-12-23T20:01:08", "url": "https://files.pythonhosted.org/packages/a2/bd/6e5e67f6475bc84995c3a738d693099d32210b0eb4d2b014806059e53561/zipls-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "99643d22863235b6af907b124c85b130", "sha256": "0677628a8ba7caec273766e3bf48eddcd734073284f3a23d4200a5a4f96f7e86" }, "downloads": -1, "filename": "zipls-0.2.tar.gz", "has_sig": false, "md5_digest": "99643d22863235b6af907b124c85b130", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26095, "upload_time": "2011-01-23T01:54:00", "url": "https://files.pythonhosted.org/packages/6a/5b/b053cf48499de2812aafde2328243f2b0b25c37a017c86c4fdcca478fe95/zipls-0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "99643d22863235b6af907b124c85b130", "sha256": "0677628a8ba7caec273766e3bf48eddcd734073284f3a23d4200a5a4f96f7e86" }, "downloads": -1, "filename": "zipls-0.2.tar.gz", "has_sig": false, "md5_digest": "99643d22863235b6af907b124c85b130", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26095, "upload_time": "2011-01-23T01:54:00", "url": "https://files.pythonhosted.org/packages/6a/5b/b053cf48499de2812aafde2328243f2b0b25c37a017c86c4fdcca478fe95/zipls-0.2.tar.gz" } ] }