Skip to content

Commit 2ab2429

Browse files
committed
Update docs and registry
1 parent 6b33497 commit 2ab2429

6 files changed

Lines changed: 133 additions & 5 deletions

File tree

docs/jsonid/export.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ <h2 class="section-title" id="header-functions">Functions</h2>
112112
increment_id += 1
113113
fmt = pronom.Format(
114114
id=increment_id,
115-
name=f&#34;JSON (Baseline - fmt/817) ({encoding})&#34;,
115+
name=f&#34;JSON (Baseline - {JSON_PUID}) ({encoding})&#34;,
116116
version=&#34;&#34;,
117117
puid=&#34;jsonid:0000&#34;,
118118
mime=&#34;application/json&#34;,

docs/jsonid/file_processing.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ <h2 class="section-title" id="header-functions">Functions</h2>
107107
res = await analysis.analyse_input(base_obj.data, base_obj.content_for_analysis)
108108
res[&#34;doctype&#34;] = base_obj.doctype
109109
res[&#34;encoding&#34;] = base_obj.encoding
110+
res[&#34;agent&#34;] = version.get_agent()
110111
if base_obj.doctype == registry.DOCTYPE_JSONL:
111112
res[&#34;compression&#34;] = base_obj.compression
112113
res.pop(&#34;content_length&#34;)

docs/jsonid/jsonid.html

Lines changed: 78 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,80 @@ <h1 class="title">Module <code>src.jsonid.jsonid</code></h1>
4545
<section>
4646
<h2 class="section-title" id="header-functions">Functions</h2>
4747
<dl>
48+
<dt id="src.jsonid.jsonid.analysis"><code class="name flex">
49+
<span>def <span class="ident">analysis</span></span>(<span>) ‑> None</span>
50+
</code></dt>
51+
<dd>
52+
<details class="source">
53+
<summary>
54+
<span>Expand source code</span>
55+
</summary>
56+
<pre><code class="python">def analysis() -&gt; None:
57+
&#34;&#34;&#34;Secondary entry point for analysis functionality.
58+
59+
Enables us to call analysis from the command line once installed
60+
via PyPi.
61+
&#34;&#34;&#34;
62+
parser = argparse.ArgumentParser(
63+
prog=&#34;jsonida&#34;,
64+
description=&#34;JSONID(A)nalysis&#34;,
65+
epilog=&#34;for more information visit https://github.com/ffdev-info/jsonid&#34;,
66+
)
67+
parser.add_argument(
68+
&#34;--debug&#34;,
69+
help=&#34;use debug loggng&#34;,
70+
required=False,
71+
action=&#34;store_true&#34;,
72+
)
73+
parser.add_argument(
74+
&#34;--path&#34;,
75+
&#34;-p&#34;,
76+
help=&#34;analyse a file in support of ruleset development and data preservation&#34;,
77+
required=False,
78+
type=str,
79+
metavar=&#34;PATH&#34;,
80+
)
81+
args = parser.parse_args()
82+
83+
if not args.path:
84+
parser.print_help(sys.stderr)
85+
sys.exit()
86+
87+
# Initialize logging.
88+
init_logging(args.debug)
89+
90+
# Attempt lookup in the registry. This should come first as it
91+
# doesn&#39;t involve reading files.
92+
_attempt_lookup(args)
93+
94+
# Determine which decode strategy to adopt.
95+
strategy = _get_strategy(args)
96+
if not strategy:
97+
logger.error(
98+
&#34;please ensure there is one remaining decode strategy, e.g. %s&#34;,
99+
&#34;,&#34;.join(decode_strategies),
100+
)
101+
sys.exit(1)
102+
103+
# Enable graceful exit via signal handler...
104+
def signal_handler(*args): # pylint: disable=W0613
105+
logger.info(&#34;exiting...&#34;)
106+
sys.exit(0)
107+
108+
signal.signal(signal.SIGINT, signal_handler)
109+
110+
if args.path:
111+
asyncio.run(
112+
file_processing.analyse_data(
113+
path=args.path,
114+
strategy=strategy,
115+
)
116+
)</code></pre>
117+
</details>
118+
<div class="desc"><p>Secondary entry point for analysis functionality.</p>
119+
<p>Enables us to call analysis from the command line once installed
120+
via PyPi.</p></div>
121+
</dd>
48122
<dt id="src.jsonid.jsonid.init_logging"><code class="name flex">
49123
<span>def <span class="ident">init_logging</span></span>(<span>debug: bool)</span>
50124
</code></dt>
@@ -85,8 +159,8 @@ <h2 class="section-title" id="header-functions">Functions</h2>
85159

86160
parser = argparse.ArgumentParser(
87161
prog=&#34;jsonid&#34;,
88-
description=&#34;proof-of-concept identifier for JSON objects on disk based on identifying valid objects and their key-values&#34;,
89-
epilog=&#34;for more information visit https://github.com/ffdev-info/json-id&#34;,
162+
description=&#34;JSON(ID)entification of objects on disk based on identifying valid objects and their key-values&#34;,
163+
epilog=&#34;for more information visit https://github.com/ffdev-info/jsonid&#34;,
90164
)
91165
parser.add_argument(
92166
&#34;--debug&#34;,
@@ -175,6 +249,7 @@ <h2 class="section-title" id="header-functions">Functions</h2>
175249
parser.add_argument(
176250
&#34;--analyse&#34;,
177251
&#34;--analyze&#34;,
252+
&#34;--analysis&#34;,
178253
&#34;-a&#34;,
179254
help=&#34;analyse a file in support of ruleset development and data preservation&#34;,
180255
required=False,
@@ -282,6 +357,7 @@ <h2 class="section-title" id="header-functions">Functions</h2>
282357
</li>
283358
<li><h3><a href="#header-functions">Functions</a></h3>
284359
<ul class="">
360+
<li><code><a title="src.jsonid.jsonid.analysis" href="#src.jsonid.jsonid.analysis">analysis</a></code></li>
285361
<li><code><a title="src.jsonid.jsonid.init_logging" href="#src.jsonid.jsonid.init_logging">init_logging</a></code></li>
286362
<li><code><a title="src.jsonid.jsonid.main" href="#src.jsonid.jsonid.main">main</a></code></li>
287363
</ul>

docs/jsonid/pronom.html

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -314,9 +314,19 @@ <h2 class="section-title" id="header-functions">Functions</h2>
314314
for sig in fmt.external_signatures
315315
if sig.type.lower() == EXT
316316
]
317+
318+
priority_ids = []
319+
for id_ in fmt.priorities:
320+
if id_ == str(fmt.id):
321+
continue
322+
if export.JSON_PUID in fmt.name:
323+
# This is brittle. Understand how to make more robust.
324+
continue
325+
priority_ids.append(id_)
326+
317327
priorities = [
318328
f&#34;&lt;HasPriorityOverFileFormatID&gt;{priority}&lt;/HasPriorityOverFileFormatID&gt;&#34;
319-
for priority in fmt.priorities
329+
for priority in priority_ids
320330
]
321331
ff = f&#34;&#34;&#34;
322332
&lt;FileFormat ID=\&#34;{fmt.id}\&#34; Name=\&#34;{fmt.name}\&#34; PUID=\&#34;{fmt.puid}\&#34; Version=&#34;{fmt.version}&#34; MIMEType=\&#34;{fmt.mime}\&#34; FormatType=\&#34;{fmt.classification}\&#34; &gt;

docs/registry/index.htm

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1468,6 +1468,44 @@ <h2 class="section-title" id="header-submodules">Contents</h2>
14681468
<td class="markers"><pre>{'KEY': 'version', 'ISTYPE': 'int'}
14691469
{'KEY': 'term', 'ISTYPE': 'dict'}
14701470
</pre></td>
1471+
</tr>
1472+
<tr>
1473+
<td id="jrid:0081">jrid:0081</td>
1474+
<td class="markers">Tldraw v1</td>
1475+
<td>False</td>
1476+
<td>False</td>
1477+
<td>True</td>
1478+
<td>True</td>
1479+
<td class="markers"><pre>{'KEY': 'tldrawFileFormatVersion', 'ISTYPE': 'int'}
1480+
{'KEY': 'records', 'ISTYPE': 'list'}
1481+
{'GOTO': 'schema', 'KEY': 'schemaVersion', 'IS': 1}
1482+
</pre></td>
1483+
</tr>
1484+
<tr>
1485+
<td id="jrid:0082">jrid:0082</td>
1486+
<td class="markers">Tldraw v2</td>
1487+
<td>False</td>
1488+
<td>False</td>
1489+
<td>True</td>
1490+
<td>True</td>
1491+
<td class="markers"><pre>{'KEY': 'tldrawFileFormatVersion', 'ISTYPE': 'int'}
1492+
{'KEY': 'records', 'ISTYPE': 'list'}
1493+
{'GOTO': 'schema', 'KEY': 'schemaVersion', 'IS': 2}
1494+
</pre></td>
1495+
</tr>
1496+
<tr>
1497+
<td id="jrid:0083">jrid:0083</td>
1498+
<td class="markers">Irkasi visual thinking tool</td>
1499+
<td>False</td>
1500+
<td>False</td>
1501+
<td>False</td>
1502+
<td>True</td>
1503+
<td class="markers"><pre>{'KEY': 'schema', 'ISTYPE': 'dict'}
1504+
{'KEY': 'shapes', 'ISTYPE': 'list'}
1505+
{'KEY': 'rootShapeIds', 'ISTYPE': 'list'}
1506+
{'KEY': 'bindings', 'ISTYPE': 'list'}
1507+
{'KEY': 'assets', 'ISTYPE': 'list'}
1508+
</pre></td>
14711509
</tr>
14721510

14731511
</tbody>
@@ -1571,6 +1609,9 @@ <h3>Contents</h3>
15711609
<li class="contents"><code><a href="#jrid:0078">jrid:0078: Wikidata Query Service Sparql Results (Wikiprov/Siegfried) (Generic)</a></code></li>
15721610
<li class="contents"><code><a href="#jrid:0079">jrid:0079: asciicast (asciinema.org) v2</a></code></li>
15731611
<li class="contents"><code><a href="#jrid:0080">jrid:0080: asciicast (asciinema.org) v3</a></code></li>
1612+
<li class="contents"><code><a href="#jrid:0081">jrid:0081: Tldraw v1</a></code></li>
1613+
<li class="contents"><code><a href="#jrid:0082">jrid:0082: Tldraw v2</a></code></li>
1614+
<li class="contents"><code><a href="#jrid:0083">jrid:0083: Irkasi visual thinking tool</a></code></li>
15741615

15751616
</ul>
15761617
</li>

docs/utils/jsonid2pronom.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ <h2 class="section-title" id="header-functions">Functions</h2>
131131

132132
for encoding in encodings:
133133
increment_id += 1
134-
json_puid = &#34;jsonid2pronom/1&#34;
134+
json_puid = f&#34;jsonid2pronom/{increment_id}&#34;
135135
name_ = f&#34;JSONID2PRONOM Conversion ({encoding})&#34;
136136
try:
137137
mime = &#34;application/json&#34;

0 commit comments

Comments
 (0)