Skip to main content

Uploadcare migration tool

Project description

Migro helps you migrate to Uploadcare from other cloud file management services like Filestack, Cloudinary, etc. Currently, we support migrating from Filestack, but you can migrate from other services too: you’ll just need to provide your file URLs for import.

Installation

This utility requires Python version 3.5.3 or later.

In order to install migro, simply run:

$ pip install uploadcare-migro

Usage

$ migro <PUBLIC_KEY> <INPUT_FILE>

Where:

<PUBLIC_KEY> — Your Uploadcare project public key.

<INPUT_FILE> — A text file containing a list of file URLs to be uploaded to your Uploadcare project.

Other options:

-v, --version                   Show utility version and quit.

-h, --help                      Show this help and quit.

-o, --output_file PATH          Path to a Migro output file.
                                [default: migro_result.txt]

--upload_base TEXT              Base URL for uploads.
                                [default: https://upload.uploadcare.com/]

--from_url_timeout FLOAT        Maximum number of seconds for uploading
                                a single file via `from_url`. If this
                                threshold gets exceeded, a file is
                                considered not loaded. Increase this
                                timeout when expecting to get larger
                                files via `from_url`.
                                [default: 30]

--max_uploads INTEGER           Maximum number of upload requests
                                running in 'parallel'.
                                [default: 20]

--check_interval FLOAT          Number of seconds in between status
                                check requests.

Output file format

The output file format is quite simple. For each input file URL or Filestack file handle, there are 3 columns divided by the t symbol (tab).

The first column holds input file URL or Filestack handle itself, second column — upload operation status: success or fail, third column — output Uploadcare URL or error description.

For instance, you’re willing to migrate the three following files to Uploadcare where the first two are presented as URLs and the third one as Filestack file handle. Also, that’s how your input text file will then be structured:

https://cdn.filestackcontent.com/YBLVVdUpRqC4nOynxDd8
https://www.facebook.com/rsrc.php/v3/y7/r/dTQOHZm7Z-3.svg
uNWvPRXJQmO49MJbPZn9

That’s what you get in your Migro output file for those input entries:

https://cdn.filestackcontent.com/YBLVVdUpRqC4nOynxDd8       success     https://ucarecdn.com/d8f8de4b-f92e-41a0-b7f9-28fd4baad9ae/
https://www.facebook.com/rsrc.php/v3/y7/r/dTQOHZm7Z-3.svg   success     https://ucarecdn.com/4a03f3d4-2bd3-456e-89a5-008190980248/
https://cdn.filestackcontent.com/uNWvPRXJQmO49MJbPZn9       fail        Uploading of these files types is not allowed on your current plan.

How migration works

The migration itself is fairly simple: you provide a list of file URLs or Filestack file handlers, and those files get uploaded to your Uploadcare project. That’s it. Migro does not download any files. It makes use of the Uploading API. Specifically, it utilizes the From URL method.

As a result, you’ll get a listing of all the uploaded files. For every processed file, you’re also getting its status and errors, in case there were any.

Examples

Here’s how you run the utility:

$ migro 9a598e2a47fe961ea412 fileslist.txt -output_file /tmp/migro-result.txt

And that’s what you get:

Upload progress: 100%|████████████████████████████████████████████████| 6/6 [00:03<00:00,  1.74s/file]
All files have been processed, output URLs were written to: /tmp/migro-result.txt

Note for windows users

Currently there is an issue with program termination by CTRL+C on Windows, so program can no be terminated correctly by this way.

This is a platform dependent python programming language issue.

Alternatives

You can use our libs to migrate your files from any source.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uploadcare-migro-1.3.3.tar.gz (8.4 kB view hashes)

Uploaded Source

Built Distribution

uploadcare_migro-1.3.3-py2.py3-none-any.whl (10.2 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page