Files endpoint

Files documentation

Fetch all files

files(project_id[, params = None])
Parameters:
  • project_id (str) – ID of the project to fetch files for.
  • params (dict) – (optional) pagination options
Returns:

Collection of files

Example:

files = client.files('123.abc', {"page": 2, "limit": 1})
files.items[0].filename # => "%LANG_ISO%.yml"

Upload file

upload_file(project_id, params)
Parameters:
  • project_id (str) – ID of the project to upload file to
  • params (dict) – Upload params
Returns:

Queued process model

Please note that the file upload will be performed in the background, and this method will return a QueuedProcess. The QueuedProcess, in turn, will contain the process ID and its status (queued, running, finished etc). You can periodically check the process status to determine whether the upload has completed.

Example:

process = client.upload_file('123.abc', {
    "data": 'ZnI6DQogIHRlc3Q6IHRyYW5zbGF0aW9u',
    "filename": 'python_upload.yml',
    "lang_iso": 'ru_RU'
})
process.status # => "queued"
# ...
# Update process status after some time:
process = client.queued_process('123.abc', process.process_id)
process.status # => "finished"
# Your file is uploaded!

Download files

download_files(project_id, params)
Parameters:
  • project_id (str) – ID of the project to download from
  • params (dict) – Download params
Returns:

Dictionary with project ID and a bundle URL

Example:

response = client.download_files('123.abc', {
    "format": "json",
    "original_filenames": True,
    "replace_breaks": False
})
response['bundle_url'] # => "https://s3-eu-west-1.amazonaws.com/path/to/bundle.zip"