{ "info": { "author": "Uploadcare team", "author_email": "hello@uploadcare.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "================================\nMIGRO: Uploadcare migration tool\n================================\n\nMigro helps you migrate to Uploadcare from other cloud file management\nservices like Filestack, Cloudinary, etc.\nCurrently, we support migrating from Filestack, but you can migrate\nfrom other services too: you'll just need to provide your file URLs for import.\n\nInstallation\n------------\n\nThis utility requires Python version 3.5.3 or later.\n\nIn order to install ``migro``, simply run:\n\n.. code-block:: console\n\n $ pip install uploadcare-migro\n\n\nUsage\n-----\n.. code-block:: console\n\n $ migro \n\nWhere:\n\n```` \u2014 Your Uploadcare project `public key`_.\n\n```` \u2014 A text file containing a list of file URLs\nto be uploaded to your Uploadcare project.\n\nOther options:\n\n.. code-block::\n\n -v, --version Show utility version and quit.\n\n -h, --help Show this help and quit.\n\n --output_file FILE Path to a Migro output file. [default:\n migro_result.txt]\n\n --upload_base TEXT Base URL for uploads. [default:\n https://upload.uploadcare.com/]\n\n --from_url_timeout FLOAT Number of seconds to wait till the file will be\n processed by `from_url` upload. [default: 30]\n\n --max_uploads INTEGER Maximum number of upload requests running in\n 'parallel'. [default: 20]\n\n --check_interval FLOAT Number of seconds in between status check\n requests.\n\n\nOutput file format\n------------------\n\nThe output file format is quite simple.\nFor each input file URL or Filestack file handle, there are 3 columns divided by the \\t symbol (tab).\n\nThe first column holds input file URL or Filestack handle itself,\nsecond column \u2014 upload operation status: success or fail,\nthird column \u2014 output Uploadcare URL or error description.\n\nFor instance, you're willing to migrate the three following files to Uploadcare\nwhere the first two are presented as URLs and the third one as Filestack file\nhandle. Also, that's how your input text file will then be structured:\n\n.. code-block::\n\n https://cdn.filestackcontent.com/YBLVVdUpRqC4nOynxDd8\n https://www.facebook.com/rsrc.php/v3/y7/r/dTQOHZm7Z-3.svg\n uNWvPRXJQmO49MJbPZn9\n\nThat's what you get in your Migro output file for those input entries:\n\n.. code-block::\n\n https://cdn.filestackcontent.com/YBLVVdUpRqC4nOynxDd8 success https://ucarecdn.com/d8f8de4b-f92e-41a0-b7f9-28fd4baad9ae/\n https://www.facebook.com/rsrc.php/v3/y7/r/dTQOHZm7Z-3.svg success https://ucarecdn.com/4a03f3d4-2bd3-456e-89a5-008190980248/\n https://cdn.filestackcontent.com/uNWvPRXJQmO49MJbPZn9 fail Uploading of these files types is not allowed on your current plan.\n\nHow migration works\n-------------------\n\nThe migration itself is fairly simple: you provide a list of file URLs\nor Filestack file handlers, and those files get uploaded to your Uploadcare\nproject. That's it.\nMigro does not download any files. It makes use of the\n`Uploading API`_.\nSpecifically, it utilizes the ``From URL``\nmethod_.\n\nAs a result, you'll get a listing of all the uploaded files.\nFor every processed file, you're also getting its status and errors,\nin case there were any.\n\nExamples\n--------\n\nHere's how you run the utility:\n\n.. code-block::\n\n $ migro 9a598e2a47fe961ea412 fileslist.txt --output_file /tmp/migro-result.txt\n\nAnd that's what you get:\n\n.. code-block::\n\n Upload progress: 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 6/6 [00:03<00:00, 1.74s/file]\n All files have been processed, output URLs were written to: are here: /tmp/migro_result.txt\n Number of failed files: 1\n Thanks for your interest in Uploadcare.\n Hit us up at help@uploadcare.com in case of any questions.\n\nNote for windows users\n----------------------\n\nCurrently there is an issue with program termination by CTRL+C on Windows, so\nprogram can no be terminated correctly by this way.\n\nThis is a platform dependent python programming language issue.\n\n\nAlternatives\n------------\n\nYou can use our libs_\nto migrate your files from any source.\n\n.. _Uploading API: https://uploadcare.com/documentation/upload/\n.. _method: https://uploadcare.com/documentation/upload/#from-url\n.. _public key: https://uploadcare.com/documentation/keys/\n.. _libs: https://uploadcare.com/documentation/libs/\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/uploadcare/migro", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "uploadcare-migro", "package_url": "https://pypi.org/project/uploadcare-migro/", "platform": "", "project_url": "https://pypi.org/project/uploadcare-migro/", "project_urls": { "Homepage": "https://github.com/uploadcare/migro" }, "release_url": "https://pypi.org/project/uploadcare-migro/1.6.1/", "requires_dist": [ "aiohttp (==3.4.4)", "click (==7.0)", "python-dateutil (==2.7.5)", "tqdm (==4.28.1)", "colorama (==0.4.1)" ], "requires_python": "", "summary": "Uploadcare migration tool", "version": "1.6.1" }, "last_serial": 5112020, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "bd2cafc5158d9de95546364206783104", "sha256": "ff67c11a8d363e7ebd16c361573c948257d58b637bc8742af7573ab8432a0920" }, "downloads": -1, "filename": "uploadcare-migro-1.0.tar.gz", "has_sig": false, "md5_digest": "bd2cafc5158d9de95546364206783104", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6446, "upload_time": "2017-06-18T15:29:01", "url": "https://files.pythonhosted.org/packages/cc/44/c8d4634f662ee368b48fd88d24b3fd12b791cc7c0e74f06c125ed4c9ce5b/uploadcare-migro-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "96b34c2489ca1ac190be86144f3106fd", "sha256": "7bf134a1d68481158b1494237f2979e3c01303071927bc6e2ccbbc705e9d4008" }, "downloads": -1, "filename": "uploadcare_migro-1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "96b34c2489ca1ac190be86144f3106fd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9566, "upload_time": "2017-07-06T09:40:55", "url": "https://files.pythonhosted.org/packages/f5/4d/1320eca45a7e7b5196a20c69aace35f9273288e7aef4a894f429dccc4bc6/uploadcare_migro-1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "19030f1c169b3ec525bfc1230786e57e", "sha256": "012cd3c609c1e81b6221d532c84a1c8315b5f004cf80f9babde1e4ab74b4304d" }, "downloads": -1, "filename": "uploadcare-migro-1.1.tar.gz", "has_sig": false, "md5_digest": "19030f1c169b3ec525bfc1230786e57e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6432, "upload_time": "2017-07-06T09:40:57", "url": "https://files.pythonhosted.org/packages/b4/89/702354a3c60a762b61c558bc34c762d341f0d3e3441d5c4946ed1fb77f68/uploadcare-migro-1.1.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "07c311be9597e578e9e82c9797f8416e", "sha256": "929ba974d72e57a4fd3931470ac57d2ba75cd720e560ec7ec05f702906088471" }, "downloads": -1, "filename": "uploadcare_migro-1.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "07c311be9597e578e9e82c9797f8416e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13076, "upload_time": "2017-07-07T07:00:46", "url": "https://files.pythonhosted.org/packages/3e/30/5d0f00f837f6954273969c686ea7805b30042cc7abe7726dfd211d4d17bd/uploadcare_migro-1.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f79ff163654039ed2fbb192bea5b91a9", "sha256": "e4da25acc242fd845c84cc60258afa03607e9d134ac2271f61eda4b5fe9770ca" }, "downloads": -1, "filename": "uploadcare-migro-1.1.1.tar.gz", "has_sig": false, "md5_digest": "f79ff163654039ed2fbb192bea5b91a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8482, "upload_time": "2017-07-07T07:00:48", "url": "https://files.pythonhosted.org/packages/79/d8/3ef4495381203f9f444113c33b646fad4bf8788a9bf47dc24f62b8e942c0/uploadcare-migro-1.1.1.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "aa36eb58cc33986f4f22a9da828d6f07", "sha256": "b434b1be2b58ce797ca56bbebb058b94c926a13a89541e193ab0949bbb682d59" }, "downloads": -1, "filename": "uploadcare_migro-1.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "aa36eb58cc33986f4f22a9da828d6f07", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12770, "upload_time": "2017-09-27T15:05:48", "url": "https://files.pythonhosted.org/packages/3a/f9/bcfb8a53317fd78d14f887921348053dd6905ad240d55ba9893df4369cdd/uploadcare_migro-1.2.0-py2.py3-none-any.whl" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "e6f2bcc0d86b82efffd37f4c4d2a7160", "sha256": "1c5e5bfa9e8f65a9c6c8ac44c182907a96371084df37a6b6998da2a93d78aff3" }, "downloads": -1, "filename": "uploadcare_migro-1.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e6f2bcc0d86b82efffd37f4c4d2a7160", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12772, "upload_time": "2017-09-27T15:11:10", "url": "https://files.pythonhosted.org/packages/99/d1/f0783bb96a45d9aa37596d664e3b9f520c46a842f8697c4bbcd8769b4982/uploadcare_migro-1.2.1-py2.py3-none-any.whl" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "701da8ec258463a647530faff314a0d5", "sha256": "47ed53b2385a2a9608b7280017ce45431e90c239c6275dea37ff80723bcd3b04" }, "downloads": -1, "filename": "uploadcare_migro-1.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "701da8ec258463a647530faff314a0d5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13051, "upload_time": "2017-09-27T17:16:30", "url": "https://files.pythonhosted.org/packages/ae/57/99ab1a30ff6ac4925deab980e22d90c9b0748ffdc6f4c43185f0a7427f07/uploadcare_migro-1.2.2-py2.py3-none-any.whl" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "67c4ab2f03c22743a3ead753f6a3faf2", "sha256": "f67984324285f703f1287194f543c2949b2141421054cddbe14691ce04c93b59" }, "downloads": -1, "filename": "uploadcare_migro-1.3.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "67c4ab2f03c22743a3ead753f6a3faf2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10208, "upload_time": "2018-09-24T07:26:03", "url": "https://files.pythonhosted.org/packages/67/10/a29f77e6a004ba631dc0966fbd3b495e85d30c03db4bcd98e3b00fd1efa1/uploadcare_migro-1.3.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "95148d90c8e442ffbc7658741186b933", "sha256": "e4b937c30df822a9b4faac13303531b0de0de0a8d540e8ad8c636c7a9ded2d5d" }, "downloads": -1, "filename": "uploadcare-migro-1.3.3.tar.gz", "has_sig": false, "md5_digest": "95148d90c8e442ffbc7658741186b933", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8381, "upload_time": "2018-09-24T07:26:05", "url": "https://files.pythonhosted.org/packages/68/0d/b9d377966b4b7353074dedbd35badbe2e17039dc992e38831cdfc46dec63/uploadcare-migro-1.3.3.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "41b070af282fc04e37809271d67f27fd", "sha256": "373f904cd899b31854a11a46bf83784b5a541de259df90fcf96ab51810693fee" }, "downloads": -1, "filename": "uploadcare_migro-1.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "41b070af282fc04e37809271d67f27fd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11047, "upload_time": "2018-12-13T07:56:59", "url": "https://files.pythonhosted.org/packages/ba/4f/4292b0110e677b99cc767b6b41a336737496f2ae4c69e912e64fac88789e/uploadcare_migro-1.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "67bc8120215fa28a7600ee95802ed188", "sha256": "29354f64049b6e2bd11009cecbd69b448308278d1dd26a535df3c4c4f2931694" }, "downloads": -1, "filename": "uploadcare-migro-1.4.0.tar.gz", "has_sig": false, "md5_digest": "67bc8120215fa28a7600ee95802ed188", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10051, "upload_time": "2018-12-13T07:57:01", "url": "https://files.pythonhosted.org/packages/e8/17/16da92d986f9909a80abcfeb8db99cfc9a2beb665d9d4b025f45e8aaff61/uploadcare-migro-1.4.0.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "5ef961baac1263637c0f067821fcd2a8", "sha256": "4ab4b578b3bc078a710736555ec28d611f5abb4e02d4e08a149e772bdee9ffaf" }, "downloads": -1, "filename": "uploadcare_migro-1.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5ef961baac1263637c0f067821fcd2a8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11359, "upload_time": "2019-03-28T07:40:28", "url": "https://files.pythonhosted.org/packages/07/80/f3cf25667947ca59b11e9349f6785f0c344d72ef1ed47bf6b669da35485d/uploadcare_migro-1.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "96f194644d714bc73d5b5a7d373011c8", "sha256": "e8156b05b91e769f7c3e890de2537d51a5c628d79abef69950d391c21298f35f" }, "downloads": -1, "filename": "uploadcare-migro-1.5.0.tar.gz", "has_sig": false, "md5_digest": "96f194644d714bc73d5b5a7d373011c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10178, "upload_time": "2019-03-28T07:40:31", "url": "https://files.pythonhosted.org/packages/2f/65/6beb29fe00b67a31dadcbbd38c598a11e60c2082df3d5790ec89e66a46bb/uploadcare-migro-1.5.0.tar.gz" } ], "1.5.1": [ { "comment_text": "", "digests": { "md5": "614b580542c36d49368ed2d028d563fd", "sha256": "471610fe514f0f4c1db7cccd27c5b13f9fc0259caf49f57c8d8e682741ba0d78" }, "downloads": -1, "filename": "uploadcare_migro-1.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "614b580542c36d49368ed2d028d563fd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11358, "upload_time": "2019-03-28T08:08:09", "url": "https://files.pythonhosted.org/packages/33/85/c96c3a6f71f0312c16f619bf738a82f9f5136998955d08f626a936694ecf/uploadcare_migro-1.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "863de09a23bfe27db336e3be7b265aed", "sha256": "b0435a5237244982e2362dfc3f1946d10f39a30c2d17af6978eaa50808c35f8b" }, "downloads": -1, "filename": "uploadcare-migro-1.5.1.tar.gz", "has_sig": false, "md5_digest": "863de09a23bfe27db336e3be7b265aed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10169, "upload_time": "2019-03-28T08:08:10", "url": "https://files.pythonhosted.org/packages/70/ee/64c0dcd50b19756341f91f948836a9342c56039dc1e865ed439756dc8211/uploadcare-migro-1.5.1.tar.gz" } ], "1.6.0": [ { "comment_text": "", "digests": { "md5": "44efdf7388a043f3c408d3fc73cd00d5", "sha256": "54d7133cab15799a2b02a560487f4cdf081cb7f4da904465bd27bfac1ae35971" }, "downloads": -1, "filename": "uploadcare_migro-1.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "44efdf7388a043f3c408d3fc73cd00d5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11311, "upload_time": "2019-04-02T08:11:49", "url": "https://files.pythonhosted.org/packages/9d/8f/69a32dc75d2c760da49e68ef7a70d3bc206052b86a14f596ac42c47dcae5/uploadcare_migro-1.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "79ed6e92bb3ad2094f88085345fca415", "sha256": "0aab94acc4932833a76b70956846c4b377787909b680cf6624cc814e6bdd9e00" }, "downloads": -1, "filename": "uploadcare-migro-1.6.0.tar.gz", "has_sig": false, "md5_digest": "79ed6e92bb3ad2094f88085345fca415", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10118, "upload_time": "2019-04-02T08:11:51", "url": "https://files.pythonhosted.org/packages/25/80/fa1980c50a36b3a50e3c163b69c72ea55836fd8235676090b7110c87f83f/uploadcare-migro-1.6.0.tar.gz" } ], "1.6.1": [ { "comment_text": "", "digests": { "md5": "3e0f22e0e80b7bf78845a33ed2369cdc", "sha256": "55a38616523768ea2a1bc1f99640dfe3466648f24a1bd3da99b1dd396c49f5a8" }, "downloads": -1, "filename": "uploadcare_migro-1.6.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3e0f22e0e80b7bf78845a33ed2369cdc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11281, "upload_time": "2019-04-08T05:31:09", "url": "https://files.pythonhosted.org/packages/ef/7d/261b23899bed945fde543acbfdbfcfb09601f693f7188a3d9c2cdd7a4304/uploadcare_migro-1.6.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "77eaaa234519c06eccd6d5137a667439", "sha256": "251549191b56e5cd72ee70eb9f9471e412bd3c9d8f9574af708e4c7ffbd402c6" }, "downloads": -1, "filename": "uploadcare-migro-1.6.1.tar.gz", "has_sig": false, "md5_digest": "77eaaa234519c06eccd6d5137a667439", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10115, "upload_time": "2019-04-08T05:31:11", "url": "https://files.pythonhosted.org/packages/39/48/acab6ffe22aa90bd209386f4a109706cdb8d933419264c48df085cf8d266/uploadcare-migro-1.6.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3e0f22e0e80b7bf78845a33ed2369cdc", "sha256": "55a38616523768ea2a1bc1f99640dfe3466648f24a1bd3da99b1dd396c49f5a8" }, "downloads": -1, "filename": "uploadcare_migro-1.6.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3e0f22e0e80b7bf78845a33ed2369cdc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11281, "upload_time": "2019-04-08T05:31:09", "url": "https://files.pythonhosted.org/packages/ef/7d/261b23899bed945fde543acbfdbfcfb09601f693f7188a3d9c2cdd7a4304/uploadcare_migro-1.6.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "77eaaa234519c06eccd6d5137a667439", "sha256": "251549191b56e5cd72ee70eb9f9471e412bd3c9d8f9574af708e4c7ffbd402c6" }, "downloads": -1, "filename": "uploadcare-migro-1.6.1.tar.gz", "has_sig": false, "md5_digest": "77eaaa234519c06eccd6d5137a667439", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10115, "upload_time": "2019-04-08T05:31:11", "url": "https://files.pythonhosted.org/packages/39/48/acab6ffe22aa90bd209386f4a109706cdb8d933419264c48df085cf8d266/uploadcare-migro-1.6.1.tar.gz" } ] }