Zurück   Ahnenforschung.Net Forum > Software und Technik > Genealogie-Programme
Hier klicken, falls Sie Ihr Kennwort vergessen haben.

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1  
Alt 13.12.2020, 07:12
Benutzerbild von Andre_J
Andre_J Andre_J ist offline
Erfahrener Benutzer
 
Registriert seit: 20.06.2019
Beiträge: 657
Standard Gramps: Alle Personen als Evangelisch oder katholisch setzen

Tach zusammen,

in meiner Datenbank sind alle Personen evangelisch, weil die Dorfkirche nun mal evangelisch ist. Bislang habe ich mich daran nicht gestört, aber für die Übergabe an andere Ahnenforscher wäre es schon gut, wenn die Konfession vermerkt ist.
Soweit ich das sehe, reicht ja ein Ereignis des Typ Religion aus, das ich an alle Personen heften müsste. Bei mehreren hundert Personen macht das per Hand natürlich wenig Spaß.

Gibt es dafür eine Bulk-Edit-Lösung in Gramps? Oder hat sich da schonmal jemand was programmiert? Meine Porgrammierkenntnisse beschränken sich leider auf Fortran 77 und Basic

Gruß,
Andre_J
Mit Zitat antworten
  #2  
Alt 13.12.2020, 12:14
HKD HKD ist offline
Benutzer
 
Registriert seit: 20.06.2010
Beiträge: 58
Standard

Hallo Andre_J,

wenn Du schnell pauschal "Alle Personen als Evangelisch oder katholisch setzen" willst, bietet sich das Werkzeug 'Stammbaumverarbeitung' --> 'Attribut setzen...' an.

Ich persönlich sehe die Religionszugehörigkeit nicht als Ereignis an, sondern als eine Eigenschaft, die auf einem Ereignis basiert (Taufe/Konvertierung/Kirchenaustritt).
Entsprechend trage ich die Religionszugehörigkeit grundsätzlich nur ein, wenn das betreffende Ereignis dokumentiert ist. Und zwar als Attribut zu diesem Ereignis.

Das sieht auch bei der Ausgabe des Berichts 'Alle Daten einer Person' sauber aus. Diesen Bericht nutze ich sehr oft, um zu testen, wie meine Eingaben wiedergegeben werden.

Beste Grüße

HKD
Mit Zitat antworten
  #3  
Alt 13.12.2020, 13:13
sonki sonki ist offline
Erfahrener Benutzer
 
Registriert seit: 10.05.2018
Beiträge: 3.065
Standard

Zitat:
Zitat von HKD Beitrag anzeigen
Entsprechend trage ich die Religionszugehörigkeit grundsätzlich nur ein, wenn das betreffende Ereignis dokumentiert ist. Und zwar als Attribut zu diesem Ereignis.
Hallo,

so einen richtigen Weg habe ich bisher noch nicht gefunden. Persönlich trage ich die Religion als Attribut der Person direkt ein, mit Angabe des Datums. Es ist nämlich so, das ich Personen im Stammbaum habe die ev. getauft wurden, aber Jahrzehnte später z.b. als Trauzeugen auftauchen und dort als katholisch eingetragen sind. Das bedeutet ja, das die Person irgendwann gewechselt ist, ohne das ich das Datum des Wechsels weiß, noch das ich ein Ereignis für diese Person dazu habe. Daher kann es sein, das ich Personen habe wo ich das Attribut "Religion" einer Person mehrfach zuordne - z.T. mit Beschreibungstext:
1850 - evangelisch - Beschreibung: Taufe
1880 - katholisch - Beschreibung: Trauzeige, dort als katholisch eingetragen
1920 - katholisch - Beschreibung: Tod

Aber bisher habe ich das nur sporadisch durchgezogen - so richtig gefällt mir das nämlich noch nicht.

Da diese Eintragung bei Gramps aber etwas umständlich einzutragen ist (man muss das Wort "evangelisch", "Katholisch" ect. ja manuell eintippen), böte sich ein Programm das in irgendeiner Form automatisch zu setzen ja an.
Mit Zitat antworten
  #4  
Alt 13.12.2020, 14:07
Benutzerbild von Andre_J
Andre_J Andre_J ist offline
Erfahrener Benutzer
Themenstarter
 
Registriert seit: 20.06.2019
Beiträge: 657
Standard

Zitat:
Zitat von HKD Beitrag anzeigen
Hallo Andre_J,

wenn Du schnell pauschal "Alle Personen als Evangelisch oder katholisch setzen" willst, bietet sich das Werkzeug 'Stammbaumverarbeitung' --> 'Attribut setzen...' an.
Das geht in der Tat sehr schnell und einfach, wird aber nicht in die gedcom-Datei geschrieben bzw auf der Gegenseite (Ahnenblatt) als Konfession eingelesen. Dann kann ich mir das auch sparen.

Gruß,
Andre_J
Mit Zitat antworten
  #5  
Alt 13.12.2020, 14:20
Benutzerbild von Xtine
Xtine Xtine ist offline weiblich
Administrator
 
Registriert seit: 16.07.2006
Ort: z' Minga [Mail: chatty1@gmx.de]
Beiträge: 25.257
Standard

Hallo Andre,

probier mal GedTool.

Es ist ein Excel-Makros zur Bearbeitung von GEDCOM-Dateien.

Datei einlesen, in der entsprechenden Spalte bei allen Personen die Konfession eingeben (geht ja bei Excel schnell), Datei wieder als gedcom ausgeben, fertig.

Das Programm ist Shareware, aber die 20 Tage Testzeitraum sollten Dir da ja ausreichen.
__________________
Viele Grüße .................................. .
Christine
.. .............
Wer sich das Alte noch einmal vor Augen führt, um das Neue zu erkennen, der kann anderen ein Lehrer sein.
(Konfuzius)

Mit Zitat antworten
  #6  
Alt 13.12.2020, 16:34
Benutzerbild von offer
offer offer ist offline
Erfahrener Benutzer
 
Registriert seit: 20.08.2011
Beiträge: 1.585
Standard

Hallo Andre_J!

Zitat:
Zitat von Andre_J Beitrag anzeigen
Tach zusammen,

in meiner Datenbank sind alle Personen evangelisch, weil die Dorfkirche nun mal evangelisch ist. Bislang habe ich mich daran nicht gestört, aber für die Übergabe an andere Ahnenforscher wäre es schon gut, wenn die Konfession vermerkt ist.
Soweit ich das sehe, reicht ja ein Ereignis des Typ Religion aus, das ich an alle Personen heften müsste. Bei mehreren hundert Personen macht das per Hand natürlich wenig Spaß.

Gibt es dafür eine Bulk-Edit-Lösung in Gramps? Oder hat sich da schonmal jemand was programmiert? Meine Porgrammierkenntnisse beschränken sich leider auf Fortran 77 und Basic

Gruß,
Andre_J
Das ließe sich eigentlich relativ einfach umsetzen. Ich könnte dafür ein kleines Programm erstellen.
Ich müßte dazu wissen, welche Religion eingesetzt werden soll oder ob eine Auswahl vorhanden sein soll.
Sollen mehrere vorhanden sein, müßte ich wissen, welche Attribute in Deinem Programm benutzt werden.

Ohne Auswahl müßte z.b. nur die Zeile
Code:
1 RELI ev
eingefügt werden, sofern nicht bereits vorhanden.
__________________
This is an offer you can't resist!
Mit Zitat antworten
  #7  
Alt 13.12.2020, 18:39
Benutzerbild von Andre_J
Andre_J Andre_J ist offline
Erfahrener Benutzer
Themenstarter
 
Registriert seit: 20.06.2019
Beiträge: 657
Standard

Zitat:
Zitat von offer Beitrag anzeigen
Hallo Andre_J!
Das ließe sich eigentlich relativ einfach umsetzen. Ich könnte dafür ein kleines Programm erstellen.
Ich müßte dazu wissen, welche Religion eingesetzt werden soll oder ob eine Auswahl vorhanden sein soll.
Sollen mehrere vorhanden sein, müßte ich wissen, welche Attribute in Deinem Programm benutzt werden.

Ohne Auswahl müßte z.b. nur die Zeile
Code:
1 RELI ev
eingefügt werden, sofern nicht bereits vorhanden.
Naja, so einfach die Gedcom-Datei manipulieren kann ich auch im Texteditor:
Suche 1 BIRT
Ersetze 1 RELI ev-ref\r\n1 BIRT

Das Ergebnis sieht in Gedbas gut aus. Wie das von der Software ausgewertet wird, ist dann wieder eine andere Sache. Ihr könnt es ja mal mit der Datei ausprobieren.

Gramps und MyFamilyTree werten RELI und Attribut (FACT) aus, Ahnenblatt 2.99 nur RELI.

Mir ging es aber eigentlich darum, die Änderung direkt in die eigene Datenbank zu schreiben. Mit Python sollte sowas doch möglich sein, oder nicht?

Gruß,
Andre_J
Mit Zitat antworten
  #8  
Alt 13.12.2020, 19:40
Benutzerbild von offer
offer offer ist offline
Erfahrener Benutzer
 
Registriert seit: 20.08.2011
Beiträge: 1.585
Standard

Zitat:
Zitat von Andre_J Beitrag anzeigen
...
Soweit ich das sehe, reicht ja ein Ereignis des Typ Religion aus, das ich an alle Personen heften müsste. Bei mehreren hundert Personen macht das per Hand natürlich wenig Spaß.
...
Hm...

Zitat:
Zitat von Andre_J Beitrag anzeigen
Naja, so einfach die Gedcom-Datei manipulieren kann ich auch im Texteditor:
Suche 1 BIRT
Ersetze 1 RELI ev-ref\r\n1 BIRT

Das Ergebnis sieht in Gedbas gut aus. Wie das von der Software ausgewertet wird, ist dann wieder eine andere Sache. Ihr könnt es ja mal mit der Datei ausprobieren.

Gramps und MyFamilyTree werten RELI und Attribut (FACT) aus, Ahnenblatt 2.99 nur RELI.

Mir ging es aber eigentlich darum, die Änderung direkt in die eigene Datenbank zu schreiben. Mit Python sollte sowas doch möglich sein, oder nicht?
...
"FACT" in Verbindung mit "RELI" gibt es nicht.

Es gibt
"0 FAM FACT ..."
"0 HEAD FACT ..."
"0 INDI FACT ..."
aber kein
"0 INDI RELI FACT ..."

Oder meintest Du
"0 INDI RELI ev|kath|..." wobei "ev|kath|..."=FACT?

Nur mal so, des Interesses wegen.
__________________
This is an offer you can't resist!
Mit Zitat antworten
  #9  
Alt 13.12.2020, 20:34
sonki sonki ist offline
Erfahrener Benutzer
 
Registriert seit: 10.05.2018
Beiträge: 3.065
Standard

Hallo,

Zitat:
Mir ging es aber eigentlich darum, die Änderung direkt in die eigene Datenbank zu schreiben. Mit Python sollte sowas doch möglich sein, oder nicht?
prinzipiell kann man es mit Python direkt in die Datenbank schreiben.
Ausgehend von diesem Thread: https://forum.ahnenforschung.net/sho...=195159&page=3 mal mein Versuch.

Jemand der sich mit dem Gramps-Code auskennt werden sich vermutlich die Zehennägel hochstellen, aber bei einem schnellen Test hat es bei mir funktioniert. Wobei ich pro Person ein Religion-"Ereignis" erstellen und es dann mit der Person verknüpfe. Vermutlich ginge es auch, wenn man ein einziges Ereignis erstellt und das dann fortlaufend mit den entsprechenden Personen verknüpft.
Aber das kann man ja sehr leicht mit untenstehendem Code einstellen.

POC-Code (in rot die variablen Werte):
Code:
import sys
import os
import sqlite3

os.environ['GRAMPS_RESOURCES'] = 'C:/Users/<USERNAME>/AppData/Local/GrampsAIO64-5.1.3/share'
sys.path.append(r'C:\Users\<USERNAME>\AppData\Local\GrampsAIO64-5.1.3')

from gramps.gen.dbstate import DbState
from gramps.plugins.db.dbapi import sqlite
from gramps.gen.lib import Event, EventType, EventRef
from gramps.gen.db.txn import DbTxn

db = sqlite.SQLite('C:/Users/<USERNAME>/AppData/Roaming/gramps/grampsdb/5f81f8ee')

for person_handle in db.get_person_handles():
    transaction = DbTxn('msg', db)
    person = db.get_person_from_handle(person_handle)
    serialized = person.serialize()
    if '<FN>' in str(serialized):
        db.transaction_commit(transaction)
        event = Event()
        event.set_type(EventType(41))
        event.set_description('evangelisch')
        gramps_id = db.add_event(event, transaction)
        db.transaction_commit(transaction)
        eventRef = EventRef()
        eventRef.set_reference_handle(gramps_id)
        person.add_event_ref(eventRef)
        db.add_person(person, transaction)
        db.transaction_commit(transaction)

db.close()
Obiger Code liest alle Personen aus der DB und geht in einer Schleife all diese Personen nach und nach durch und erstellt für alle Personen mit <FN> ein "Religion-Event", setzt einen Wert ("evangelisch") und verknüft es mit der Person. Auf ein Datum/Ort für das Event habe ich mal verzichtet.

Ach ja: Nutzung auf eigene Gefahr - ist schnell zusammengebastelter Code und mein Verständnis über die Gramps-API/Code ist minimal.

Geändert von sonki (13.12.2020 um 20:37 Uhr)
Mit Zitat antworten
  #10  
Alt 13.12.2020, 20:36
Benutzerbild von Andre_J
Andre_J Andre_J ist offline
Erfahrener Benutzer
Themenstarter
 
Registriert seit: 20.06.2019
Beiträge: 657
Standard

Zitat:
Zitat von offer Beitrag anzeigen
Hm...

"FACT" in Verbindung mit "RELI" gibt es nicht.

Es gibt
"0 FAM FACT ..."
"0 HEAD FACT ..."
"0 INDI FACT ..."
aber kein
"0 INDI RELI FACT ..."

Oder meintest Du
"0 INDI RELI ev|kath|..." wobei "ev|kath|..."=FACT?

Nur mal so, des Interesses wegen.
Ich hatte probeweise in Gramps ein Ereignisvom Typ Religion und ein Attribut vom Typ Religion gesetzt. In der Gedcon-Datei steht dann:

1 RELI evangelisch
1 FACT ev-ref
2 TYPE Religion

Dann steht in MyFamilyTree
Religion: evangelisch
Religion: ev-ref

während das Ahnenblatt nur
Religion: evangelisch
anzeigt.

Gruß,
Andre_J
Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:25 Uhr.