From e5454a23eb357efd7d4b1d4f6464c5c61aeb6bcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubom=C3=ADr=20Sedl=C3=A1=C5=99?= Date: Wed, 1 Jun 2016 14:06:25 +0200 Subject: [PATCH] [media-split] Simplify code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Some parts can be written in a more straight-forward way. This also fixes the issue with not raising error on adding to big file. Signed-off-by: Lubomír Sedlář --- pungi/media_split.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pungi/media_split.py b/pungi/media_split.py index 9bc74dda..937bd928 100644 --- a/pungi/media_split.py +++ b/pungi/media_split.py @@ -73,13 +73,14 @@ class MediaSplitter(object): name = os.path.normpath(name) size = int(size) old_size = self.file_sizes.get(name, None) - if old_size is None: - self.files.append(name) - self.file_sizes[name] = size - elif old_size != size: + + if old_size is not None and old_size != size: raise ValueError("File size mismatch; file: %s; sizes: %s vs %s" % (name, old_size, size)) - elif size > self.media_size: + if size > self.media_size: raise ValueError("File is larger than media size: %s" % name) + + self.files.append(name) + self.file_sizes[name] = size if sticky: self.sticky_files.add(name) @@ -127,16 +128,15 @@ class MediaSplitter(object): disks = [] disk = {} - total_size_single = sticky_files_size # as it would be on single medium (sticky_files just once) + # as it would be on single medium (sticky_files just once) + total_size_single = sticky_files_size while all_files: name = all_files.pop(0) size = convert_file_size(self.file_sizes[name]) if not disks or disk["size"] + size > self.media_size: - disk = {"size": 0, "files": []} + disk = {"size": sticky_files_size, "files": sticky_files[:]} disks.append(disk) - disk["files"].extend(sticky_files) - disk["size"] += sticky_files_size disk["files"].append(name) disk["size"] += size