genea:gramps:modification-sources

Modification du code source de Gramps

Remplacer les “_” par des espaces dans le titre d'un média ajouté :

  • fichier : /usr/lib/python3/dist-packages/gramps/gui/editors/addmedia.py
  • ligne: 210
  • action : ajouter root = root.replace("_", " ") juste après (root, ext) = os.path.splitext(basename)
  • Le plugin est installer dans : /home/jpm/.gramps/gramps52/plugins/GedcomforGeneanet/
  • NOTE : Le séparateur “-” utilisé pour séparer les différentes parties d'une Source est défini par Geneanet. Cela ne semble pas être modifiable.
    • Idem, les attributs sont stockés dans 2 entrées distincte : DATA pour le type d'attribut et TEXT pour sa valeur. Mais Généanet, les sépare par un “tiret”.
    • Solution : modifier l'écriture des attributs pour assembler type de l'attribut et valeur dans la même sortie stocké seulement dans DATA (comme pour le cas des URLs).
    • Dans le fichier /home/jpm/.gramps/gramps52/plugins/GedcomforGeneanet/GedcomforGeneanet.py remplacer dans la fonction def _source() la boucle listant les attributs par :
                  for srcattr in source.get_attribute_list():
                      level = 1
                      data = None
                      if self.urlshort:
                          url_pattern = "^https?:\\/\\/(?:www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b(?:[-a-zA-Z0-9()@:%_\\+.~#?&\\/=]*)$"
                          link = re.match(url_pattern, srcattr.value)
                          if link:
                              url=link.group()
                              data = "<A HREF=\"" + str(url) + "\" title=\"" + str(url) + "\">" + str(srcattr.type) + "</A>"
       
                      if data == None:
                          data = str(srcattr.type) + ' : ' + srcattr.value
       
                      if data != None:
                          self._writeln(level + 1, "DATA", data)
    • remplacer dans _source_ref_record() également ligne 1551 :
              if self.citattr:
                  for citattr in citation.get_attribute_list():
                      data = None
                      if self.urlshort:
                          url_pattern = "^https?:\\/\\/(?:www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b(?:[-a-zA-Z0-9()@:%_\\+.~#?&\\/=]*)$"
                          link = re.match(url_pattern, citattr.value)
                          if link:
                              url=link.group()
                              LOG.debug("deb write gedcom %s : %s  :" % ( str(url) , citattr.value ))
                              data = "<A HREF=\"" + str(url) + "\" title=\"" + str(url) + "\">" + str(citattr.type) + "</A>"
       
                      if data == None:
                          data = str(citattr.type) + ' : ' + citattr.value
       
                      if data != None:
                          self._writeln(level + 1, "DATA", data)
    • Pour prendre en compte les changements, supprimer le dossier pycache et relancer Gramps
  • genea/gramps/modification-sources.txt
  • Dernière modification : 2025/03/30 12:31
  • de jpmilcent