Skip to content

Commit 1348797

Browse files
author
Cherry Guo
committed
Reorder priority for conflicting datasets
1 parent 2b0621b commit 1348797

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

sigmf/sigmffile.py

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1217,22 +1217,19 @@ def get_dataset_filename_from_metadata(meta_fn, metadata=None):
12171217
12181218
Priority for conflicting datasets:
12191219
1220-
1. Use the file named ``<stem>.SIGMF_DATASET_EXT`` if it exists.
1221-
2. Use the file in the ``DATASET_KEY`` field (non-compliant dataset) if it exists.
1220+
1. Use the file in the ``DATASET_KEY`` field (non-compliant dataset) if it exists.
1221+
2. Use the file named ``<stem>.SIGMF_DATASET_EXT`` if it exists.
12221222
3. Return ``None`` (may be a metadata-only distribution).
12231223
"""
12241224
compliant_filename = get_sigmf_filenames(meta_fn)["data_fn"]
12251225
noncompliant_filename = metadata["global"].get(SigMFFile.DATASET_KEY, None)
12261226

1227-
if Path.is_file(compliant_filename):
1228-
if noncompliant_filename:
1227+
if noncompliant_filename:
1228+
if Path.is_file(compliant_filename):
12291229
warnings.warn(
1230-
f"Compliant Dataset `{compliant_filename}` exists but "
1231-
f"{SigMFFile.DATASET_KEY} is also defined; using `{compliant_filename}`"
1230+
f"{SigMFFile.DATASET_KEY} is defined but compliant dataset `{compliant_filename}` exists; "
1231+
f"using `{noncompliant_filename}` specified by {SigMFFile.DATASET_KEY}"
12321232
)
1233-
return compliant_filename
1234-
1235-
elif noncompliant_filename:
12361233
dir_path = Path(meta_fn).parent
12371234
noncompliant_data_file_path = Path.joinpath(dir_path, noncompliant_filename)
12381235
if Path.is_file(noncompliant_data_file_path):
@@ -1247,6 +1244,8 @@ def get_dataset_filename_from_metadata(meta_fn, metadata=None):
12471244
f"Non-Compliant Dataset `{noncompliant_filename}` is specified in {SigMFFile.DATASET_KEY} "
12481245
"but does not exist!"
12491246
)
1247+
elif Path.is_file(compliant_filename):
1248+
return compliant_filename
12501249
return None
12511250

12521251

0 commit comments

Comments
 (0)