Skip to content
Snippets Groups Projects
Commit 3833b411 authored by beyer's avatar beyer
Browse files

Dokumentation

parent 6a917479
No related branches found
No related tags found
No related merge requests found
......@@ -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/).
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment