Schreiben eigener Skripte.
Zoltán Kóta
zoltank@gmail.com
Frédéric Gobry
frederic.gobry@epfl.ch

Creative Commons Share Alike 3.0

# Schreiben eigener Skripte

Um mit dem Schreiben Ihres eigenen Skripts zu beginnen, sollten Sie Folgendes lesen und außerdem einen Blick auf bereits vorhandene Skripte werfen. Ein Versuch, diese an Ihre persönlichen Erfordernisse anzupassen, könnte ein einfacher Weg sein, das auszuprobieren, was Sie lesen.

# Einige Konzepte

Dieser Abschnitt beschreibt einige grundlegende Klassen und Ideen, die Ihnen das Verständnis dessen erleichtern sollen, wie Pybliographer funktioniert.

Im Folgenden beziehen sich alle Module auf die Pyblio-Domain. Um also auf das Open-Modul zuzugreifen, setzen Sie Folgendes an den Anfang Ihres Skripts:

    from Pyblio import Open

Das Base-Modul enthält einige der grundlegendsten in der Anwendung verwendeten Klassen:

Base.Entry repräsentiert einen spezifischen bibliografischen Eintrag, mit allen seinen Feldern. Es verhält sich wie eine Hash-Tabelle, die auf die Angabe dessen Namens den Inhalt eines Feldes zurückgibt.

Base.DataBase ist die Klasse, von der jeder Datenbanktyp die Eigenschaften erbt. Sie verhält sich wie eine Hash-Tabelle, die für einen gegebenen Base.Key einen Base.Entry zurückgibt.

Key.Key ist das Objekt, das einen Eintrag eindeutig identifiziert. Dieses Objekt muss in der gesamten Anwendung eindeutig sein und besteht aus einem Datenbankteil und einem Eintragsteil.

Ein Iterator ist ein Objekt, das eine Möglichkeit zum Zugriff auf eine Sequenz von geordneten Objekten bietet. Diese Iteratoren werden sehr häufig in Pybliographer verwendet, weil sie den zugrunde liegenden Zugriffsmechanismus verbergen, aber den gleichen Zugriff auf beliebige Datenbanken bieten. Sie sind auch perfekt zugeschnitten für die Implementierung transparenter Filterung und Sortierung von Einträgen: Die Selection.Selection-Klasse beispielsweise nimmt einen Iterator (z.B. in einer Datenbank) und gibt einen neuen zurück, der anhand eines Suchkriteriums nur eine Untermenge der Einträge iteriert.