Gramps: Alle Personen als Evangelisch oder katholisch setzen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Andre_J
    Erfahrener Benutzer
    • 20.06.2019
    • 1899

    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
    Gruß,
    Andre
  • HKD
    Benutzer
    • 20.06.2010
    • 71

    #2
    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

    Kommentar

    • sonki
      Erfahrener Benutzer
      • 10.05.2018
      • 4692

      #3
      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.
      Слава Україні

      Kommentar

      • Andre_J
        Erfahrener Benutzer
        • 20.06.2019
        • 1899

        #4
        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
        Gruß,
        Andre

        Kommentar

        • Xtine
          Administrator
          • 16.07.2006
          • 28326

          #5
          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
          sigpic .. .............
          Wer sich das Alte noch einmal vor Augen führt, um das Neue zu erkennen, der kann anderen ein Lehrer sein.
          (Konfuzius)

          Kommentar

          • offer
            Erfahrener Benutzer
            • 20.08.2011
            • 1731

            #6
            Hallo Andre_J!

            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!

            Kommentar

            • Andre_J
              Erfahrener Benutzer
              • 20.06.2019
              • 1899

              #7
              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
              Gruß,
              Andre

              Kommentar

              • offer
                Erfahrener Benutzer
                • 20.08.2011
                • 1731

                #8
                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 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!

                Kommentar

                • sonki
                  Erfahrener Benutzer
                  • 10.05.2018
                  • 4692

                  #9
                  Hallo,

                  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/[COLOR="Red"]<USERNAME>[/COLOR]/AppData/Local/[COLOR="red"]GrampsAIO64-5.1.3[/COLOR]/share'
                  sys.path.append(r'C:\Users\[COLOR="Red"]<USERNAME>[/COLOR]\AppData\Local\[COLOR="red"]GrampsAIO64-5.1.3[/COLOR]')
                  
                  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/[COLOR="Red"]<USERNAME>[/COLOR]/AppData/Roaming/gramps/grampsdb/[COLOR="Red"]5f81f8ee[/COLOR]')
                  
                  for person_handle in db.get_person_handles():
                      transaction = DbTxn('msg', db)
                      person = db.get_person_from_handle(person_handle)
                      serialized = person.serialize()
                      if '[COLOR="red"]<FN>[/COLOR]' in str(serialized):
                          db.transaction_commit(transaction)
                          event = Event()
                          event.set_type(EventType(41))
                          event.set_description([COLOR="red"]'evangelisch'[/COLOR])
                          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.
                  Zuletzt ge?ndert von sonki; 13.12.2020, 21:37.
                  Слава Україні

                  Kommentar

                  • Andre_J
                    Erfahrener Benutzer
                    • 20.06.2019
                    • 1899

                    #10
                    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
                    Gruß,
                    Andre

                    Kommentar

                    • offer
                      Erfahrener Benutzer
                      • 20.08.2011
                      • 1731

                      #11
                      Zitat von Andre_J Beitrag anzeigen
                      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
                      Ja, das passiert, wenn sie niemand wirklich an den GEDCOM-Standart hält.

                      Zitat von GEDCOM 5.5.1
                      FACT {FACT}:= (Fakt) Eine Person, eine Gruppe oder Organisation betreffendes nennenswertes Attribut oder nenneswerter Fakt. Eine FACT-Struktur wird normalerweise durch ein untergeordnetes TYPE-Kennzeichen spezifiziert oder klassifiziert.
                      Aber:
                      INDIVIDUAL_RECORD:=
                      n @XREF:INDI@ INDI {1:1}
                      ...
                      +1 <<INDIVIDUAL_ATTRIBUTE_STRUCTURE>>
                      ...
                      \/
                      INDIVIDUAL_ATTRIBUTE_STRUCTURE:=
                      ...
                      n RELI <RELIGIOUS_AFFILIATION>

                      +1 <<INDIVIDUAL_EVENT_DETAIL>>
                      ...
                      \/
                      INDIVIDUAL_EVENT_DETAIL:=
                      n <<EVENT_DETAIL>>
                      n AGE <AGE_AT_EVENT>
                      Damit wird in INDI -> RELI die Religionszugehörigkeit festgelegt.
                      mit den untergeordneten INDIVIDUAL_EVENT_DETAIL können dann weitere
                      religiöse Fakten einem bestimmten Alter zugeordnet werden.

                      Demnach ist es ausreichend und sollte für alle Genealogieprogramm "verständlich" sein, wenn GEDCOM folgendes enthält:
                      0 @XXX@ INDI
                      ...
                      1 RELI ev(angelisch)
                      ...
                      RELI und FACT ist doppelt gemoppelt.
                      This is an offer you can't resist!

                      Kommentar

                      • Andre_J
                        Erfahrener Benutzer
                        • 20.06.2019
                        • 1899

                        #12
                        Zitat von offer Beitrag anzeigen
                        RELI und FACT ist doppelt gemoppelt.
                        Ja, weiß ich. Ich hab das ja auch nur testweise eingetragen, um zu sehen, wie die Programme das einlesen. Und dabei vorsichtshalber gleich verschiedene Werte benutzt.
                        Da RELI aber "krisensicher" ist, nehme ich das.

                        Gruß,
                        Andre_J
                        Gruß,
                        Andre

                        Kommentar

                        • Xylander
                          Erfahrener Benutzer
                          • 30.10.2009
                          • 6446

                          #13
                          Hallo zusammen,
                          zur Methode kann ich nichts beitragen. Als Nutzer von Ahnenblatt 2.99 würde ich dort dann gern ev.-ref. lesen und nicht nur ev. Es sagt etwas über das Umfeld in der Grafschaft/dem Fürstentum Lippe aus.
                          Viele Grüße
                          Xylander

                          Kommentar

                          • Andre_J
                            Erfahrener Benutzer
                            • 20.06.2019
                            • 1899

                            #14
                            Zitat von sonki Beitrag anzeigen

                            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.
                            Danke für den Code. Hat auch funktioniert, nachdem ich den Pfad für os.environ und der Folgezeile Richtung C:\Program Files\GrampsAIO64-5.1.2 verbogen habe.

                            Für <FN> habe ich einen Nachnamen genommen. Was muß ich denn einsetzen, wenn ich alle haben will?

                            Gruß,
                            Andre_J
                            Gruß,
                            Andre

                            Kommentar

                            • sonki
                              Erfahrener Benutzer
                              • 10.05.2018
                              • 4692

                              #15
                              Zitat von Andre_J Beitrag anzeigen
                              Für <FN> habe ich einen Nachnamen genommen. Was muß ich denn einsetzen, wenn ich alle haben will?
                              Einfach die if-Zeile löschen und die Einrückung vom nachfolgenden Code zurücksetzen (also auf das gleiche Level wie "serialized = ...").
                              Zuletzt ge?ndert von sonki; 14.12.2020, 11:08.
                              Слава Україні

                              Kommentar

                              Lädt...
                              X