diff --git a/dvuploader/packaging.py b/dvuploader/packaging.py index 9567fd0..6d40f41 100644 --- a/dvuploader/packaging.py +++ b/dvuploader/packaging.py @@ -30,6 +30,11 @@ def distribute_files(dv_files: List[File]) -> List[Tuple[int, List[File]]]: current_size = 0 for file in dv_files: if file._size > MAXIMUM_PACKAGE_SIZE: + if current_package: + current_package, current_size, package_index = _append_and_reset( + (package_index, current_package), + packages, + ) current_package, current_size, package_index = _append_and_reset( (package_index, [file]), packages, @@ -37,10 +42,11 @@ def distribute_files(dv_files: List[File]) -> List[Tuple[int, List[File]]]: continue if current_size + file._size > MAXIMUM_PACKAGE_SIZE: - current_package, current_size, package_index = _append_and_reset( - (package_index, current_package), - packages, - ) + if current_package: + current_package, current_size, package_index = _append_and_reset( + (package_index, current_package), + packages, + ) current_package.append(file) current_size += file._size