diff --git a/justfile b/justfile
index 9be2689..850a6a1 100644
--- a/justfile
+++ b/justfile
@@ -111,6 +111,10 @@ lookup-ref-ex:
pronom:
python jsonid.py --pronom --debug
+# PRONOM demo
+pronom-example:
+ python json2pronom.py -p pronom_example/patterns_example.json
+
# move pronom to .droid folder
pronom-to-droid:
~/.droid6/clean.sh
@@ -128,3 +132,7 @@ roy:
droid-cli path: pronom-to-droid
java -jar ~/dp/droid/droid-binary-6.8.0-bin/droid-command-line-6.8.0.jar -s 1
java -jar ~/dp/droid/droid-binary-6.8.0-bin/droid-command-line-6.8.0.jar -ri {{path}}
+
+# inspect prronom
+inspect-pro:
+ bat jsonid_pronom.xml
diff --git a/src/jsonid/export.py b/src/jsonid/export.py
index 7164a0c..c8d7371 100644
--- a/src/jsonid/export.py
+++ b/src/jsonid/export.py
@@ -21,6 +21,7 @@
PRONOM_FILENAME: Final[str] = "jsonid_pronom.xml"
+JSON_PUID: Final[str] = "fmt/817"
class PRONOMException(Exception):
@@ -77,7 +78,7 @@ def export_pronom() -> None:
increment_id += 1
fmt = pronom.Format(
id=increment_id,
- name=f"JSON (Baseline - fmt/817) ({encoding})",
+ name=f"JSON (Baseline - {JSON_PUID}) ({encoding})",
version="",
puid="jsonid:0000",
mime="application/json",
diff --git a/src/jsonid/pronom.py b/src/jsonid/pronom.py
index 5a279df..64fc011 100644
--- a/src/jsonid/pronom.py
+++ b/src/jsonid/pronom.py
@@ -12,14 +12,15 @@
from typing import Any, Final
try:
+ import export
import export_helpers
import helpers
import registry_matchers
except ModuleNotFoundError:
try:
- from src.jsonid import export_helpers, helpers, registry_matchers
+ from src.jsonid import export, export_helpers, helpers, registry_matchers
except ModuleNotFoundError:
- from jsonid import export_helpers, helpers, registry_matchers
+ from jsonid import export, export_helpers, helpers, registry_matchers
logger = logging.getLogger(__name__)
@@ -234,9 +235,19 @@ def create_file_format_collection(fmt: list[Format]):
for sig in fmt.external_signatures
if sig.type.lower() == EXT
]
+
+ priority_ids = []
+ for id_ in fmt.priorities:
+ if id_ == str(fmt.id):
+ continue
+ if export.JSON_PUID in fmt.name:
+ # This is brittle. Understand how to make more robust.
+ continue
+ priority_ids.append(id_)
+
priorities = [
f"{priority}"
- for priority in fmt.priorities
+ for priority in priority_ids
]
ff = f"""