Skip to content
This repository was archived by the owner on Jun 8, 2020. It is now read-only.
Philipp Offensand edited this page Sep 6, 2012 · 4 revisions

Einführung

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.

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.

Allegro-Export

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.

BibTeX-Export

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.

BibTeX-Import

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.

Einzel-Import

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.

Validierung

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.

Clone this wiki locally