diff --git a/src/taggingbackends/explorer.py b/src/taggingbackends/explorer.py index 5ee4a0b3260528359c7a52ab9a98ac9cd47863b0..11bcae262d173edd9e0dfeb80cbdad6e3ab1bdde 100644 --- a/src/taggingbackends/explorer.py +++ b/src/taggingbackends/explorer.py @@ -477,6 +477,20 @@ run `poetry add {pkg}` from directory: \n logging.warning("multiple label files found") found += 1 assert 0 < len(input_files) + if labels.metadata and 'filename' in labels.metadata: + # ensure the file listed in the metadata comes first in the + # input_files list + primary_input = labels.metadata['filename'] + for file in input_files: + if file.name == primary_input: + primary_input = file + break + if isinstance(primary_input, str): + logging.warning(f'cannot find file: {primary_input}') + elif input_files[0] is not primary_input: + input_files = [file for file in input_files if file is not primary_input] + input_files.insert(0, primary_input) + # labels.tracking = input_files # if not labels.metadata: