Skip to content

Commit

Permalink
fixed output format generation for multiple files
Browse files Browse the repository at this point in the history
  • Loading branch information
l-koehler committed Jan 5, 2024
1 parent 44a12e7 commit 6540d70
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 6 deletions.
2 changes: 1 addition & 1 deletion ffconverter/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# version
__major__ = 2
__minor__ = 1
__patch__ = 1
__patch__ = 2
__prerelease__ = "" # alpha, beta, rc etc.

# package information
Expand Down
28 changes: 23 additions & 5 deletions ffconverter/dynamictab.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,16 +54,34 @@ def fill_extension_combobox(self, list_of_files, all_supported_conversions):
self.extQCB.clear()
possible_outputs = []
for input_file in list_of_files:
file_outputs = []
input_file_ext = utils.get_extension(input_file)
for conv in all_supported_conversions:
if input_file_ext in conv[0]:
possible_outputs += conv[1]
# dedupe list
possible_outputs = list(dict.fromkeys(possible_outputs))
# append only once per file
file_outputs += conv[1]
possible_outputs.append(file_outputs)
# possible_outputs: list of lists of output formats, one per input file
# valid_outputs: list of outputs possible for ALL files
if len(list_of_files) > 1:
valid_outputs = []
for extension in sum(possible_outputs, []):
available = True
for i in possible_outputs:
if extension not in i:
available = False
break
if available and extension not in valid_outputs:
valid_outputs.append(extension)
else:
first_output_list = possible_outputs[0] if possible_outputs else []
valid_outputs = list(dict.fromkeys(first_output_list))

if self.commonformatQChB.isChecked():
# remove all uncommon formats from the list
possible_outputs[:] = [ext for ext in possible_outputs if ext in config.common_formats]
self.extQCB.addItems(sorted(possible_outputs))
valid_outputs[:] = [ext for ext in valid_outputs
if ext in config.common_formats]
self.extQCB.addItems(sorted(valid_outputs))

def ok_to_continue(self):
return True

0 comments on commit 6540d70

Please sign in to comment.