Skip to content

Commit c210b72

Browse files
committed
Improve use of HasPriority in PRONOM export
1 parent a689a15 commit c210b72

2 files changed

Lines changed: 16 additions & 4 deletions

File tree

src/jsonid/export.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222

2323
PRONOM_FILENAME: Final[str] = "jsonid_pronom.xml"
24+
JSON_PUID: Final[str] = "fmt/817"
2425

2526

2627
class PRONOMException(Exception):
@@ -77,7 +78,7 @@ def export_pronom() -> None:
7778
increment_id += 1
7879
fmt = pronom.Format(
7980
id=increment_id,
80-
name=f"JSON (Baseline - fmt/817) ({encoding})",
81+
name=f"JSON (Baseline - {JSON_PUID}) ({encoding})",
8182
version="",
8283
puid="jsonid:0000",
8384
mime="application/json",

src/jsonid/pronom.py

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,15 @@
1212
from typing import Any, Final
1313

1414
try:
15+
import export
1516
import export_helpers
1617
import helpers
1718
import registry_matchers
1819
except ModuleNotFoundError:
1920
try:
20-
from src.jsonid import export_helpers, helpers, registry_matchers
21+
from src.jsonid import export, export_helpers, helpers, registry_matchers
2122
except ModuleNotFoundError:
22-
from jsonid import export_helpers, helpers, registry_matchers
23+
from jsonid import export, export_helpers, helpers, registry_matchers
2324

2425

2526
logger = logging.getLogger(__name__)
@@ -234,9 +235,19 @@ def create_file_format_collection(fmt: list[Format]):
234235
for sig in fmt.external_signatures
235236
if sig.type.lower() == EXT
236237
]
238+
239+
priority_ids = []
240+
for id_ in fmt.priorities:
241+
if id_ == str(fmt.id):
242+
continue
243+
if export.JSON_PUID in fmt.name:
244+
# This is brittle. Understand how to make more robust.
245+
continue
246+
priority_ids.append(id_)
247+
237248
priorities = [
238249
f"<HasPriorityOverFileFormatID>{priority}</HasPriorityOverFileFormatID>"
239-
for priority in fmt.priorities
250+
for priority in priority_ids
240251
]
241252
ff = f"""
242253
<FileFormat ID=\"{fmt.id}\" Name=\"{fmt.name}\" PUID=\"{fmt.puid}\" Version="{fmt.version}" MIMEType=\"{fmt.mime}\" FormatType=\"{fmt.classification}\" >

0 commit comments

Comments
 (0)