{"id":20156142,"url":"https://github.com/openfun/dmcloud-migrate","last_synced_at":"2025-09-06T17:36:05.714Z","repository":{"id":25850550,"uuid":"29290225","full_name":"openfun/dmcloud-migrate","owner":"openfun","description":"Python scripts for migration from Dailymotion Cloud","archived":false,"fork":false,"pushed_at":"2015-09-11T15:37:32.000Z","size":188,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-01-13T12:48:43.425Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openfun.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-15T09:29:15.000Z","updated_at":"2015-07-27T14:59:30.000Z","dependencies_parsed_at":"2022-08-24T14:15:16.470Z","dependency_job_id":null,"html_url":"https://github.com/openfun/dmcloud-migrate","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfun%2Fdmcloud-migrate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfun%2Fdmcloud-migrate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfun%2Fdmcloud-migrate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfun%2Fdmcloud-migrate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openfun","download_url":"https://codeload.github.com/openfun/dmcloud-migrate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241596241,"owners_count":19988041,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T23:37:46.552Z","updated_at":"2025-03-03T01:44:46.170Z","avatar_url":"https://github.com/openfun.png","language":"Python","readme":"Dailymotion Cloud migration scripts\n===================================\n\nThe DmCloud service by Dailymotion is shutting down; this repository provides\npython scripts for making a backup of all your DmCloud assets, and eventually\nmigrating your data to another service.\n\nInstall\n-------\n\nAlways use a virtual environment when installing python dependencies::\n\n    virtualenv venv\n    source venv/bin/activate\n    pip install git+https://github.com/openfun/dmcloud-migrate.git\n\nUsage\n-----\n\nSet up your DmCloud credentials::\n\n    export DMCLOUD_USER_ID=\"yourdmclouduserid\"\n    export DMCLOUD_API_KEY=\"yourdmcloudapikey\"\n\nCheck how much space the download is going to take::\n\n    dmsize ./path/to/download/\n\nDownload media files::\n\n    # Check everything before actually downloading:\n    dmdownload --fake ./path/to/download/\n\n    # Perform a full backup:\n    dmdownload ./path/to/download/ \n\n    # Perform a full backup for one of your organisation's users:\n    dmdownload --user=username ./path/to/download/\n\n\nFile system hierarchy\n---------------------\n\nWhenever you perform a full backup for your organisation, the files will be\ndownloaded in the following filesystem hierarchy::\n\n    rootpath/\n        username1/\n            media.json\n            medianame1/\n                mediaid/\n                    assets.json\n                    assetname1\n                    assetname2\n                    ...\n            medianame2/\n                ...\n            ...\n        username2/\n            ...\n        ...\n\nFor instance, if you have a single user named 'bob', here is a possible file\nstructure::\n\n    $ dmdownload --user=bob ./dump/\n\n    ./dump/\n        bob/\n            media.json\n            My holiday video (2014)/\n                531594c29473991c7f21e181/\n                    assets.json\n                    jpeg_thumbnail_medium.jpg\n                    mp4_h264_aac_hd.mp4\n                    source.mp4\n            Test video 42/\n                1264cde462416235548e5f69/\n                    assets.json\n                    jpeg_thumbnail_source.jpg\n                    source.dat\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenfun%2Fdmcloud-migrate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenfun%2Fdmcloud-migrate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenfun%2Fdmcloud-migrate/lists"}