Skip to content

Commit

Permalink
removed all counting whatsoever and just queue the derive in the end
Browse files Browse the repository at this point in the history
  • Loading branch information
Dobatymo committed Nov 13, 2020
1 parent ac84a17 commit f437492
Showing 1 changed file with 9 additions and 21 deletions.
30 changes: 9 additions & 21 deletions internetarchive/item.py
Original file line number Diff line number Diff line change
Expand Up @@ -1156,23 +1156,17 @@ def upload(self, files,
"""
queue_derive = True if queue_derive is None else queue_derive
remote_dir_name = None
total_files = None

if isinstance(files, dict):
if files.get('name'):
files = [files]
total_files = 1
else:
files = list(files.items())
if not isinstance(files, (list, tuple)):
files = [files]
if all(isinstance(f, dict) and f.get('name') for f in files):
total_files = len(files)

responses = []
file_index = 0
if queue_derive and total_files is None:
# includes files which might be skipped later
total_files = recursive_file_count(files)
file_metadata = None
for f in files:

Expand All @@ -1188,12 +1182,6 @@ def upload(self, files,
remote_dir_name = f[0].strip('/')
f = f[-1]
for filepath, key in iter_directory(f):
file_index += 1

# Set derive header if queue_derive is True,
# and this is the last request being made.
_queue_derive = queue_derive and file_index >= total_files

if not f.endswith('/'):
if remote_dir_name:
key = '{0}{1}/{2}'.format(remote_dir_name, f, key)
Expand All @@ -1209,7 +1197,7 @@ def upload(self, files,
headers=headers,
access_key=access_key,
secret_key=secret_key,
queue_derive=_queue_derive,
queue_derive=False,
verbose=verbose,
verify=verify,
checksum=checksum,
Expand All @@ -1220,12 +1208,6 @@ def upload(self, files,
request_kwargs=request_kwargs)
responses.append(resp)
else:
file_index += 1

# Set derive header if queue_derive is True,
# and this is the last request being made.
_queue_derive = queue_derive and file_index >= total_files

if not isinstance(f, (list, tuple)):
key, body = (None, f)
else:
Expand All @@ -1239,7 +1221,7 @@ def upload(self, files,
headers=headers,
access_key=access_key,
secret_key=secret_key,
queue_derive=_queue_derive,
queue_derive=False,
verbose=verbose,
verify=verify,
checksum=checksum,
Expand All @@ -1249,6 +1231,12 @@ def upload(self, files,
debug=debug,
request_kwargs=request_kwargs)
responses.append(resp)

if queue_derive:
# Came this far without any exceptions raised, so all uploads
# probably completed successfully. Derive now.
self.derive()

return responses


Expand Down

0 comments on commit f437492

Please sign in to comment.