Redid media distribituion network tools. Redid provides a media distribution network offering dynamic media transformations and signed resource access.
The Redid CLI tools provide a simple way to work with the Redid service.
pip install redid_tools
After install you will need to configure the tools. This simply sets the account information needed to connect to Redid.
You can check that your credentials are correct by running the check-auth command.
redid offers a command line interface to much of the REST API. Use redid --help to see a list of options and commands.
redid-sync synchronizes a local directory to a remote Redid path. This is a relatively quick and simple way to store resources.
redid-sync local/path/ remote/prefix/
The files from local/path/ will be uploaded as resources to remote/prefix/. For example, a file named local/path/sunset.jpg will be uploaded to the resource named remote/prefix/sunset witha content-type of image/jpeg.
The synchronization tool does not upload a file if the binary hash matches the one already on the server. This makes it relatively quick to make small changes and rerun synchronization. If you however need to upload the same file a lot for testing, you might wish to use redid upload-resource instead. redid-sync always has to list the remote resources first, which could be a bit slow for repeated quick use.
Files starting with a . are not uploaded.
The local path will be recursively scanned and the entire tree uploaded.
You can control the behaviour of synchronization with the .redid.yaml file, located in the root of your local synchronization folder. For example, local/path/.redid.yaml.
By default redid-sync will not delete remote resources that do not exist locally. This is a safety feature to prevent accidental deletion. To enable remote delete set the remote_delete_missing option to True:
The file type of a local file will be guessed (using Python’s mimetypes module, and a few extra rules). If you have special files that should be uploaded with a different content-type you can use the ext_map entry. This is a map of extension to content-type.
ext_map: ".bin": image/x-private-binary ".xpng": image/ping
To get the resource name of a resource this extension will be dropped. For example document.bin will be uploaded as resource document with the content-type image/x-private-binary.
Just let us know if you need any other mapping features.