Gern geschehen.
Auf der Wiki-Seite des Isotammi-Addons finden Sie Beispielskripte (als Links zu Diskussionen, in denen Probleme beschrieben und Lösungen geteilt wurden). Vier dieser Skripte dienen der Harmonisierung nicht standardisierter Datumsangaben. Eines davon wurde von einem Nutzer erstellt, der Gramps in einer Sprache verwendet und Datumsangaben in eine Fremdsprache (Italienisch) konvertieren muss.
https://www.gramps-project.org/wiki/index.php/Addon:Isotammi_addons#SuperTool_Scripts
Sie benötigen ein Beispielskript für SuperTool, das Gemini zur Verfügung stellt. Dies zeigt, dass nicht alles von Grund auf neu geschrieben werden muss. Gramps bietet Bibliotheken für gängige genealogische Datenmanipulationen.
Google Translate-Verhunzung. Original auf Englisch:
Glad to be of help.
There are example scripts available (as links to the discussions where people described a problem and shared their solution) from the Isotammi Addon wiki page. 4 scripts are related to harmonizing non-standard dates. One is by a people running Gramps in 1 languages and needing to convert dates in a foreign (Italian) language.
https://www.gramps-project.org/wiki/index.php/Addon:Isotammi_addons#SuperTool_Scripts
You need to provide a sample SupertTool script to Gemini. This will demonstrate that It doesn’t need to write everything from scratch. Gramps has libraries available for doing common genealogical data manipulations.
There are a few things that often surprise new users of SuperTool:
- SuperTool has a separte work space for each category. So a Date script is run when the Events category is active.
- The radio buttons and checkboxes in SuperTool are critically important. The buttons limit which records will be be fed through the script. Checkboxes limt the output. (The Execute is only a preview unless the “Commit changes” box is selected.)
- explore the Help (appended is a translation of the SuperTool
helptxt.json that you can paste into that file.
Einige Dinge überraschen neue SuperTool-Nutzer oft:
-
SuperTool hat für jede Kategorie einen separaten Arbeitsbereich. Ein Datumsskript wird also ausgeführt, wenn die Kategorie „Ereignisse“ aktiv ist.
-
Die Optionsfelder und Kontrollkästchen in SuperTool sind von entscheidender Bedeutung. Die Schaltflächen schränken ein, welche Datensätze vom Skript verarbeitet werden. Kontrollkästchen begrenzen die Ausgabe. (Die Ausführung dient nur der Vorschau, sofern das Kontrollkästchen „Änderungen übernehmen“ nicht aktiviert ist.)
-
Sehen Sie sich die Hilfe an (eine Übersetzung der SuperTool-Datei helptxt.json ist beigefügt, die Sie in diese Datei einfügen können).
Ersetzen Sie die englische Version der SuperTool-Datei helptext.json durch eine deutsche Übersetzung.
{
"Hints": [
[
"Diagramm: SuperTool-Klassen",
"Attribute und Beziehungen zwischen SuperTool-Objekten",
"https://github.com/Taapeli/isotammi-addons/blob/master/source/SuperTool/supertool.svg"
],
[
"Beispielskripte",
"Eine Liste von SuperTool-Skripten, die in verschiedenen Foren veröffentlicht wurden",
"https://www.gramps-project.org/wiki/index.php/Addon:Isotammi_addons#SuperTool_Scripts"
],
[
"Gramps Entwickler-API-Handbuch",
"Gramps-Methoden und Moduldokumentation",
"https://gramps-project.org/docs/api.html",
"Durchsuchbare Dokumentation im Sphinx-Markdown-CMS"
],
[
"Diagramm: Gramps-Datenmodell",
"Gramps-Methoden und Module für primäre und sekundäre Objekte",
"https://gramps-project.org/wiki/index.php/Gramps_Data_Model",
"Durchsuchbare Dokumentation im Sphinx-Markdown-CMS"
],
[
"Diagramm: Gramps-API",
"UML-Blockdiagramm der Gramps-Methoden und Moduldokumentation",
"https://www.gramps-project.org/wiki/index.php/File:API.svg",
"Unified-Modeling-Language-Blockdiagramm der API-Aufrufe"
],
[
"Python-Funktion: dir()",
"Gibt typische Eigenschaften und Methoden zurück",
"https://docs.python.org/3/library/functions.html#dir",
"Ohne Argumente wird eine Liste der Namen im aktuellen lokalen Gültigkeitsbereich zurückgegeben"
],
[
"Python-Funktion: dir(obj)",
"Gibt alle Eigenschaften und Methoden des angegebenen Objekts ohne deren Werte zurück",
"https://www.w3schools.com/python/ref_func_dir.asp",
"Mit einem Argument wird versucht, eine Liste gültiger Attribute für dieses Objekt zurückzugeben"
],
[
"Python-„Dunder“-Methoden",
"„Double Underscore“- (führend und abschließend) oder „Magic“-Python-Methoden",
"https://www.reddit.com/r/Python/comments/br9ok2/list_of_all_python_dunder_methods/"
],
[
"Python-Methoden mit einfachem Unterstrich",
"Schwacher Hinweis auf „internen Gebrauch“ (führend), Vermeidung von Python-Schlüsselwortkonflikten (abschließend)"
],
[
"Funktion: repr(obj)",
"Gibt eine druckbare Darstellung eines Objekts in Python zurück",
"https://docs.python.org/3/library/functions.html#repr",
"Gibt eine Zeichenkette mit einer druckbaren Darstellung eines Objekts zurück"
],
[
"Funktion: str(obj)",
"Wandelt ein Objekt in seine Zeichenkettenrepräsentation um",
"https://docs.python.org/3/library/stdtypes.html#str",
"type(object).__str__(object)"
]
],
"global": [
["active_person", "Aktive Person"],
["category", "Kategorie, z. B. „Dashboard“, „Personen“ usw."],
["db", "Datenbankobjekt"],
["dbstate", "Datenbankstatusobjekt"],
["filter", "Funktion, die einen benutzerdefinierten Filter anhand des Namens zurückgibt"],
["flatten", "Funktion, die Elemente aus verschachtelten Listen zurückgibt"],
["getargs", "Funktion, die den Benutzer nach Parametern für die Abfrage fragt"],
["makedate", "Funktion zum Erstellen eines Datumliterals; z. B. makedate(1800, 12, 31) oder makedate(1800)"],
["namespace", "z. B. „Person“, „Familie“ usw."],
["referrers", "Funktion, die Objekte der angegebenen Kategorie zurückgibt, die auf dieses Objekt verweisen"],
["today", "Funktion, die das heutige Datum zurückgibt"],
["trans", "Aktuelle Transaktion"],
["uistate", "UI-Statusobjekt"],
["uniq", "Funktion, die eindeutige Elemente aus einer Liste zurückgibt"],
["user", "Internes Gramps-Benutzerobjekt"]
],
"People": [
["attributes", "Attribute als Liste von Tupeln (Name, Wert)"],
["birth", "Geburtsereignis"],
["children", "Liste der Kinder der Person"],
["citations", "Liste der Zitate"],
["death", "Todesereignis"],
["events", "Liste aller mit dieser Person verknüpften Ereignisse"],
["families", "Liste der Familien, in denen diese Person Elternteil ist"],
["father", "Vater der Person"],
["firstname", "Vorname im primären Namen der Person"],
["gender", "Geschlecht als Zeichenkette: M, F oder U"],
["gramps_id", "Gramps-ID, z. B. I0123"],
["handle", "Interner Gramps-Handle"],
["media_list", "Liste der Medien"],
["mother", "Mutter der Person"],
["name", "Primärer Name als Zeichenkette"],
["nameobjs", "Liste interner Gramps-Namensobjekte"],
["names", "Liste der Namen als Zeichenketten"],
["notes", "Liste der Notizen"],
["obj", "Dieses Gramps-Personenobjekt (gleich wie „person“)"],
["parent_families", "Liste der Familien, in denen diese Person ein Kind ist"],
["parents", "Liste der Eltern der Person"],
["person", "Dieses Gramps-Personenobjekt (gleich wie „obj“)"],
["self", "Dieses PersonProxy-Objekt"],
["spouses", "Liste der Ehepartner der Person"],
["suffix", "Namenszusatz im primären Namen der Person"],
["surname", "Nachname im primären Namen der Person"],
["tags", "Liste der Schlagwörter als Zeichenketten"]
],
"Families": [
["attributes", "Attribute als Liste von Tupeln (Name, Wert)"],
["children", "Personenobjekte der Kinder der Familie"],
["citations", "Liste der Zitate"],
["events", "Liste aller mit dieser Familie verknüpften Ereignisse"],
["family", "Dieses Gramps-Familienobjekt (gleich wie „obj“)"],
["father", "Personenobjekt des Vaters der Familie"],
["gramps_id", "Gramps-ID, z. B. F0123"],
["handle", "Interner Gramps-Handle"],
["media_list", "Liste der Medien"],
["mother", "Personenobjekt der Mutter der Familie"],
["notes", "Liste der Notizen"],
["obj", "Dieses Gramps-Familienobjekt (gleich wie „family“)"],
["reltype", "Beziehungstyp"],
["self", "Dieses FamilyProxy-Objekt"],
["tags", "Liste der Schlagwörter als Zeichenketten"]
],
"Events": [
["attributes", "Attribute als Liste von Tupeln (Name, Wert)"],
["citations", "Liste der Zitate"],
["date", "Datum des Ereignisses"],
["description", "Beschreibung des Ereignisses"],
["event", "Dieses Gramps-Ereignisobjekt (gleich wie „obj“)"],
["gramps_id", "Gramps-ID, z. B. E0123"],
["handle", "Interner Gramps-Handle"],
["media_list", "Liste der Medien"],
["notes", "Liste der Notizen"],
["obj", "Dieses Gramps-Ereignisobjekt (gleich wie „event“)"],
["participants", "Teilnehmer des Ereignisses (Personenobjekte)"],
["place", "Ortsobjekt des Ereignisses"],
["placename", "Name des Ortes"],
["refs", "Ref-Objekte, die auf dieses Ereignis verweisen"],
["role", "Rolle des Ereignisses"],
["self", "Dieses EventProxy-Objekt"],
["tags", "Liste der Schlagwörter als Zeichenketten"],
["type", "Typ der Rolle als Zeichenkette"]
],
"Places": [
["altnames", "Liste alternativer Namen für diesen Ort"],
["citations", "Liste der Zitate"],
["code", "Code des Ortes"],
["enclosed_by", "Liste der Orte, die diesen Ort umschließen"],
["encloses", "Liste der Orte, die von diesem Ort umschlossen werden"],
["events", "Liste der Ereignisse, die an diesem Ort stattgefunden haben"],
["gramps_id", "Gramps-ID, z. B. P0123"],
["handle", "Interner Gramps-Handle"],
["lat", "Breitengrad"],
["long", "Längengrad"],
["longname", "Vollständiger Name einschließlich übergeordneter Orte"],
["media_list", "Liste der Medien"],
["name", "Name des Ortes"],
["notes", "Liste der Notizen"],
["obj", "Dieses Gramps-Ortsobjekt (gleich wie „place“)"],
["place", "Dieses Gramps-Ortsobjekt (gleich wie „obj“)"],
["self", "Dieses PlaceProxy-Objekt"],
["tags", "Liste der Schlagwörter als Zeichenketten"],
["title", "Titel des Ortes"],
["type", "Typ des Ortes als Zeichenkette"]
],
"Citations": [
["attributes", "Attribute als Liste von Tupeln (Name, Wert)"],
["citation", "Dieses Gramps-Zitatobjekt (gleich wie „obj“)"],
["citators", "Objekte, die auf dieses Zitat verweisen"],
["confidence", "Vertrauensstufe"],
["date", "Datum des Zitats"],
["gramps_id", "Gramps-ID, z. B. C0123"],
["handle", "Interner Gramps-Handle"],
["media_list", "Liste der Medien"],
["notes", "Liste der Notizen"],
["obj", "Dieses Gramps-Zitatobjekt (gleich wie „citation“)"],
["page", "Seitenangabe"],
["self", "Dieses CitationProxy-Objekt"],
["source", "Quelle"],
["tags", "Liste der Schlagwörter als Zeichenketten"]
],
"Sources": [
["abbrev", "Abkürzung"],
["attributes", "Attribute als Liste von Tupeln (Name, Wert)"],
["author", "Autor"],
["citations", "Liste der Zitate"],
["gramps_id", "Gramps-ID, z. B. S0123"],
["handle", "Interner Gramps-Handle"],
["media_list", "Liste der Medien"],
["notes", "Liste der Notizen"],
["obj", "Dieses Gramps-Quellenobjekt (gleich wie „source“)"],
["pubinfo", "Publikationsinformationen"],
["repositories", "Liste der Repositorien"],
["self", "Dieses SourceProxy-Objekt"],
["source", "Dieses Gramps-Quellenobjekt (gleich wie „obj“)"],
["tags", "Liste der Schlagwörter als Zeichenketten"],
["title", "Titel der Quelle"]
],
"Repositories": [
["gramps_id", "Gramps-ID, z. B. R0123"],
["handle", "Interner Gramps-Handle"],
["name", "Name des Repositoriums"],
["obj", "Dieses Gramps-Repositoriumsobjekt (gleich wie „repository“)"],
["repository", "Dieses Gramps-Repositoriumsobjekt (gleich wie „obj“)"],
["self", "Dieses RepositoryProxy-Objekt"],
["sources", "Liste der Quellen in diesem Repositorium"],
["tags", "Liste der Schlagwörter als Zeichenketten"],
["type", "Typ des Repositoriums"]
],
"Media": [
["attributes", "Attribute"],
["checksum", "Prüfsumme"],
["citations", "Liste der Zitate"],
["date", "Datum"],
["desc", "Beschreibung"],
["gramps_id", "Gramps-ID, z. B. O0123"],
["handle", "Interner Gramps-Handle"],
["media", "Dieses Gramps-Medienobjekt (gleich wie „obj“)"],
["mime", "MIME-Typ"],
["notes", "Liste der Notizen"],
["obj", "Dieses Gramps-Medienobjekt (gleich wie „media“)"],
["path", "Pfad zum Medienobjekt"],
["self", "Dieses MediaProxy-Objekt"],
["tags", "Liste der Schlagwörter als Zeichenketten"]
],
"Notes": [
["gramps_id", "Gramps-ID, z. B. N0123"],
["handle", "Interner Gramps-Handle"],
["note", "Dieses Gramps-Notizobjekt (gleich wie „obj“)"],
["obj", "Dieses Gramps-Notizobjekt (gleich wie „note“)"],
["self", "Dieses NoteProxy-Objekt"],
["tags", "Liste der Schlagwörter als Zeichenketten"],
["text", "Text der Notiz"],
["type", "Typ der Notiz als Zeichenkette"]
]
}