-
Notifications
You must be signed in to change notification settings - Fork 0
API
Im Folgenden wird erläutert, welche Schnittstellen WireLib2012 bietet und wie diese benutzt werden können. Im Quellcode befinden sich bereits Beispiele für jede dieser Schnittstellen.
WireLib2012 bietet bereits zahlreiche Schnittstellen, darunter
- der Export in das Allegro-Format ADT
- der Export in BibTeX
- der Import von BibTeX
- das Einfügen von einzelnen Einträgen
- die Validierung von Einträgen.
Der Allegro-Export kann ohne Weiteres überall im Programm ausgeführt werden.
Benötigt wird dafür nur die Klasse Allegro.
from documents.extras_allegro import Allegro
alg = Allegro()
alg.start()Damit werden alle nicht exportierten Einträge mit dem aktuellen Zeitstempel in
den Ordner gespeichert, der in der settings.py über die Variablen
DOCUMENTS_SECDIR und DOCUMENTS_ALLEGRO_FILES definiert wurde.
Der BibTeX-Export verhält sich ähnlich wie der Allegro-Export, benötigt wird
hier die Klasse Bibtex.
from documents.extras_bibtex import Bibtex
Bibtex().export_data(
export_documents,
path_to_save
).start()Damit werden alle angegebenen Einträge mit dem aktuellen Zeitstempel in den angegebenen Ordner gespeichert. Außerdem kann auch ein einzelnes Dokument ins BibTeX-Format exportiert werden, zum Beispiel für Literatur-Referenzen in LaTeX. Hierzu dienen die folgenden Zeilen Code.
from documents.extras_bibtex import Bibtex
bibtex_doc = Bibtex.export_doc(document)bibtex_doc ist der Unicode-String, in dem das angegebene
documents.models.document im BibTeX-Format angegeben ist und anderweitig
benutzt werden kann.
Der BibTeX-Import dient dazu, alte Buchdaten zu importieren. Importiert werden
können ausschließlich Daten in Dateien ohne zusätzliche TeX-Formatierung,
Formatierungen wie zum Beispiel "a für ä werden nicht konvertiert. Auch für
den Import von BibTeX wird ausschließlich die Klasse Bibtex benötigt.
from documents.extras_bibtex import Bibtex
Bibtex().do_import(filename)Die mit filename angegebene Datei wird mit diesem Code in die Datenbank
übernommen, Fehler in der Datei werden in filename.err abgespeichert.
Einzelne Einträge können ohne Weiteres importiert werden, benötigt wird
hierfür die Bibliothek extras_doc_funcs, sowie ein Python-dict mit den zu
importierenden Daten.
import extras_doc_funcs
extras_doc_funcs.insert_doc(dict_entry, user)Benötigte Einträge werden in der Datenbank deklariert und sind abhängig von der zugeörigen Kategorie. Der user wird benötigt für Vollständigkeit in der Datenbank bezüglich der letzten Änderungen am Inhalt eines Dokumentes.
Einzelne Einträge können mithilfe der Bibliothek extras_doc_funcs auf
Validität überprüft werden. Beim Import über die Funktion insert_doc ist
diese Überprüfung nicht explizit nötig, sie wird standardmäßig bereits
durchgeführt.
import extras_doc_funcs
is_valid = extras_doc_funcs.is_valid(dict_entry)Wie bei dem Import werden benötigte für Validität in der Datenbank deklariert und sind von der Kategorie abhängig.