{ "info": { "author": "Patilla Code", "author_email": "patillacode@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: Public Domain", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3.6", "Topic :: Utilities" ], "description": "converter-cli\n=============\n\n*A media converter command line program in Python.*\n\n\nPurpose\n-------\n\nThis is a custom Python (3) CLI for converting media files\n\nI've done this to make it easy to convert my media files into different\nformats, bitrates and whatnot without having to remember the ffmpeg syntax for\neach case.\n\nIt does NOT cover all ffmpeg options (I just wanted a few) but it is possible to add them.\n\n\nInstall\n-------\n\nPlug & Play:\n\n $ pip3 install converter-cli\n\n\nIf you want to play around with the code I'd recommend creating a virtual environment first (with python3):\n\n $ mkvirtualenv --python=/usr/local/bin/python3 converter-cli\n\n\nAnd then:\n\n $ git clone https://github.com/patillacode/converter-cli.git\n\n $ cd converter-cli\n\n $ pip install -r requirements-dev.txt\n\n $ python setup.py develop\n\n\nUnit Tests\n----------\n\n $ py.test tests\n\nUsage\n-----\n\nThe idea is for the CLI to ask you for the necessary information in order to work,\nthe only thing you should know is that if what you are interested in is converting audio\nyou should use the `audio` command:\n\n $ converter-cli audio\n\nIf you are interested in converting video files then\nuse command `video`:\n\n $ converter-cli video\n\n\nFull command list follows:\n\n Usage:\n converter-cli hello\n converter-cli audio\n converter-cli audio [-m | --multiple] [--verbose] [-n | --no-confirm]\n converter-cli video\n converter-cli video [-m | --multiple] [--verbose] [-n | --no-confirm]\n converter-cli -h | --help\n converter-cli -v | --version\n\n Options:\n -h --help Show this screen.\n -v --version Show version.\n -m --multiple Convert all files within a given folder\n -n --no-confirm Avoid user confirmation before converting\n --verbose Redirect converting process to stdout\n\n\nBy default the CLI will be used to convert one file, but the `-m`/`--multiple` option will allow you to do multiple files at once:\n\n $ converter-cli video -m\n\nAlso by default, the CLi will hide the output of the ffmpeg command in favor of a more readable custom line,\nunless the `--verbose` option is specified:\n\n $ converter-cli audio --verbose\n\n\nExamples\n--------\n\nConvert a .wav audio file into a .mp3 file:\n\n $ converter-cli audio\n\nYou will be presented with the following:\n\n Please choose an option:\n 1) Convert to .mp3 (320k)\n 2) Convert to .wav\n Enter option number:\n\nInsert the option number in this case `1` and this will show up:\n\n Enter path to source file:\n\nHere we will enter something like `/path/to/file/music.wav` and hit enter.\n\n Enter path to destination folder (Enter for same folder as source):\n\nNotice if your click enter without specifying any path then the output file will\nbe in the same directory as the source file `/path/to/file/`\n\nNext thing to happen will be (unless the `--no-confirm option` was given):\n\n\n WARNING\n\n Output file will be called the same as the original\n with the proper extension (.mp4, .mp3, ...) which\n may cause an overwrite - YOU HAVE BEEN WARNED\n\n\n You are about to convert file /path/to/file/music.wav into a .mp3 file to be saved in folder /path/to/file/\n\n Please confirm action above [y/n]:\n\nI have added the confirmation process with the warning message to give the user the option to review what is going to happen,\nI might add the option in the future to bypass this.\n\nYou can just hit enter, or type `y` and hit enter, anything else will stop the process.\n\nOnce you accept, this will show up:\n\n Converting source /path/to/file/music.wav into output /path/to/file/music.mp3 ...\n\n (\u3063\u25d5\u203f\u25d5)\u3063 Conversion completed \u2282(\u00b4\uff65\u25e1\uff65\u2282 )\u2218\u02da\n\n\nAs you can see the CLI asks the user for all needed data and provides the user with explicit messages of what is happening.\nThe rest of the commands have the same flow, just read what it asks for :)\n\n\nDemo\n----\n\n[![asciicast](https://asciinema.org/a/210664.svg)](https://asciinema.org/a/210664)\n\n\nDependencies\n------------\n- [ffmpeg-python](https://github.com/kkroening/ffmpeg-python)\n- [docopt](https://github.com/docopt/docopt)\n- [termcolor](https://pypi.org/project/termcolor/)\n\n\nContributing\n------------\n\nFeel free to report any bugs or submit feature requests.\n\nPull requests are welcome as well.\n\n\nSpecial thanks\n--------------\n\n- [Michal Klich](https://github.com/inirudebwoy)\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/patillacode/converter-cli", "keywords": "cli,converter,video,audio", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "converter-cli", "package_url": "https://pypi.org/project/converter-cli/", "platform": "", "project_url": "https://pypi.org/project/converter-cli/", "project_urls": { "Homepage": "https://github.com/patillacode/converter-cli" }, "release_url": "https://pypi.org/project/converter-cli/1.0.6/", "requires_dist": [ "docopt", "ffmpeg-python", "termcolor", "coverage; extra == 'test'", "pytest; extra == 'test'", "pytest-cov; extra == 'test'", "mock; extra == 'test'" ], "requires_python": "", "summary": "A media converter command line program in Python.", "version": "1.0.6" }, "last_serial": 4463517, "releases": { "1.0.3": [ { "comment_text": "", "digests": { "md5": "0ef9d5a73b2880851f574b42edd47a67", "sha256": "2e58da9299b73b4402400330ccada2eb1adeecccc72b9b726a6cd5d66b479f73" }, "downloads": -1, "filename": "converter_cli-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0ef9d5a73b2880851f574b42edd47a67", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13292, "upload_time": "2018-10-20T23:01:01", "url": "https://files.pythonhosted.org/packages/6a/20/3901e88e508c6b40b47d82d475045bb24e8c8cf815b96d47eb4b3557ebd3/converter_cli-1.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4f21bb71a941e4ad6e10c74b762a5848", "sha256": "903b5b6233a503ca09bd00862f9a0fe9cc7d1c829e0accc42efb01d87ca988c3" }, "downloads": -1, "filename": "converter-cli-1.0.3.tar.gz", "has_sig": false, "md5_digest": "4f21bb71a941e4ad6e10c74b762a5848", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6981, "upload_time": "2018-10-20T23:01:03", "url": "https://files.pythonhosted.org/packages/71/9b/b96619ca64e31ad4ffcf9fce5bb786b04c6c974c96ff50a0f99973deebf2/converter-cli-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "1aabfb97478186d8b4c44cb265432e55", "sha256": "1f23478edd520d9753cceecc9cf691e7d2be90b57b85365a17c8d41170dcc334" }, "downloads": -1, "filename": "converter_cli-1.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1aabfb97478186d8b4c44cb265432e55", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14042, "upload_time": "2018-10-26T01:16:22", "url": "https://files.pythonhosted.org/packages/69/b4/2fede4cd94419d66a3962e96e88c74df8d6c6cadf85f60e44e2d6c225fce/converter_cli-1.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "db7bcd1b24d521599d5f46f428b7a050", "sha256": "9c3fa18510cc391422cef91ac853bb2273b467722201c23297143f47ed729e53" }, "downloads": -1, "filename": "converter-cli-1.0.4.tar.gz", "has_sig": false, "md5_digest": "db7bcd1b24d521599d5f46f428b7a050", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7368, "upload_time": "2018-10-26T01:16:23", "url": "https://files.pythonhosted.org/packages/82/3e/f34b1a39365aeef2b2d709a6b4d58f36d4f988699dce4c531f34b3fecd6c/converter-cli-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "e5bff00640830ec8dd57f95cb4d2ae3a", "sha256": "d93c1999da9a88b229e8503bbb7b2e414caefd7cbc60de262ad5abebada14bda" }, "downloads": -1, "filename": "converter_cli-1.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e5bff00640830ec8dd57f95cb4d2ae3a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14064, "upload_time": "2018-11-07T23:28:41", "url": "https://files.pythonhosted.org/packages/27/40/db89e145c662ca57b3e5c99e624006ee926e716506ab79a7439cfdd9246d/converter_cli-1.0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "739def86eaca17aada3ef30a6ab43c50", "sha256": "3afc0adc6395ad5bc45730f2c36a56e133dbef77a821eb1bf537e4b3adc90b90" }, "downloads": -1, "filename": "converter-cli-1.0.5.tar.gz", "has_sig": false, "md5_digest": "739def86eaca17aada3ef30a6ab43c50", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12346, "upload_time": "2018-11-07T23:28:45", "url": "https://files.pythonhosted.org/packages/3d/78/a3d140e9a927ee8ec9bdc1d02da60f8f9db95dbb04ce14ed514b0e9948f6/converter-cli-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "8ff8c3eb59a60dd3f1143b54ab0e2cc2", "sha256": "915e9c70f1434ce09d64501e85c442ea195a62c1e58f0cc2206da316ad7e2dab" }, "downloads": -1, "filename": "converter_cli-1.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8ff8c3eb59a60dd3f1143b54ab0e2cc2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14124, "upload_time": "2018-11-07T23:28:43", "url": "https://files.pythonhosted.org/packages/a4/88/c00250556334dc59bb9235d3981fc05437837d3218847c7eaceb4d51d548/converter_cli-1.0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "563ab5627a715dba4af2384da4ec33fd", "sha256": "472f6e94c28c6d51c61cec6bb83a226316943b5c97cf52c4025b1303e9582b98" }, "downloads": -1, "filename": "converter-cli-1.0.6.tar.gz", "has_sig": false, "md5_digest": "563ab5627a715dba4af2384da4ec33fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12390, "upload_time": "2018-11-07T23:28:46", "url": "https://files.pythonhosted.org/packages/8e/d0/bb6653be93d3433805b7cc8edaf8762cb9f6dbefcd0dfb5c862e0e9fca61/converter-cli-1.0.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8ff8c3eb59a60dd3f1143b54ab0e2cc2", "sha256": "915e9c70f1434ce09d64501e85c442ea195a62c1e58f0cc2206da316ad7e2dab" }, "downloads": -1, "filename": "converter_cli-1.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8ff8c3eb59a60dd3f1143b54ab0e2cc2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14124, "upload_time": "2018-11-07T23:28:43", "url": "https://files.pythonhosted.org/packages/a4/88/c00250556334dc59bb9235d3981fc05437837d3218847c7eaceb4d51d548/converter_cli-1.0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "563ab5627a715dba4af2384da4ec33fd", "sha256": "472f6e94c28c6d51c61cec6bb83a226316943b5c97cf52c4025b1303e9582b98" }, "downloads": -1, "filename": "converter-cli-1.0.6.tar.gz", "has_sig": false, "md5_digest": "563ab5627a715dba4af2384da4ec33fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12390, "upload_time": "2018-11-07T23:28:46", "url": "https://files.pythonhosted.org/packages/8e/d0/bb6653be93d3433805b7cc8edaf8762cb9f6dbefcd0dfb5c862e0e9fca61/converter-cli-1.0.6.tar.gz" } ] }