From 3833b411ca829788a6aefd900444ed60b5055b2d Mon Sep 17 00:00:00 2001 From: beyer <–beyer@hab.de> Date: Fri, 1 Apr 2022 12:39:31 +0200 Subject: [PATCH] Dokumentation --- README.md | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 62606ce..0392b68 100644 --- a/README.md +++ b/README.md @@ -132,30 +132,39 @@ Der Dump kann mit einem Python-Skript neu erzeugt werden. Hierfür muss zunächs ```bash sudo git clone https://github.com/hbeyer/pylib ``` -In dem dabei angelegten Verzeichnis `pylib` kann dann folgendes Skript mit Python 3 ausgeführt werden: +In dem dabei angelegten Verzeichnis `pylib` können dann Skripte mit Python 3 ausgeführt werden. + +Herunterladen der PICA-XML-Dateien: ```python import logging -import zipfile -import os from lib import sru -from lib import isil -from lib import recordlist as rl -from lib import xmlreader as xr -from lib import pica logging.basicConfig(level=logging.INFO) -# Anpassen der Pfade erforderlich, die Ordner müssen bereits existieren +# Ordner muss existieren source_folder = f"{Ordner zum Download der PICAXML-Dateien}" -target_folder = f"{Ordner zum Anlegen der JSON-Dateien}" -# Download der PICA-XML-Dateien (sollte nur einmal ausgeführt werden, da zeitaufwändig) +# Download der PICA-XML-Dateien req = sru.Request_VD17() num = req.prepare("pica.bbg=(Aa* or Af* or Av*)") logging.info(f"Anzahl Datensätze: {req.numFound}") req.download("source_folder") +``` +Generieren der JSON-Serialisierung: + +```python +import logging +from lib import pica +from lib import isil +from lib import recordlist as rl +from lib import xmlreader as xr +logging.basicConfig(level=logging.INFO) + +# Festlegen der Ordner und der Größe der zu generierenden JSON-Dateien +source_folder = "{Ordner mit den PICAXML-Dateien}/" +target_folder = "{Ordner zum Speichern der JSON-Dateien}/" +size = 1000 -# Auslesen der PICA-XML-Dateien reader = xr.DownloadReader(source_folder, "record", "info:srw/schema/5/picaXML-v1.0") content = [] @@ -166,11 +175,10 @@ count = 0 for node in reader: content.append(pica.RecordVD17(node)) count += 1 - if count >= 1000: + if count >= size: recl = rl.RecordList(content) fn = f"vd17-{str(setn).zfill(3)}" recl.to_json(target_folder + fn) - fnn.append(fn + ".json") content = [] setn += 1 count = 0 @@ -178,8 +186,6 @@ if content != []: recl = rl.RecordList(content) fn = f"vd17-{str(setn).zfill(3)}" recl.to_json(target_folder + fn) - fnn.append(fn + ".json") ``` - > Written with [StackEdit](https://stackedit.io/). -- GitLab