Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
[LIB-646] simplify the make_request a little
  • Loading branch information
opalczynski committed Apr 14, 2016
commit e09ebaa432df8b7cfd561ddeeb1939fab5620c83
14 changes: 9 additions & 5 deletions syncano/connection.py
Original file line number Diff line number Diff line change
Expand Up @@ -235,11 +235,7 @@ def make_request(self, method_name, path, **kwargs):
data = kwargs.get('data', {})
files = data.pop('files', {})

if 'requests' in data: # batch requests
for request in data['requests']:
per_request_files = request['body'].pop('files', {})
if per_request_files:
raise SyncanoValueError('Batch do not support files upload.')
self._check_batch_files(data)

if files is None:
files = {k: v for k, v in six.iteritems(data) if hasattr(v, 'read')}
Expand Down Expand Up @@ -408,6 +404,14 @@ def get_user_info(self, api_key=None, user_key=None):
return self.make_request('GET', self.USER_INFO_SUFFIX.format(name=self.instance_name), headers={
'X-API-KEY': self.api_key, 'X-USER-KEY': self.user_key})

@classmethod
def _check_batch_files(cls, data):
if 'requests' in data: # batch requests
for request in data['requests']:
per_request_files = request['body'].pop('files', {})
if per_request_files:
raise SyncanoValueError('Batch do not support files upload.')


class ConnectionMixin(object):
"""Injects connection attribute with support of basic validation."""
Expand Down