{ "info": { "author": "Bert Vanderbauwhede", "author_email": "batlock666@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": ".. contents::\n\nIntroduction\n============\n\nThe codec ``safename`` is meant to rename files to safe filenames. These\nsafe filenames have the following properties:\n\n- The safe filenames are valid on most filesystems.\n- The safe filenames can be restored to the original filenames.\n- The safe filenames are more or less readable.\n\nExamples:\n\n+-----------------+-----------------+\n| Input | Output |\n+=================+=================+\n| ``spam`` | ``spam`` |\n+-----------------+-----------------+\n| ``Spam`` | ``{s}pam`` |\n+-----------------+-----------------+\n| ``SPAM`` | ``{spam}`` |\n+-----------------+-----------------+\n| ``spam eggs`` | ``spam_eggs`` |\n+-----------------+-----------------+\n| ``spam eggs`` | ``spam___eggs`` |\n+-----------------+-----------------+\n| ``sp\u00e0m`` | ``sp(e0)m`` |\n+-----------------+-----------------+\n\nThe script ``safename`` will rename a list of files, by applying the codec\n``safename`` to the current filenames.\n\n\nInstallation\n============\n\nInstall the distribution from source::\n\n $ python setup.py install\n\nOr install with ``easy_install``::\n\n $ easy_install fnord.safename\n\n\nCodec\n=====\n\nImport the package ``fnord.safename`` to register the codec ``safename``::\n\n >>> import fnord.safename\n\nNow you can encode and decode strings::\n\n >>> \"Spam\".encode(\"safename\")\n '{s}pam'\n >>> \"{s}pam\".decode(\"safename\")\n 'Spam'\n\n\nScript\n======\n\n::\n\n safename [-d|--decode] [-t|--test] [-v|--verbose] [FILE ...]\n safename [-e|--encode] [-t|--test] [-v|--verbose] [FILE ...]\n\n--decode, -d decode from safe filenames for the given files\n--encode, -e encode to safe filenames for the given files\n--recursive, -r decode or encode filenames recursively\n--test, -t don't rename the files\n--verbose, -v print out every renaming operation\n\n\nRemarks\n=======\n\nBased on the module ``safefilename`` from Torsten Bronger's\n`Bobcat project `_. The implementation is my\nown.\n\nContributors\n============\n\n- Bert Vanderbauwhede , Author\n\nChangelog\n=========\n\n\n0.5 (2013-08-17)\n----------------\n\n- Refactor code to use class ``re.Scanner`` [Bert Vanderbauwhede]\n\n\n0.4 (2013-08-11)\n----------------\n\n- Refactor code to use package ``fnord.easycodec`` [Bert Vanderbauwhede]\n\n\n0.3 (2013-08-10)\n----------------\n\n- Add option ``--recursive`` to the script [Bert Vanderbauwhede]\n- Synchronize documentation for options [Bert Vanderbauwhede]\n- Change error-messages [Bert Vanderbauwhede]\n\n\n0.2 (2013-07-28)\n----------------\n\n- Fix handling of exceptions [Bert Vanderbauwhede]\n- Clean up and expand readme [Bert Vanderbauwhede]\n- Change license to LGPL [Bert Vanderbauwhede]\n- Add tests [Bert Vanderbauwhede]\n- Add buildout [Bert Vanderbauwhede]\n\n\n0.1 (2013-07-14)\n----------------\n\n- Package created using templer [Bert Vanderbauwhede]\n- First implementation [Bert Vanderbauwhede]", "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/batlock666/fnord.safename", "keywords": "codec safename", "license": "lgpl", "maintainer": null, "maintainer_email": null, "name": "fnord.safename", "package_url": "https://pypi.org/project/fnord.safename/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/fnord.safename/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/batlock666/fnord.safename" }, "release_url": "https://pypi.org/project/fnord.safename/0.5/", "requires_dist": null, "requires_python": null, "summary": "A codec for safe filenames.", "version": "0.5" }, "last_serial": 842374, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "cd46a4be7101dcf445756d92150cc7bb", "sha256": "95cc439309c074a07a29987c55182c1e78dd9a8434878e546b1c2d07211eda58" }, "downloads": -1, "filename": "fnord.safename-0.1-py2.7.egg", "has_sig": false, "md5_digest": "cd46a4be7101dcf445756d92150cc7bb", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 8989, "upload_time": "2013-07-14T15:00:12", "url": "https://files.pythonhosted.org/packages/5c/21/cee392471a35f41bf8b15cc43f2e22b65c7785f2b29163348f22db6588c8/fnord.safename-0.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "8beb232611f7f2b5331025e3a85ae4da", "sha256": "f1d0413815cac2d5a202591c99cf31c6582128b37c4bef5df8a1d762fee6ce1d" }, "downloads": -1, "filename": "fnord.safename-0.1.tar.gz", "has_sig": false, "md5_digest": "8beb232611f7f2b5331025e3a85ae4da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11145, "upload_time": "2013-07-14T15:00:01", "url": "https://files.pythonhosted.org/packages/e0/3a/afadb33905c5f1ac5e3578ab5a25953769ff6163cea1b6b5840018e64ffb/fnord.safename-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "d142c30b638a86913d1ebd23b41c8a02", "sha256": "f9a20c7c40270368579aebde29d06d5d96d54ea0c31a979652ba016d1be41bf1" }, "downloads": -1, "filename": "fnord.safename-0.2.tar.gz", "has_sig": false, "md5_digest": "d142c30b638a86913d1ebd23b41c8a02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8336, "upload_time": "2013-07-28T13:12:41", "url": "https://files.pythonhosted.org/packages/d2/a1/018e22599ff8b046ac6ca44e2c81c779c5f157bf34afbd79747b5be9fcf1/fnord.safename-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "7ec2be9dd344d586858afb3950fcef39", "sha256": "0c739bbae9467cc613699d23ce35ca979d9cac0f689e2bd158a562c63fe24e16" }, "downloads": -1, "filename": "fnord.safename-0.3.tar.gz", "has_sig": false, "md5_digest": "7ec2be9dd344d586858afb3950fcef39", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8620, "upload_time": "2013-08-10T19:23:07", "url": "https://files.pythonhosted.org/packages/e9/11/9f9c9882fc258f2b94072ba46967e9bbf9a5d90a6a7f9cdb313304ba5830/fnord.safename-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "bd3b558f67b9d7ba4a99c0541aa57975", "sha256": "c7f13196ecb562eb4c5574534cc5b2a6b3fff4c86ea6ff56656791500fbaef0a" }, "downloads": -1, "filename": "fnord.safename-0.4.tar.gz", "has_sig": false, "md5_digest": "bd3b558f67b9d7ba4a99c0541aa57975", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8282, "upload_time": "2013-08-11T19:55:15", "url": "https://files.pythonhosted.org/packages/8e/fc/c6a63d02e10fbb00be845fe620861239ea973a2fab50d6f3f816c0c7d723/fnord.safename-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "36cfff26e7d92c2e2b11bc0f7eaed64d", "sha256": "af56c10f1080ee68461450ebb6f55642a7353363e2ba63df97aa224a099e8ada" }, "downloads": -1, "filename": "fnord.safename-0.5.tar.gz", "has_sig": false, "md5_digest": "36cfff26e7d92c2e2b11bc0f7eaed64d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7913, "upload_time": "2013-08-17T20:18:39", "url": "https://files.pythonhosted.org/packages/b8/b1/d32a2d699717c88380e65a1e6b2c8674eefaf05c67509a50f835bc4d474c/fnord.safename-0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "36cfff26e7d92c2e2b11bc0f7eaed64d", "sha256": "af56c10f1080ee68461450ebb6f55642a7353363e2ba63df97aa224a099e8ada" }, "downloads": -1, "filename": "fnord.safename-0.5.tar.gz", "has_sig": false, "md5_digest": "36cfff26e7d92c2e2b11bc0f7eaed64d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7913, "upload_time": "2013-08-17T20:18:39", "url": "https://files.pythonhosted.org/packages/b8/b1/d32a2d699717c88380e65a1e6b2c8674eefaf05c67509a50f835bc4d474c/fnord.safename-0.5.tar.gz" } ] }