Skip to content

Commit 8f218f1

Browse files
Run black on source code
1 parent 7ac106d commit 8f218f1

7 files changed

Lines changed: 87 additions & 63 deletions

File tree

transloadit/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = '0.1.12'
1+
__version__ = "0.1.12"

transloadit/assembly.py

Lines changed: 32 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ class Assembly(optionbuilder.OptionBuilder):
2525
Params to send along with the assembly. Please see
2626
https://transloadit.com/docs/api-docs/#21-create-a-new-assembly for available options.
2727
"""
28+
2829
def __init__(self, transloadit, files=None, options=None):
2930
super().__init__(options)
3031
self.transloadit = transloadit
@@ -45,14 +46,14 @@ def add_file(self, file_stream, field_name=None):
4546
self.files[field_name] = file_stream
4647

4748
def _get_field_name(self):
48-
name = 'file'
49+
name = "file"
4950
if name not in self.files:
5051
return name
5152

5253
counter = 1
53-
while f'{name}_{counter}' in self.files:
54+
while f"{name}_{counter}" in self.files:
5455
counter += 1
55-
return f'{name}_{counter}'
56+
return f"{name}_{counter}"
5657

5758
def remove_file(self, field_name):
5859
"""
@@ -65,14 +66,16 @@ def remove_file(self, field_name):
6566

6667
def _do_tus_upload(self, assembly_url, tus_url, retries):
6768
tus_client = tus.TusClient(tus_url)
68-
metadata = {'assembly_url': assembly_url}
69+
metadata = {"assembly_url": assembly_url}
6970
for key in self.files:
70-
metadata['fieldname'] = key
71-
metadata['filename'] = os.path.basename(self.files[key].name)
72-
tus_client.uploader(file_stream=self.files[key],
73-
chunk_size=5*1024*1024,
74-
metadata=metadata,
75-
retries=retries).upload()
71+
metadata["fieldname"] = key
72+
metadata["filename"] = os.path.basename(self.files[key].name)
73+
tus_client.uploader(
74+
file_stream=self.files[key],
75+
chunk_size=5 * 1024 * 1024,
76+
metadata=metadata,
77+
retries=retries,
78+
).upload()
7679

7780
def create(self, wait=False, resumable=True, retries=3):
7881
"""
@@ -89,35 +92,40 @@ def create(self, wait=False, resumable=True, retries=3):
8992
"""
9093
data = self.get_options()
9194
if resumable:
92-
extra_data = {'tus_num_expected_upload_files': len(self.files)}
95+
extra_data = {"tus_num_expected_upload_files": len(self.files)}
9396
response = self.transloadit.request.post(
94-
'/assemblies', extra_data=extra_data, data=data)
95-
self._do_tus_upload(response.data.get('assembly_ssl_url'),
96-
response.data.get('tus_url'),
97-
retries)
97+
"/assemblies", extra_data=extra_data, data=data
98+
)
99+
self._do_tus_upload(
100+
response.data.get("assembly_ssl_url"),
101+
response.data.get("tus_url"),
102+
retries,
103+
)
98104
else:
99105
response = self.transloadit.request.post(
100-
'/assemblies', data=data, files=self.files)
106+
"/assemblies", data=data, files=self.files
107+
)
101108

102109
if wait:
103110
while not self._assembly_finished(response):
104111
response = self.transloadit.get_assembly(
105-
assembly_url=response.data.get('assembly_ssl_url'))
112+
assembly_url=response.data.get("assembly_ssl_url")
113+
)
106114

107115
if self._rate_limit_reached(response) and retries:
108116
# wait till rate limit is expired
109-
sleep(response.data.get('info', {}).get('retryIn', 0))
117+
sleep(response.data.get("info", {}).get("retryIn", 0))
110118
self.create(wait, resumable, retries - 1)
111119

112120
return response
113121

114122
def _assembly_finished(self, response):
115-
status = response.data.get('ok')
116-
is_aborted = status == 'REQUEST_ABORTED'
117-
is_canceled = status == 'ASSEMBLY_CANCELED'
118-
is_completed = status == 'ASSEMBLY_COMPLETED'
119-
is_failed = response.data.get('error') is not None
123+
status = response.data.get("ok")
124+
is_aborted = status == "REQUEST_ABORTED"
125+
is_canceled = status == "ASSEMBLY_CANCELED"
126+
is_completed = status == "ASSEMBLY_COMPLETED"
127+
is_failed = response.data.get("error") is not None
120128
return is_aborted or is_canceled or is_completed or is_failed
121129

122130
def _rate_limit_reached(self, response):
123-
return response.data.get('error') == 'RATE_LIMIT_REACHED'
131+
return response.data.get("error") == "RATE_LIMIT_REACHED"

transloadit/client.py

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,16 @@ class Transloadit:
2424
How long in seconds for which a Transloadit request should be valid. Defaults to 300
2525
if not specified.
2626
"""
27-
def __init__(self, auth_key, auth_secret, service='https://api2.transloadit.com', duration=300):
28-
if not service.startswith(('http://', 'https://')):
29-
service = 'https://' + service
27+
28+
def __init__(
29+
self,
30+
auth_key,
31+
auth_secret,
32+
service="https://api2.transloadit.com",
33+
duration=300,
34+
):
35+
if not service.startswith(("http://", "https://")):
36+
service = "https://" + service
3037

3138
self.service = service
3239
self.auth_key = auth_key
@@ -49,13 +56,13 @@ def get_assembly(self, assembly_id=None, assembly_url=None):
4956
:Args:
5057
- assembly_id (Optional[str])
5158
- assembly_url (Optional[str])
52-
59+
5360
Return an instance of <transloadit.response.Response>
5461
"""
5562
if not (assembly_id or assembly_url):
5663
raise ValueError("Either 'assembly_id' or 'assembly_url' cannot be None.")
5764

58-
url = assembly_url if assembly_url else f'/assemblies/{assembly_id}'
65+
url = assembly_url if assembly_url else f"/assemblies/{assembly_id}"
5966
return self.request.get(url)
6067

6168
def list_assemblies(self, params=None):
@@ -66,10 +73,10 @@ def list_assemblies(self, params=None):
6673
- options (Optional[dict]):
6774
params to send along with the request. Please see
6875
https://transloadit.com/docs/api-docs/#25-retrieve-assembly-list for available options.
69-
76+
7077
Return an instance of <transloadit.response.Response>
7178
"""
72-
return self.request.get('/assemblies', params=params)
79+
return self.request.get("/assemblies", params=params)
7380

7481
def cancel_assembly(self, assembly_id=None, assembly_url=None):
7582
"""
@@ -79,13 +86,13 @@ def cancel_assembly(self, assembly_id=None, assembly_url=None):
7986
:Args:
8087
- assembly_id (Optional[str])
8188
- assembly_url (Optional[str])
82-
89+
8390
Return an instance of <transloadit.response.Response>
8491
"""
8592
if not (assembly_id or assembly_url):
8693
raise ValueError("Either 'assembly_id' or 'assembly_url' cannot be None.")
8794

88-
url = assembly_url if assembly_url else f'/assemblies/{assembly_id}'
95+
url = assembly_url if assembly_url else f"/assemblies/{assembly_id}"
8996
return self.request.delete(url)
9097

9198
def get_template(self, template_id):
@@ -94,10 +101,10 @@ def get_template(self, template_id):
94101
95102
:Args:
96103
- template_id (str)
97-
104+
98105
Return an instance of <transloadit.response.Response>
99106
"""
100-
return self.request.get(f'/templates/{template_id}')
107+
return self.request.get(f"/templates/{template_id}")
101108

102109
def list_templates(self, params=None):
103110
"""
@@ -107,10 +114,10 @@ def list_templates(self, params=None):
107114
- options (Optional[dict]):
108115
params to send along with the request. Please see
109116
https://transloadit.com/docs/api-docs/#45-retrieve-template-list for available options.
110-
117+
111118
Return an instance of <transloadit.response.Response>
112119
"""
113-
return self.request.get('/templates', params=params)
120+
return self.request.get("/templates", params=params)
114121

115122
def new_template(self, name, params=None):
116123
"""
@@ -132,7 +139,7 @@ def update_template(self, template_id, data):
132139
133140
Return an instance of <transloadit.response.Response>
134141
"""
135-
return self.request.put(f'/templates/{template_id}', data=data)
142+
return self.request.put(f"/templates/{template_id}", data=data)
136143

137144
def delete_template(self, template_id):
138145
"""
@@ -143,7 +150,7 @@ def delete_template(self, template_id):
143150
144151
Return an instance of <transloadit.response.Response>
145152
"""
146-
return self.request.delete(f'/templates/{template_id}')
153+
return self.request.delete(f"/templates/{template_id}")
147154

148155
def get_bill(self, month, year):
149156
"""
@@ -152,7 +159,7 @@ def get_bill(self, month, year):
152159
:Args:
153160
- month (int): e.g 1 for January
154161
- year (int)
155-
162+
156163
Return an instance of <transloadit.response.Response>
157164
"""
158-
return self.request.get(f'/bill/{year}-{month:02d}')
165+
return self.request.get(f"/bill/{year}-{month:02d}")

transloadit/optionbuilder.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ class OptionBuilder:
1717
params to send along with the assembly. Please see
1818
https://transloadit.com/docs/api-docs/#21-create-a-new-assembly for available options.
1919
"""
20+
2021
def __init__(self, options=None):
2122
super().__init__()
2223
self.options = options or {}
@@ -31,7 +32,7 @@ def add_step(self, name, robot, options):
3132
- robot (str): The name of the robot for the step
3233
- options (dict): The options to apply to the step
3334
"""
34-
options['robot'] = robot
35+
options["robot"] = robot
3536
self.steps[name] = options
3637

3738
def remove_step(self, name):
@@ -45,8 +46,8 @@ def remove_step(self, name):
4546

4647
def get_options(self):
4748
"""
48-
Return the Assembly/Template options in Transloadit, ready format.
49+
Return the Assembly/Template options in Transloadit, ready format.
4950
"""
5051
options = copy.deepcopy(self.options)
51-
options['steps'] = self.steps
52+
options["steps"] = self.steps
5253
return options

transloadit/request.py

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class Request:
2323
- transloadit (<transloadit.client.Transloadit>)
2424
"""
2525

26-
HEADERS = {'Transloadit-Client': 'python-sdk:' + __version__}
26+
HEADERS = {"Transloadit-Client": "python-sdk:" + __version__}
2727

2828
def __init__(self, transloadit):
2929
self.transloadit = transloadit
@@ -39,9 +39,11 @@ def get(self, path, params=None):
3939
4040
Return an instance of <transloadit.response.Response>
4141
"""
42-
return requests.get(self._get_full_url(path),
43-
params=self._to_payload(params),
44-
headers=self.HEADERS)
42+
return requests.get(
43+
self._get_full_url(path),
44+
params=self._to_payload(params),
45+
headers=self.HEADERS,
46+
)
4547

4648
@as_response
4749
def post(self, path, data=None, extra_data=None, files=None):
@@ -61,8 +63,9 @@ def post(self, path, data=None, extra_data=None, files=None):
6163
data = self._to_payload(data)
6264
if extra_data:
6365
data.update(extra_data)
64-
return requests.post(self._get_full_url(path), data=data,
65-
files=files, headers=self.HEADERS)
66+
return requests.post(
67+
self._get_full_url(path), data=data, files=files, headers=self.HEADERS
68+
)
6669

6770
@as_response
6871
def put(self, path, data=None):
@@ -90,26 +93,27 @@ def delete(self, path, data=None):
9093
Return an instance of <transloadit.response.Response>
9194
"""
9295
data = self._to_payload(data)
93-
return requests.delete(self._get_full_url(path), data=data, headers=self.HEADERS)
96+
return requests.delete(
97+
self._get_full_url(path), data=data, headers=self.HEADERS
98+
)
9499

95100
def _to_payload(self, data):
96101
data = copy.deepcopy(data or {})
97102
expiry = timedelta(seconds=self.transloadit.duration) + datetime.utcnow()
98-
data['auth'] = {
99-
'key': self.transloadit.auth_key,
100-
'expires': expiry.strftime("%Y/%m/%d %H:%M:%S+00:00")
103+
data["auth"] = {
104+
"key": self.transloadit.auth_key,
105+
"expires": expiry.strftime("%Y/%m/%d %H:%M:%S+00:00"),
101106
}
102107
json_data = json.dumps(data)
103-
return {'params': json_data,
104-
'signature': self._sign_data(json_data)}
108+
return {"params": json_data, "signature": self._sign_data(json_data)}
105109

106110
def _sign_data(self, message):
107-
return hmac.new(b(self.transloadit.auth_secret),
108-
message.encode('utf-8'),
109-
hashlib.sha1).hexdigest()
111+
return hmac.new(
112+
b(self.transloadit.auth_secret), message.encode("utf-8"), hashlib.sha1
113+
).hexdigest()
110114

111115
def _get_full_url(self, url):
112-
if url.startswith(('http://', 'https://')):
116+
if url.startswith(("http://", "https://")):
113117
return url
114118
else:
115119
return self.transloadit.service + url

transloadit/response.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ class Response:
1616
:Constructor Args:
1717
- response (<requests.Response>): The bare response object from the requests library.
1818
"""
19+
1920
def __init__(self, response):
2021
self._response = response
2122
self.data = self._response.json()
@@ -40,7 +41,9 @@ def as_response(func):
4041
Decorator function that converts the output of a function into an instance
4142
of the <transloadit.response.Response> class.
4243
"""
44+
4345
@wraps(func)
4446
def _wrapper(*args, **kwargs):
4547
return Response(func(*args, **kwargs))
48+
4649
return _wrapper

transloadit/template.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ class Template(optionbuilder.OptionBuilder):
1818
Params to send along with the template. Please see
1919
https://transloadit.com/docs/api-docs/#4-templates for available options.
2020
"""
21+
2122
def __init__(self, transloadit, name, options=None):
2223
super().__init__(options)
2324
self.transloadit = transloadit
@@ -28,5 +29,5 @@ def create(self):
2829
Save/Submit the template to the Transloadit server.
2930
"""
3031
data = self.get_options()
31-
data.update({'name': self.name})
32-
return self.transloadit.request.post('/templates', data=data)
32+
data.update({"name": self.name})
33+
return self.transloadit.request.post("/templates", data=data)

0 commit comments

Comments
 (0)