Compare commits
29 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d5b0d2e347 | |||
| d6e1ebf801 | |||
| 236028d808 | |||
| 3c6253d4ff | |||
| ca154e46cd | |||
| d087a88d93 | |||
| 498284b2ba | |||
| 84eb262c26 | |||
| 497cc66a20 | |||
| 9d28157f31 | |||
| 7683470cf3 | |||
| f48d15de5c | |||
| 5704b4d113 | |||
| a35defb35e | |||
| 164db015e9 | |||
| afd0dbf40e | |||
| fca7917515 | |||
| e4a8cc44ae | |||
| 7d93d35994 | |||
| 8a41d0afd9 | |||
| 9a83d2341b | |||
| 776c4b639a | |||
| 545ec06e6d | |||
| debe141034 | |||
| 135e5639e1 | |||
| 9c7c5453b1 | |||
| de34eab12c | |||
| 4b2030d48b | |||
| 52f4f76c82 |
+1
-1
@@ -5,7 +5,7 @@ dnl May need to run automake && aclocal first
|
||||
|
||||
AC_PREREQ(2.57)
|
||||
dnl NOTE: arg to macro below becomes the "VERSION"
|
||||
AC_INIT(gramps, 3.1.3, [gramps-bugs@lists.sourceforge.net])
|
||||
AC_INIT(gramps, 3.1.4, [gramps-bugs@lists.sourceforge.net])
|
||||
AC_CONFIG_SRCDIR(configure.in)
|
||||
AM_INIT_AUTOMAKE([1.6.3 foreign])
|
||||
|
||||
|
||||
@@ -8598,7 +8598,7 @@ msgstr "Gramplet Parenté"
|
||||
|
||||
#: ../src/plugins/gramplet/RelativeGramplet.py:146
|
||||
msgid "Relatives"
|
||||
msgstr "Parentés"
|
||||
msgstr "Liens de parenté"
|
||||
|
||||
# à vérifier
|
||||
#: ../src/plugins/gramplet/SessionLogGramplet.py:37
|
||||
@@ -23005,7 +23005,7 @@ msgstr "GRAMPS offre un support unicode total. Les caractères de chaque langue
|
||||
|
||||
#: ../src/data/tips.xml.in.h:51
|
||||
msgid "GRAMPS works even when using KDE, as long as the required GTK libraries are installed."
|
||||
msgstr "GRAMPS fonctionne sous KDE, tant que les librairies GTK nécessaires sont installées."
|
||||
msgstr "GRAMPS fonctionne sous KDE, tant que les bibliothèques GTK nécessaires sont installées."
|
||||
|
||||
# Récits pour Narratives plutôt que sagas...
|
||||
#: ../src/data/tips.xml.in.h:52
|
||||
|
||||
@@ -9,7 +9,7 @@ msgstr ""
|
||||
"Project-Id-Version: GRAMPS 3.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-11-24 07:53+0100\n"
|
||||
"PO-Revision-Date: 2009-11-25 22:53+0100\n"
|
||||
"PO-Revision-Date: 2010-01-27 22:48+0100\n"
|
||||
"Last-Translator: Łukasz Rymarczyk <yenidai@poczta.onet.pl>\n"
|
||||
"Language-Team: Łukasz Rymarczyk <yenidai@poczta.onet.pl>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -10928,7 +10928,7 @@ msgstr "Raport relacji rodzinnych dla %s"
|
||||
#: ../src/plugins/textreport/KinshipReport.py:133
|
||||
#, python-format
|
||||
msgid "spouses of %s"
|
||||
msgstr "konkubenci %s"
|
||||
msgstr "małżonkowie %s"
|
||||
|
||||
#: ../src/plugins/textreport/KinshipReport.py:343
|
||||
msgid "The maximum number of descendant generations"
|
||||
|
||||
@@ -35,7 +35,7 @@ msgstr ""
|
||||
"Project-Id-Version: sv\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-11-24 07:53+0100\n"
|
||||
"PO-Revision-Date: 2009-11-24 15:49+0100\n"
|
||||
"PO-Revision-Date: 2009-12-14 15:18+0100\n"
|
||||
"Last-Translator: Peter Landgren <peter.talken@telia.com>\n"
|
||||
"Language-Team: svenska <sv@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -6961,7 +6961,7 @@ msgstr "Läser databas..."
|
||||
#: ../src/plugins/textreport/BirthdayReport.py:246
|
||||
#, python-format
|
||||
msgid "%(person)s, birth%(relation)s"
|
||||
msgstr "%(person)s, birth%(relation)s"
|
||||
msgstr "%(person)s, födelse%(relation)s"
|
||||
|
||||
#: ../src/plugins/drawreport/Calendar.py:294
|
||||
#: ../src/plugins/textreport/BirthdayReport.py:250
|
||||
|
||||
+2714
-3237
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,7 @@
|
||||
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright (C) 2001-2007 Donald N. Allingham
|
||||
# Copyright (C) 2009 Gary Burton
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -91,6 +92,7 @@ _SDATA_START = 2
|
||||
_SDATA_STOP = 4
|
||||
_RETURN = gtk.gdk.keyval_from_name("Return")
|
||||
_KP_ENTER = gtk.gdk.keyval_from_name("KP_Enter")
|
||||
_SPACE = gtk.gdk.keyval_from_name("space")
|
||||
_LEFT_BUTTON = 1
|
||||
_RIGHT_BUTTON = 3
|
||||
|
||||
@@ -1102,7 +1104,7 @@ class RelationshipView(PageView.PersonNavView):
|
||||
return None
|
||||
|
||||
birth = ReportUtils.get_birth_or_fallback(self.dbstate.db, person)
|
||||
if birth and birth.get_type != gen.lib.EventType.BIRTH:
|
||||
if birth and birth.get_type() != gen.lib.EventType.BIRTH:
|
||||
sdate = DateHandler.get_date(birth)
|
||||
if sdate:
|
||||
bdate = "<i>%s</i>" % cgi.escape(sdate)
|
||||
@@ -1114,7 +1116,7 @@ class RelationshipView(PageView.PersonNavView):
|
||||
bdate = ""
|
||||
|
||||
death = ReportUtils.get_death_or_fallback(self.dbstate.db, person)
|
||||
if death and death.get_type != gen.lib.EventType.DEATH:
|
||||
if death and death.get_type() != gen.lib.EventType.DEATH:
|
||||
sdate = DateHandler.get_date(death)
|
||||
if sdate:
|
||||
ddate = "<i>%s</i>" % cgi.escape(sdate)
|
||||
@@ -1602,7 +1604,7 @@ def button_activated(event, mouse_button):
|
||||
if (event.type == gtk.gdk.BUTTON_PRESS and \
|
||||
event.button == mouse_button) or \
|
||||
(event.type == gtk.gdk.KEY_PRESS and \
|
||||
event.keyval in (_RETURN, _KP_ENTER)):
|
||||
event.keyval in (_RETURN, _KP_ENTER, _SPACE)):
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
@@ -107,7 +107,7 @@ class EventModel(BaseModel):
|
||||
return u''
|
||||
|
||||
def column_type(self,data):
|
||||
return str(gen.lib.EventType(data[COLUMN_TYPE]))
|
||||
return unicode(gen.lib.EventType(data[COLUMN_TYPE]))
|
||||
|
||||
def column_id(self,data):
|
||||
return unicode(data[COLUMN_ID])
|
||||
|
||||
@@ -127,7 +127,7 @@ class FamilyModel(BaseModel):
|
||||
return u""
|
||||
|
||||
def column_type(self, data):
|
||||
return str(gen.lib.FamilyRelType(data[5]))
|
||||
return unicode(gen.lib.FamilyRelType(data[5]))
|
||||
|
||||
def column_marriage(self, data):
|
||||
erlist = [ gen.lib.EventRef().unserialize(d) for d in data[6] ]
|
||||
|
||||
@@ -527,7 +527,7 @@ class PeopleModel(gtk.GenericTreeModel):
|
||||
GrampsLocale.codeset)
|
||||
|
||||
def column_gender(self, data, node):
|
||||
return PeopleModel._GENDER[data[PeopleModel._GENDER_COL]]
|
||||
return unicode(PeopleModel._GENDER[data[PeopleModel._GENDER_COL]])
|
||||
|
||||
def column_birth_day(self, data, node):
|
||||
try:
|
||||
|
||||
@@ -104,7 +104,7 @@ class RepositoryModel(BaseModel):
|
||||
return unicode(data[1])
|
||||
|
||||
def column_type(self,data):
|
||||
return str(gen.lib.RepositoryType(data[2]))
|
||||
return unicode(gen.lib.RepositoryType(data[2]))
|
||||
|
||||
def column_name(self,data):
|
||||
return unicode(data[3])
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright (C) 2000-2006 Donald N. Allingham
|
||||
# Copyright (C) 2009 Gary Burton
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -344,11 +345,11 @@ class GalleryTab(ButtonTab):
|
||||
dnd_types = [ self._DND_TYPE.target(), self._DND_EXTRA.target(),
|
||||
DdTargets.MEDIAOBJ.target()]
|
||||
|
||||
self.iconlist.drag_dest_set(gtk.DEST_DEFAULT_ALL, dnd_types,
|
||||
gtk.gdk.ACTION_COPY)
|
||||
self.iconlist.drag_source_set(gtk.gdk.BUTTON1_MASK,
|
||||
[self._DND_TYPE.target()],
|
||||
gtk.gdk.ACTION_COPY)
|
||||
self.iconlist.enable_model_drag_dest(dnd_types,
|
||||
gtk.gdk.ACTION_COPY)
|
||||
self.iconlist.enable_model_drag_source(gtk.gdk.BUTTON1_MASK,
|
||||
[self._DND_TYPE.target()],
|
||||
gtk.gdk.ACTION_COPY)
|
||||
self.iconlist.connect('drag_data_get', self.drag_data_get)
|
||||
if not self.dbstate.db.readonly:
|
||||
self.iconlist.connect('drag_data_received', self.drag_data_received)
|
||||
|
||||
@@ -119,7 +119,9 @@ class ExportAssistant(gtk.Assistant, ManagedWindow.ManagedWindow) :
|
||||
self.top_title = _("Export Assistant")
|
||||
ManagedWindow.ManagedWindow.__init__(self,uistate,[],
|
||||
self.__class__)
|
||||
self.set_window(self, None, self.top_title, isWindow=True)
|
||||
#set_window is present in both parent classes
|
||||
ManagedWindow.ManagedWindow.set_window(self, self, None,
|
||||
self.top_title, isWindow=True)
|
||||
|
||||
#set up callback method for the export plugins
|
||||
self.callback = self.pulse_progressbar
|
||||
|
||||
@@ -254,7 +254,7 @@ a:visited {
|
||||
/* Alphabet Navigation
|
||||
----------------------------------------------------- */
|
||||
div#alphabet {
|
||||
width: 100%;
|
||||
width: 965px;
|
||||
margin: 0;
|
||||
background-color: #FFF2C6;
|
||||
}
|
||||
|
||||
@@ -66,8 +66,8 @@ def delete_person_from_database(db, person, trans):
|
||||
|
||||
for phandle in person_list:
|
||||
p = db.get_person_from_handle(phandle)
|
||||
p.remove_handle_references('Person', handle)
|
||||
db.commit_person(person, trans)
|
||||
p.remove_handle_references('Person', [handle])
|
||||
db.commit_person(p, trans)
|
||||
db.remove_person(handle, trans)
|
||||
|
||||
def remove_family_relationships(db, family_handle, trans=None):
|
||||
|
||||
@@ -134,7 +134,7 @@ class ODFDoc(BaseDoc.BaseDoc, BaseDoc.TextDoc, BaseDoc.DrawDoc):
|
||||
self.cntnt.write('xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" ')
|
||||
self.cntnt.write('xmlns:dom="http://www.w3.org/2001/xml-events" ')
|
||||
self.cntnt.write('xmlns:xforms="http://www.w3.org/2002/xforms" ')
|
||||
self.cntnt.write('office:class="text" office:version="1.0">\n')
|
||||
self.cntnt.write('office:version="1.0">\n')
|
||||
self.cntnt.write('<office:scripts/>\n')
|
||||
self.cntnt.write('<office:font-face-decls>\n')
|
||||
self.cntnt.write('<style:font-face style:name="Courier" svg:font-family="Courier" ')
|
||||
@@ -187,7 +187,7 @@ class ODFDoc(BaseDoc.BaseDoc, BaseDoc.TextDoc, BaseDoc.DrawDoc):
|
||||
self.cntnt.write('svg:fill-color="#%02x%02x%02x" ' % style.get_color())
|
||||
self.cntnt.write('draw:fill-color="#%02x%02x%02x" ' % style.get_fill_color())
|
||||
self.cntnt.write('draw:shadow="hidden" ')
|
||||
self.cntnt.write('style:run-through="background" ')
|
||||
self.cntnt.write('style:run-through="foreground" ')
|
||||
self.cntnt.write('style:vertical-pos="from-top" ')
|
||||
self.cntnt.write('style:vertical-rel="paragraph" ')
|
||||
self.cntnt.write('style:horizontal-pos="from-left" ')
|
||||
@@ -206,7 +206,7 @@ class ODFDoc(BaseDoc.BaseDoc, BaseDoc.TextDoc, BaseDoc.DrawDoc):
|
||||
self.cntnt.write('draw:textarea-horizontal-align="center" ')
|
||||
self.cntnt.write('draw:textarea-vertical-align="middle" ')
|
||||
self.cntnt.write('draw:shadow="hidden" ')
|
||||
self.cntnt.write('style:run-through="background" ')
|
||||
self.cntnt.write('style:run-through="foreground" ')
|
||||
self.cntnt.write('style:vertical-pos="from-top" ')
|
||||
self.cntnt.write('style:vertical-rel="paragraph" ')
|
||||
self.cntnt.write('style:horizontal-pos="from-left" ')
|
||||
@@ -221,7 +221,7 @@ class ODFDoc(BaseDoc.BaseDoc, BaseDoc.TextDoc, BaseDoc.DrawDoc):
|
||||
self.cntnt.write('style:family="graphic">\n')
|
||||
self.cntnt.write('\t<style:graphic-properties draw:stroke="none" ')
|
||||
self.cntnt.write('draw:fill="none" draw:shadow="hidden" ')
|
||||
self.cntnt.write('style:run-through="background" ')
|
||||
self.cntnt.write('style:run-through="foreground" ')
|
||||
self.cntnt.write('style:vertical-pos="from-top" ')
|
||||
self.cntnt.write('style:vertical-rel="paragraph" ')
|
||||
self.cntnt.write('style:horizontal-pos="from-left" ')
|
||||
@@ -961,8 +961,6 @@ class ODFDoc(BaseDoc.BaseDoc, BaseDoc.TextDoc, BaseDoc.DrawDoc):
|
||||
self.meta.write('<dc:date>')
|
||||
self.meta.write(self.time)
|
||||
self.meta.write('</dc:date>\n')
|
||||
self.meta.write('<dc:keyword>')
|
||||
self.meta.write('</dc:keyword>\n')
|
||||
self.meta.write('<meta:print-date>0-00-00T00:00:00</meta:print-date>\n')
|
||||
self.meta.write('<dc:language>%s</dc:language>\n' % self.lang)
|
||||
self.meta.write('<meta:editing-cycles>1</meta:editing-cycles>\n')
|
||||
@@ -1023,10 +1021,10 @@ class ODFDoc(BaseDoc.BaseDoc, BaseDoc.TextDoc, BaseDoc.DrawDoc):
|
||||
|
||||
self.cntnt.write('<draw:polygon draw:style-name="%s" draw:layer="layout" ' % style)
|
||||
self.cntnt.write('draw:z-index="1" ')
|
||||
x = int((minx)*1000)
|
||||
y = int((miny)*1000)
|
||||
x = float(minx)
|
||||
y = float(miny)
|
||||
|
||||
self.cntnt.write('svg:x="%d" svg:y="%d" ' % (x, y))
|
||||
self.cntnt.write('svg:x="%2fcm" svg:y="%2fcm" ' % (x, y))
|
||||
self.cntnt.write('svg:viewBox="0 0 %d %d" ' % (int((maxx-minx)*1000), int((maxy-miny)*1000)))
|
||||
self.cntnt.write('svg:width="%.4fcm" ' % (maxx-minx))
|
||||
self.cntnt.write('svg:height="%.4fcm" ' % (maxy-miny))
|
||||
@@ -1072,10 +1070,10 @@ class ODFDoc(BaseDoc.BaseDoc, BaseDoc.TextDoc, BaseDoc.DrawDoc):
|
||||
self.cntnt.write('svg:y="%.2fcm">' % float(y))
|
||||
self.cntnt.write('<draw:text-box> ' )
|
||||
self.cntnt.write('<text:p text:style-name="F%s">' % para_name)
|
||||
self.cntnt.write('<text:span text:style-name="F%s"' % para_name)
|
||||
self.cntnt.write(' fo:max-height="%.2f">' % font.get_size() )
|
||||
self.cntnt.write('<text:span text:style-name="F%s">' % para_name)
|
||||
self.cntnt.write(escape(text, _esc_map))
|
||||
self.cntnt.write('</text:span></text:p>')
|
||||
self.cntnt.write('</text:span>')
|
||||
self.cntnt.write('</text:p>')
|
||||
self.cntnt.write('</draw:text-box>\n')
|
||||
self.cntnt.write('</draw:frame>\n')
|
||||
|
||||
|
||||
@@ -1409,7 +1409,10 @@ class GedcomWriter(BasicUtils.UpdateCallback):
|
||||
# Reference to the source
|
||||
self.__writeln(level, "SOUR", "@%s@" % src.get_gramps_id())
|
||||
if ref.get_page() != "":
|
||||
self.__writeln(level+1, 'PAGE', ref.get_page())
|
||||
# PAGE <WHERE_WITHIN_SOURCE> can not have CONC lines.
|
||||
# WHERE_WITHIN_SOURCE:= {Size=1:248}
|
||||
# Maximize line to 248 and set limit to 248, for no line split
|
||||
self.__writeln(level+1, 'PAGE', ref.get_page()[0:248], limit=248)
|
||||
|
||||
conf = min(ref.get_confidence_level(), gen.lib.SourceRef.CONF_VERY_HIGH)
|
||||
if conf != gen.lib.SourceRef.CONF_NORMAL and conf != -1:
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright (C) 2007-2009 Douglas S. Blank <doug.blank@gmail.com>
|
||||
# Copyright (C) 2009 Gary Burton
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -185,7 +186,7 @@ class PedigreeGramplet(Gramplet):
|
||||
|
||||
def info_string(self, person):
|
||||
birth = ReportUtils.get_birth_or_fallback(self.dbstate.db, person)
|
||||
if birth and birth.get_type != gen.lib.EventType.BIRTH:
|
||||
if birth and birth.get_type() != gen.lib.EventType.BIRTH:
|
||||
sdate = DateHandler.get_date(birth)
|
||||
if sdate:
|
||||
bdate = "<i>%s</i>" % cgi.escape(sdate)
|
||||
@@ -197,7 +198,7 @@ class PedigreeGramplet(Gramplet):
|
||||
bdate = ""
|
||||
|
||||
death = ReportUtils.get_death_or_fallback(self.dbstate.db, person)
|
||||
if death and death.get_type != gen.lib.EventType.DEATH:
|
||||
if death and death.get_type() != gen.lib.EventType.DEATH:
|
||||
sdate = DateHandler.get_date(death)
|
||||
if sdate:
|
||||
ddate = "<i>%s</i>" % cgi.escape(sdate)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#
|
||||
# Copyright (C) 2007-2008 Stephane Charette
|
||||
# Copyright (C) 2007-2008 Brian G. Matherly
|
||||
# Copyright (C) 2009 Gary Burton
|
||||
# Copyright (C) 2009-2010 Gary Burton
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Pubilc License as published by
|
||||
@@ -55,6 +55,7 @@ from gen.plug import PluginManager
|
||||
from gen.plug.menu import NumberOption, ColorOption, BooleanOption, \
|
||||
EnumeratedListOption, PersonListOption, \
|
||||
SurnameColorOption
|
||||
from BasicUtils import name_displayer
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
#
|
||||
@@ -762,7 +763,7 @@ class FamilyLinesReport(Report):
|
||||
for handle in self._people:
|
||||
self.progress.step()
|
||||
person = self._db.get_person_from_handle(handle)
|
||||
name = person.get_primary_name().get_regular_name()
|
||||
name = name_displayer.display_name(person.get_primary_name())
|
||||
|
||||
# figure out what colour to use
|
||||
gender = person.get_gender()
|
||||
|
||||
+12
-36
@@ -153,7 +153,7 @@ class RelationshipCalculator(Relationship.RelationshipCalculator):
|
||||
else:
|
||||
return "sobrino %d-ésimo" % level
|
||||
|
||||
def get_distant_nieve(self,level):
|
||||
def get_distant_niece(self,level):
|
||||
if level<len(_level_name_female):
|
||||
return "sobrina %s" % (_level_name_female[level])
|
||||
else:
|
||||
@@ -250,81 +250,57 @@ class RelationshipCalculator(Relationship.RelationshipCalculator):
|
||||
else:
|
||||
return "%d-ésima sobrina nieta" % (level-1)
|
||||
|
||||
def get_relationship(self,db, orig_person, other_person):
|
||||
def get_relationship(self, secondRel, firstRel, orig_person_gender, other_person_gender):
|
||||
"""
|
||||
returns a string representing the relationshp between the two people,
|
||||
along with a list of common ancestors (typically father,mother)
|
||||
"""
|
||||
|
||||
if orig_person is None:
|
||||
return ("undefined",[])
|
||||
|
||||
if orig_person.get_handle() == other_person.get_handle():
|
||||
return ('', [])
|
||||
|
||||
is_spouse = self.is_spouse(db, orig_person, other_person)
|
||||
if is_spouse:
|
||||
return (is_spouse,[])
|
||||
|
||||
#get_relationship_distance changed, first data is relation to
|
||||
#orig person, apperently secondRel in this function
|
||||
(secondRel,firstRel,common) = \
|
||||
self.get_relationship_distance(db, orig_person, other_person)
|
||||
|
||||
if isinstance(common, basestring):
|
||||
return (common,[])
|
||||
elif common:
|
||||
person_handle = common[0]
|
||||
else:
|
||||
return ("",[])
|
||||
|
||||
firstRel = len(firstRel)
|
||||
secondRel = len(secondRel)
|
||||
|
||||
common = ""
|
||||
if firstRel == 0:
|
||||
if secondRel == 0:
|
||||
return ('',common)
|
||||
elif other_person.get_gender() == gen.lib.Person.MALE:
|
||||
elif other_person_gender == gen.lib.Person.MALE:
|
||||
return (self.get_father(secondRel),common)
|
||||
else:
|
||||
return (self.get_mother(secondRel),common)
|
||||
elif secondRel == 0:
|
||||
if other_person.get_gender() == gen.lib.Person.MALE:
|
||||
if other_person_gender == gen.lib.Person.MALE:
|
||||
return (self.get_son(firstRel),common)
|
||||
else:
|
||||
return (self.get_daughter(firstRel),common)
|
||||
elif firstRel == 1:
|
||||
if other_person.get_gender() == gen.lib.Person.MALE:
|
||||
if other_person_gender == gen.lib.Person.MALE:
|
||||
return (self.get_uncle(secondRel),common)
|
||||
else:
|
||||
return (self.get_aunt(secondRel),common)
|
||||
elif secondRel == 1:
|
||||
if other_person.get_gender() == gen.lib.Person.MALE:
|
||||
if other_person_gender == gen.lib.Person.MALE:
|
||||
return (self.get_nephew(firstRel-1),common)
|
||||
else:
|
||||
return (self.get_niece(firstRel-1),common)
|
||||
elif firstRel == secondRel == 2:
|
||||
if other_person.get_gender() == gen.lib.Person.MALE:
|
||||
if other_person_gender == gen.lib.Person.MALE:
|
||||
return ('primo hermano',common)
|
||||
else:
|
||||
return ('prima hermana',common)
|
||||
elif firstRel == secondRel:
|
||||
if other_person.get_gender() == gen.lib.Person.MALE:
|
||||
if other_person_gender == gen.lib.Person.MALE:
|
||||
return (self.get_male_cousin(firstRel-1),common)
|
||||
else:
|
||||
return (self.get_female_cousin(firstRel-1),common)
|
||||
elif firstRel == secondRel+1:
|
||||
if other_person.get_gender() == gen.lib.Person.MALE:
|
||||
if other_person_gender == gen.lib.Person.MALE:
|
||||
return (self.get_distant_nephew(secondRel),common)
|
||||
else:
|
||||
return (self.get_distant_niece(secondRel),common)
|
||||
elif firstRel+1 == secondRel:
|
||||
if other_person.get_gender() == gen.lib.Person.MALE:
|
||||
if other_person_gender == gen.lib.Person.MALE:
|
||||
return (self.get_distant_uncle(firstRel),common)
|
||||
else:
|
||||
return (self.get_distant_aunt(firstRel),common)
|
||||
else:
|
||||
if other_person.get_gender() == gen.lib.Person.MALE:
|
||||
if other_person_gender == gen.lib.Person.MALE:
|
||||
return (self.get_male_relative(firstRel,secondRel),common)
|
||||
else:
|
||||
return (self.get_female_relative(firstRel,secondRel),common)
|
||||
|
||||
@@ -140,9 +140,9 @@ _brother_level = [u"", u"le frère%s", u"l'oncle%s", u"le grand-oncle%s",
|
||||
u"l'arrière-grand-oncle%s"]
|
||||
|
||||
_nephew_level = [u"", u"le neveu%s", u"le petit-neveu%s",
|
||||
"l'arrière-petit-neveu%s"]
|
||||
u"l'arrière-petit-neveu%s"]
|
||||
|
||||
_niece_level = [u"", "la nièce%s", "la petite-nièce%s",
|
||||
_niece_level = [u"", u"la nièce%s", u"la petite-nièce%s",
|
||||
u"l'arrière-petite-nièce%s"]
|
||||
|
||||
# kinship report
|
||||
@@ -730,12 +730,12 @@ if __name__ == "__main__":
|
||||
# Test function. Call it as follows from the command line (so as to find
|
||||
# imported modules):
|
||||
# export PYTHONPATH=/path/to/gramps/src
|
||||
# python src/plugins/rel_fr.py
|
||||
# python src/plugins/rel/rel_fr.py
|
||||
# (Above not needed here)
|
||||
|
||||
"""TRANSLATORS, copy this if statement at the bottom of your
|
||||
rel_xx.py module, and test your work with:
|
||||
python src/plugins/rel_xx.py
|
||||
python src/plugins/rel/rel_xx.py
|
||||
"""
|
||||
from Relationship import test
|
||||
rc = RelationshipCalculator()
|
||||
|
||||
@@ -810,7 +810,45 @@ class RelationshipCalculator(Relationship.RelationshipCalculator):
|
||||
rel_str ="nieokreślony stopień pokrewieństwa"
|
||||
|
||||
return rel_str
|
||||
|
||||
|
||||
|
||||
def get_plural_relationship_string(self, Ga, Gb):
|
||||
"""
|
||||
Generate a text with information, how far away is a group of persons
|
||||
from a main person
|
||||
"""
|
||||
|
||||
if Ga == Gb == 0:
|
||||
return 'ta sama osoba'
|
||||
if 0 == Ga:
|
||||
if 1 == Gb:
|
||||
return 'Dzieci'
|
||||
if 2 == Gb:
|
||||
return 'Wnuki'
|
||||
if 3 == Gb:
|
||||
return 'Prawnuki'
|
||||
if 4 == Gb:
|
||||
return 'Praprawnuki'
|
||||
return 'Praprapra(n)wnuki'
|
||||
if 0 == Gb:
|
||||
if 1 == Ga:
|
||||
return 'Rodzice'
|
||||
if 2 == Ga:
|
||||
return 'Dziadkowie'
|
||||
if 3 == Ga:
|
||||
return 'Pradziadkowie'
|
||||
if 4 == Ga:
|
||||
return 'Praprapradziadkowie'
|
||||
return 'Praprapra(n)dziadkowie'
|
||||
if 1 == Ga == Gb:
|
||||
return 'Rodzeństwo'
|
||||
if 1 == Gb and Ga > 1:
|
||||
return 'Wujowie/stryjowie i ciocie'
|
||||
if 1 < Gb and 1 == Ga:
|
||||
return 'bratankowie(ice)/siostrzeńcy(nice)'
|
||||
if 1 < Ga and 1 < Gb:
|
||||
return 'dalsza rodzina'
|
||||
return 'relacja nieznana'
|
||||
|
||||
def get_sibling_relationship_string(self, sib_type, gender_a, gender_b,
|
||||
in_law_a=False, in_law_b=False):
|
||||
|
||||
+12
-35
@@ -147,7 +147,7 @@ class RelationshipCalculator(Relationship.RelationshipCalculator):
|
||||
else:
|
||||
return "%dº sobrinho" % level
|
||||
|
||||
def get_distant_nieve(self,level):
|
||||
def get_distant_niece(self,level):
|
||||
if level<len(_level_name_female):
|
||||
return "%s sobrinha" % (_level_name_female[level])
|
||||
else:
|
||||
@@ -244,80 +244,57 @@ class RelationshipCalculator(Relationship.RelationshipCalculator):
|
||||
else:
|
||||
return "%dª sobrinha neta" % (level-1)
|
||||
|
||||
def get_relationship(self, orig_person, other_person):
|
||||
def get_relationship(self, secondRel, firstRel, orig_person_gender, other_person_gender):
|
||||
"""
|
||||
returns a string representing the relationshp between the two people,
|
||||
along with a list of common ancestors (typically father,mother)
|
||||
"""
|
||||
|
||||
if orig_person is None:
|
||||
return ("indefinido",[])
|
||||
|
||||
if orig_person.get_handle() == other_person.get_handle():
|
||||
return ('', [])
|
||||
|
||||
is_spouse = self.is_spouse(orig_person, other_person)
|
||||
if is_spouse:
|
||||
return (is_spouse,[])
|
||||
|
||||
#get_relationship_distance changed, first data is relation to
|
||||
#orig person, apperently secondRel in this function
|
||||
(secondRel,firstRel,common) = self.get_relationship_distance(orig_person, other_person)
|
||||
|
||||
if isinstance(common, basestring):
|
||||
return (common,[])
|
||||
elif common:
|
||||
person_handle = common[0]
|
||||
else:
|
||||
return ("",[])
|
||||
|
||||
firstRel = len(firstRel)
|
||||
secondRel = len(secondRel)
|
||||
|
||||
common = ""
|
||||
if firstRel == 0:
|
||||
if secondRel == 0:
|
||||
return ('',common)
|
||||
elif other_person.get_gender() == gen.lib.Person.MALE:
|
||||
elif other_person_gender == gen.lib.Person.MALE:
|
||||
return (self.get_father(secondRel),common)
|
||||
else:
|
||||
return (self.get_mother(secondRel),common)
|
||||
elif secondRel == 0:
|
||||
if other_person.get_gender() == gen.lib.Person.MALE:
|
||||
if other_person_gender == gen.lib.Person.MALE:
|
||||
return (self.get_son(firstRel),common)
|
||||
else:
|
||||
return (self.get_daughter(firstRel),common)
|
||||
elif firstRel == 1:
|
||||
if other_person.get_gender() == gen.lib.Person.MALE:
|
||||
if other_person_gender == gen.lib.Person.MALE:
|
||||
return (self.get_uncle(secondRel),common)
|
||||
else:
|
||||
return (self.get_aunt(secondRel),common)
|
||||
elif secondRel == 1:
|
||||
if other_person.get_gender() == gen.lib.Person.MALE:
|
||||
if other_person_gender == gen.lib.Person.MALE:
|
||||
return (self.get_nephew(firstRel-1),common)
|
||||
else:
|
||||
return (self.get_niece(firstRel-1),common)
|
||||
elif firstRel == secondRel == 2:
|
||||
if other_person.get_gender() == gen.lib.Person.MALE:
|
||||
if other_person_gender == gen.lib.Person.MALE:
|
||||
return ('primo irmão',common)
|
||||
else:
|
||||
return ('prima irmã',common)
|
||||
elif firstRel == secondRel:
|
||||
if other_person.get_gender() == gen.lib.Person.MALE:
|
||||
if other_person_gender == gen.lib.Person.MALE:
|
||||
return (self.get_male_cousin(firstRel-1),common)
|
||||
else:
|
||||
return (self.get_female_cousin(firstRel-1),common)
|
||||
elif firstRel == secondRel+1:
|
||||
if other_person.get_gender() == gen.lib.Person.MALE:
|
||||
if other_person_gender == gen.lib.Person.MALE:
|
||||
return (self.get_distant_nephew(secondRel),common)
|
||||
else:
|
||||
return (self.get_distant_niece(secondRel),common)
|
||||
elif firstRel+1 == secondRel:
|
||||
if other_person.get_gender() == gen.lib.Person.MALE:
|
||||
if other_person_gender == gen.lib.Person.MALE:
|
||||
return (self.get_distant_uncle(firstRel),common)
|
||||
else:
|
||||
return (self.get_distant_aunt(firstRel),common)
|
||||
else:
|
||||
if other_person.get_gender() == gen.lib.Person.MALE:
|
||||
if other_person_gender == gen.lib.Person.MALE:
|
||||
return (self.get_male_relative(firstRel,secondRel),common)
|
||||
else:
|
||||
return (self.get_female_relative(firstRel,secondRel),common)
|
||||
|
||||
+168
-110
@@ -4,6 +4,7 @@
|
||||
#
|
||||
# Copyright (C) 2003-2005 Donald N. Allingham
|
||||
# Copyright (C) 2008 Brian G. Matherly
|
||||
# Copyright (C) 2009-2010 Andrew I Baznikin
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -41,70 +42,101 @@ from gen.plug import PluginManager
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
_parents_level = [ "", "родители",
|
||||
"дедушки/бабушки", "прадедушки/прабабушки", "прапрадедушки/прапрабабушки",
|
||||
_parents_level = [ u"", u"родители",
|
||||
u"дедушки/бабушки", u"прадедушки/прабабушки", u"прапрадедушки/прапрабабушки (5 поколение)",
|
||||
u"прапрапрадедушки/прапрапрабабушки (6 поколение)", u"прапрапрапрадедушки/прапрапрапрабабушки (7 поколение)",
|
||||
u"прапрапрапрапрадедушки/прапрапрапрапрабабушки (8 поколение)",
|
||||
]
|
||||
|
||||
_male_cousin_level = [
|
||||
"", "двоюродный", "троюродный", "четвероюродный",
|
||||
"пятиюродный", "шестиюродный", "семиюродный", "восьмиюродный",
|
||||
"девятиюродный", "десятиюродный", "одиннацатиюродный", "двенадцатиюродный",
|
||||
"тринадцатиюродный", "четырнадцатиюродный", "пятнадцатиюродный", "шестнадцатиюродный",
|
||||
"семнадцатиюродный", "восемнадцатиюродный", "девятнадцатиюродный","двадцатиюродный" ]
|
||||
u"", u"двоюродный", u"троюродный", u"четвероюродный",
|
||||
u"пятиюродный", u"шестиюродный", u"семиюродный", u"восьмиюродный",
|
||||
u"девятиюродный", u"десятиюродный", u"одиннацатиюродный", u"двенадцатиюродный",
|
||||
u"тринадцатиюродный", u"четырнадцатиюродный", u"пятнадцатиюродный", u"шестнадцатиюродный",
|
||||
u"семнадцатиюродный", u"восемнадцатиюродный", u"девятнадцатиюродный", u"двадцатиюродный" ]
|
||||
|
||||
_female_cousin_level = [
|
||||
"", "двоюродная", "троюродная", "четвероюродная",
|
||||
"пятиюродная", "шестиюродная", "семиюродная", "восьмиюродная",
|
||||
"девятиюродная", "десятиюродная", "одиннацатиюродная", "двенадцатиюродная",
|
||||
"тринадцатиюродная", "четырнадцатиюродная", "пятнадцатиюродная", "шестнадцатиюродная",
|
||||
"семнадцатиюродная", "восемнадцатиюродная", "девятнадцатиюродная","двадцатиюродная" ]
|
||||
u"", u"двоюродная", u"троюродная", u"четвероюродная",
|
||||
u"пятиюродная", u"шестиюродная", u"семиюродная", u"восьмиюродная",
|
||||
u"девятиюродная", u"десятиюродная", u"одиннацатиюродная", u"двенадцатиюродная",
|
||||
u"тринадцатиюродная", u"четырнадцатиюродная", u"пятнадцатиюродная", u"шестнадцатиюродная",
|
||||
u"семнадцатиюродная", u"восемнадцатиюродная", u"девятнадцатиюродная", u"двадцатиюродная" ]
|
||||
|
||||
_cousin_level = [
|
||||
u"", u"двоюродные", u"троюродные", u"четвероюродные",
|
||||
u"пятиюродные", u"шестиюродные", u"семиюродные", u"восьмиюродные",
|
||||
u"девятиюродные", u"десятиюродные", u"одиннацатиюродные", u"двенадцатиюродные",
|
||||
u"тринадцатиюродные", u"четырнадцатиюродные", u"пятнадцатиюродные", u"шестнадцатиюродные",
|
||||
u"семнадцатиюродные", u"восемнадцатиюродные", u"девятнадцатиюродные", u"двадцатиюродные" ]
|
||||
|
||||
_junior_male_removed_level = [
|
||||
"брат", "племянник", "внучатый племянник", "правнучатый племянник",
|
||||
"праправнучатый племянник", "прапраправнучатый племянник",
|
||||
"прапрапраправнучатый племянник" ]
|
||||
u"брат", u"племянник", u"внучатый племянник", u"правнучатый племянник",
|
||||
u"праправнучатый племянник", u"прапраправнучатый племянник",
|
||||
u"прапрапраправнучатый племянник" ]
|
||||
|
||||
_junior_female_removed_level = [
|
||||
"сестра", "племянница", "внучатая племянница", "правнучатая племянница",
|
||||
"праправнучатая племянница", "прапраправнучатая племянница",
|
||||
"прапрапраправнучатая племянница" ]
|
||||
u"сестра", u"племянница", u"внучатая племянница", u"правнучатая племянница",
|
||||
u"праправнучатая племянница", u"прапраправнучатая племянница",
|
||||
u"прапрапраправнучатая племянница" ]
|
||||
|
||||
_juniors_removed_level = [
|
||||
u"братя/сестры", u"племянники", u"внучатые племянники", u"правнучатые племянники",
|
||||
u"праправнучатые племянники", u"прапраправнучатые племянники",
|
||||
u"прапрапраправнучатые племянники" ]
|
||||
|
||||
_senior_male_removed_level = [
|
||||
"", "дядя", "дед", "прадед", "прапрадед", "прапрапрадед","прапрапрапрадед" ]
|
||||
u"", u"дядя", u"дед", u"прадед", u"прапрадед", u"прапрапрадед", u"прапрапрапрадед" ]
|
||||
|
||||
_senior_female_removed_level = [
|
||||
"", "тетка", "бабка", "прабабка", "прапрабабка", "прапрапрабабка","прапрапрапрабабка" ]
|
||||
u"", u"тётка", u"бабка", u"прабабка", u"прапрабабка", u"прапрапрабабка", u"прапрапрапрабабка" ]
|
||||
|
||||
_seniors_removed_level = [
|
||||
u"", u"дядьки/тётки", u"дедушки/бабушки", u"прадеды/прабабушки", u"прапрадеды/прапрабабушки", u"прапрапрадеды/прапрапрабабушки", u"прапрапрапрадеды/прапрапрабабушки" ]
|
||||
|
||||
_father_level = [
|
||||
"", "отец", "дед", "прадед", "прапрадед", "прапрапрадед", "прапрапрапрадед" ]
|
||||
u"", u"отец", u"дед", u"прадед", u"прапрадед", u"прапрапрадед", u"прапрапрапрадед" ]
|
||||
|
||||
_mother_level = [
|
||||
"", "мать", "бабка", "прабабка", "прапрабабка", "прапрапрабабка", "прапрапрапрабабка" ]
|
||||
u"", u"мать", u"бабка", u"прабабка", u"прапрабабка", u"прапрапрабабка", u"прапрапрапрабабка" ]
|
||||
|
||||
_son_level = [
|
||||
"", "сын", "внук", "правнук", "праправнук", "прапраправнук", "прапрапраправнук" ]
|
||||
u"", u"сын", u"внук", u"правнук", u"праправнук", u"прапраправнук", u"прапрапраправнук" ]
|
||||
|
||||
_daughter_level = [
|
||||
"", "дочь", "внучка", "правнучка", "праправнучка", "прапраправнучка",
|
||||
"прапрапраправнучка" ]
|
||||
u"", u"дочь", u"внучка", u"правнучка", u"праправнучка", u"прапраправнучка",
|
||||
u"прапрапраправнучка" ]
|
||||
|
||||
_children_level = [ u"", u"дети", u"внуки", u"правнуки", u"праправнуки", u"прапраправнуки", u"прапрапраправнуки",
|
||||
u"прапрапрапраправнуки"]
|
||||
|
||||
_sister_level = [
|
||||
"", "сестра", "тетка", "двоюродная бабка", "двоюродная прабабка",
|
||||
"двоюродная прапрабабка", "двоюродная прапрапрабабка", "двоюродная прапрапрапрабабка" ]
|
||||
u"", u"сестра", u"тётка", u"двоюродная бабка", u"двоюродная прабабка",
|
||||
u"двоюродная прапрабабка", u"двоюродная прапрапрабабка", u"двоюродная прапрапрапрабабка" ]
|
||||
|
||||
_brother_level = [
|
||||
"", "брат", "дядя", "двоюродный дед", "двоюродный прадед",
|
||||
"двоюродный прапрадед", "двоюродный прапрапрадед", "двоюродный прапрапрапрадед" ]
|
||||
u"", u"брат", u"дядя", u"двоюродный дед", u"двоюродный прадед",
|
||||
u"двоюродный прапрадед", u"двоюродный прапрапрадед", u"двоюродный прапрапрапрадед" ]
|
||||
|
||||
_siblings_level = [
|
||||
u"", u"братья/сестры", u"дядьки/тётки", u"двоюродные дедушки/бабушки", u"двоюродные прадедеды/прабабушки",
|
||||
u"двоюродные прапрадедушки/прапрабабушки (5 поколение)", u"двоюродные прапрапрадедушки/прапрапрабабушки (6 поколение)",
|
||||
u"двоюродные прапрапрапрадедушки/прапрапрапрабабушки (7 поколение)",
|
||||
u"двоюродные прапрапрапрапрадедушки/прапрапрапрапрабабушки (8 поколение)", ]
|
||||
|
||||
_nephew_level = [
|
||||
"", "племянник", "внучатый племянник", "правнучатый племянник",
|
||||
"праправнучатый племянник", "прапраправнучатый племянник",
|
||||
"прапрапраправнучатый племянник" ]
|
||||
u"", u"племянник", u"внучатый племянник", u"правнучатый племянник",
|
||||
u"праправнучатый племянник", u"прапраправнучатый племянник",
|
||||
u"прапрапраправнучатый племянник" ]
|
||||
|
||||
_niece_level = [
|
||||
"", "племянница", "внучатая племянница", "правнучатая племянница",
|
||||
"праправнучатая племянница", "прапраправнучатая племянница",
|
||||
"прапрапраправнучатая племянница" ]
|
||||
u"", u"племянница", u"внучатая племянница", u"правнучатая племянница",
|
||||
u"праправнучатая племянница", u"прапраправнучатая племянница",
|
||||
u"прапрапраправнучатая племянница" ]
|
||||
|
||||
_nephews_nieces_level = [
|
||||
u"", u"братья/сестры", u"племянники", u"внучатый племянники", u"правнучатый племянники",
|
||||
u"праправнучатый племянники", u"прапраправнучатый племянники",
|
||||
u"прапрапраправнучатый племянники" ]
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@@ -118,148 +150,174 @@ class RelationshipCalculator(Relationship.RelationshipCalculator):
|
||||
|
||||
def get_parents(self,level):
|
||||
if level>len(_parents_level)-1:
|
||||
return "дальние родственники"
|
||||
return u"дальние родственники"
|
||||
else:
|
||||
return _parents_level[level]
|
||||
|
||||
def get_junior_male_cousin(self,level,removed):
|
||||
if removed > len(_junior_male_removed_level)-1 or level>len(_male_cousin_level)-1:
|
||||
return "дальний родственник"
|
||||
return u"дальний родственник"
|
||||
else:
|
||||
return "%s %s" % (_male_cousin_level[level],_junior_male_removed_level[removed])
|
||||
return u"%s %s" % (_male_cousin_level[level],_junior_male_removed_level[removed])
|
||||
|
||||
def get_senior_male_cousin(self,level,removed):
|
||||
if removed > len(_senior_male_removed_level)-1 or level>len(_male_cousin_level)-1:
|
||||
return "дальний родственник"
|
||||
return u"дальний родственник"
|
||||
else:
|
||||
return "%s %s" % (_male_cousin_level[level],_senior_male_removed_level[removed])
|
||||
return u"%s %s" % (_male_cousin_level[level],_senior_male_removed_level[removed])
|
||||
|
||||
def get_junior_female_cousin(self,level,removed):
|
||||
if removed > len(_junior_female_removed_level)-1 or level>len(_male_cousin_level)-1:
|
||||
return "дальняя родственница"
|
||||
return u"дальняя родственница"
|
||||
else:
|
||||
return "%s %s" % (_female_cousin_level[level],_junior_female_removed_level[removed])
|
||||
return u"%s %s" % (_female_cousin_level[level],_junior_female_removed_level[removed])
|
||||
|
||||
def get_senior_female_cousin(self,level,removed):
|
||||
if removed > len(_senior_female_removed_level)-1 or level>len(_male_cousin_level)-1:
|
||||
return "дальняя родственница"
|
||||
return u"дальняя родственница"
|
||||
else:
|
||||
return "%s %s" % (_female_cousin_level[level],_senior_female_removed_level[removed])
|
||||
return u"%s %s" % (_female_cousin_level[level],_senior_female_removed_level[removed])
|
||||
|
||||
def get_father(self,level):
|
||||
if level>len(_father_level)-1:
|
||||
return "дальний предок"
|
||||
return u"дальний предок"
|
||||
else:
|
||||
return _father_level[level]
|
||||
|
||||
def get_son(self,level):
|
||||
if level>len(_son_level)-1:
|
||||
return "дальний потомок"
|
||||
return u"дальний потомок"
|
||||
else:
|
||||
return _son_level[level]
|
||||
|
||||
def get_mother(self,level):
|
||||
if level>len(_mother_level)-1:
|
||||
return "дальний предок"
|
||||
return u"дальний предок"
|
||||
else:
|
||||
return _mother_level[level]
|
||||
|
||||
def get_daughter(self,level):
|
||||
if level>len(_daughter_level)-1:
|
||||
return "дальний потомок"
|
||||
return u"дальний потомок"
|
||||
else:
|
||||
return _daughter_level[level]
|
||||
|
||||
def get_aunt(self,level):
|
||||
def _get_aunt(self, level, step='', inlaw=''):
|
||||
if level>len(_sister_level)-1:
|
||||
return "дальний предок"
|
||||
return u"дальний предок"
|
||||
else:
|
||||
return _sister_level[level]
|
||||
|
||||
def get_uncle(self,level):
|
||||
def _get_uncle(self, level, step='', inlaw=''):
|
||||
if level>len(_brother_level)-1:
|
||||
return "дальний предок"
|
||||
return u"дальний предок"
|
||||
else:
|
||||
return _brother_level[level]
|
||||
|
||||
def _get_sibling(self, level, step='', inlaw=''):
|
||||
"""Sibling of unknown gender
|
||||
"""
|
||||
return self._get_uncle(level, step, inlaw) + u" или u" + self._get_aunt(level, step, inlaw)
|
||||
|
||||
def get_nephew(self,level):
|
||||
if level>len(_nephew_level)-1:
|
||||
return "дальний потомок"
|
||||
return u"дальний потомок"
|
||||
else:
|
||||
return _nephew_level[level]
|
||||
|
||||
def get_niece(self,level):
|
||||
if level>len(_niece_level)-1:
|
||||
return "дальний потомок"
|
||||
return u"дальний потомок"
|
||||
else:
|
||||
return _niece_level[level]
|
||||
|
||||
def get_relationship(self,db, orig_person, other_person):
|
||||
"""
|
||||
Return a string representing the relationshp between the two people,
|
||||
along with a list of common ancestors (typically father,mother)
|
||||
|
||||
Special cases: relation strings "", "undefined" and "spouse".
|
||||
"""
|
||||
def get_single_relationship_string(self, Ga, Gb, gender_a, gender_b,
|
||||
reltocommon_a, reltocommon_b,
|
||||
only_birth=True,
|
||||
in_law_a=False, in_law_b=False):
|
||||
|
||||
if orig_person is None:
|
||||
return ("undefined",[])
|
||||
|
||||
if orig_person.get_handle() == other_person.get_handle():
|
||||
return ('', [])
|
||||
|
||||
is_spouse = self.is_spouse(db, orig_person, other_person)
|
||||
if is_spouse:
|
||||
return (is_spouse,[])
|
||||
|
||||
#get_relationship_distance changed, first data is relation to
|
||||
#orig person, apperently secondRel in this function
|
||||
(secondRel,firstRel,common) = \
|
||||
self.get_relationship_distance(db, orig_person, other_person)
|
||||
|
||||
if isinstance(common, basestring):
|
||||
return (common,[])
|
||||
elif common:
|
||||
person_handle = common[0]
|
||||
if Gb == 0:
|
||||
if Ga == 0:
|
||||
return ('один человек')
|
||||
elif gender_b == gen.lib.Person.MALE:
|
||||
return (self.get_father(Ga))
|
||||
else:
|
||||
return (self.get_mother(Ga))
|
||||
elif Ga == 0:
|
||||
if gender_b == gen.lib.Person.MALE:
|
||||
return (self.get_son(Gb))
|
||||
else:
|
||||
return (self.get_daughter(Gb))
|
||||
elif Gb == 1:
|
||||
if gender_b == gen.lib.Person.MALE:
|
||||
return (self._get_uncle(Ga))
|
||||
else:
|
||||
return (self._get_aunt(Ga))
|
||||
elif Ga == 1:
|
||||
if gender_b == gen.lib.Person.MALE:
|
||||
return (self.get_nephew(Gb-1))
|
||||
else:
|
||||
return (self.get_niece(Gb-1))
|
||||
elif Ga > Gb:
|
||||
if gender_b == gen.lib.Person.MALE:
|
||||
return (self.get_senior_male_cousin(Gb-1,Ga-Gb))
|
||||
else:
|
||||
return (self.get_senior_female_cousin(Gb-1,Ga-Gb))
|
||||
else:
|
||||
return ("",[])
|
||||
if gender_b == gen.lib.Person.MALE:
|
||||
return (self.get_junior_male_cousin(Ga-1,Gb-Ga))
|
||||
else:
|
||||
return (self.get_junior_female_cousin(Ga-1,Gb-Ga))
|
||||
|
||||
firstRel = len(firstRel)
|
||||
secondRel = len(secondRel)
|
||||
|
||||
if firstRel == 0:
|
||||
if secondRel == 0:
|
||||
return ('',common)
|
||||
elif other_person.get_gender() == gen.lib.Person.MALE:
|
||||
return (self.get_father(secondRel),common)
|
||||
def get_plural_relationship_string(self, Ga, Gb):
|
||||
rel_str = u"дальние родственники"
|
||||
if Ga == 0:
|
||||
# These are descendants
|
||||
if Gb < len(_children_level):
|
||||
rel_str = _children_level[Gb]
|
||||
else:
|
||||
return (self.get_mother(secondRel),common)
|
||||
elif secondRel == 0:
|
||||
if other_person.get_gender() == gen.lib.Person.MALE:
|
||||
return (self.get_son(firstRel),common)
|
||||
rel_str = u"дальние потомки"
|
||||
elif Gb == 0:
|
||||
# These are parents/grand parents
|
||||
if Ga < len(_parents_level):
|
||||
rel_str = _parents_level[Ga]
|
||||
else:
|
||||
return (self.get_daughter(firstRel),common)
|
||||
elif firstRel == 1:
|
||||
if other_person.get_gender() == gen.lib.Person.MALE:
|
||||
return (self.get_uncle(secondRel),common)
|
||||
rel_str = u"дальние предки"
|
||||
elif Gb == 1:
|
||||
# These are siblings/aunts/uncles
|
||||
if Ga < len(_siblings_level):
|
||||
rel_str = _siblings_level[Ga]
|
||||
else:
|
||||
return (self.get_aunt(secondRel),common)
|
||||
elif secondRel == 1:
|
||||
if other_person.get_gender() == gen.lib.Person.MALE:
|
||||
return (self.get_nephew(firstRel-1),common)
|
||||
rel_str = u"дальние дяди/тёти"
|
||||
elif Ga == 1:
|
||||
# These are nieces/nephews
|
||||
if Gb < len(_nephews_nieces_level):
|
||||
rel_str = _nephews_nieces_level[Gb]
|
||||
else:
|
||||
return (self.get_niece(firstRel-1),common)
|
||||
elif secondRel > firstRel:
|
||||
if other_person.get_gender() == gen.lib.Person.MALE:
|
||||
return (self.get_senior_male_cousin(firstRel-1,secondRel-firstRel),common)
|
||||
rel_str = u"дальние племянники/племянницы"
|
||||
elif Ga > Gb:
|
||||
# These are cousins in different generations with the second person
|
||||
# being in a higher generation from the common ancestor than the
|
||||
# first person.
|
||||
if Gb <= len(_seniors_removed_level) and (Ga-Gb) < len(_cousin_level):
|
||||
rel_str = u"%s %s" % ( _cousin_level[Gb-1],
|
||||
_seniors_removed_level[Ga-Gb] )
|
||||
else:
|
||||
return (self.get_senior_female_cousin(firstRel-1,secondRel-firstRel),common)
|
||||
rel_str = u"(старшие) дальние родственники"
|
||||
else:
|
||||
if other_person.get_gender() == gen.lib.Person.MALE:
|
||||
return (self.get_junior_male_cousin(secondRel-1,firstRel-secondRel),common)
|
||||
# These are cousins in different generations with the second person
|
||||
# being in a lower generation from the common ancestor than the
|
||||
# first person.
|
||||
if Ga <= len(_juniors_removed_level) and (Gb-Ga) < len(_cousin_level):
|
||||
rel_str = u"%s %s" % ( _cousin_level[Ga-1],
|
||||
_juniors_removed_level[Gb-Ga] )
|
||||
else:
|
||||
return (self.get_junior_female_cousin(secondRel-1,firstRel-secondRel),common)
|
||||
|
||||
rel_str = u"(младшие) дальние родственники"
|
||||
return rel_str
|
||||
|
||||
# TODO: def get_sibling_relationship_string for Russian step and inlaw relations
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Register this class with the Plugins system
|
||||
@@ -267,4 +325,4 @@ class RelationshipCalculator(Relationship.RelationshipCalculator):
|
||||
#-------------------------------------------------------------------------
|
||||
pmgr = PluginManager.get_instance()
|
||||
pmgr.register_relcalc(RelationshipCalculator,
|
||||
["ru","RU","ru_RU","koi8r","ru_koi8r","russian","Russian","ru_RU.koi8r","ru_RU.KOI8-R","ru_RU.utf8","ru_RU.UTF8", "ru_RU.utf-8","ru_RU.UTF-8","ru_RU.iso88595","ru_RU.iso8859-5","ru_RU.iso-8859-5"])
|
||||
["ru","RU","ru_RU","koi8r","ru_koi8r","russian","Russian","ru_RU.koi8r","ru_RU.KOI8-R","ru_RU.utf8","ru_RU.UTF8","ru_RU.utf-8","ru_RU.UTF-8","ru_RU.iso88595","ru_RU.iso8859-5","ru_RU.iso-8859-5"])
|
||||
|
||||
@@ -163,9 +163,14 @@ class Statusbar(gtk.HBox):
|
||||
self._set_packing()
|
||||
|
||||
if ralign:
|
||||
label = new_bar.get_children()[0].get_children()[0]
|
||||
label.set_alignment(xalign=1.0, yalign=0.5)
|
||||
|
||||
frame = new_bar.get_children()[0]
|
||||
obj = frame.get_children()[0]
|
||||
# obj was a gtk.Label (GTK 2.16.6),
|
||||
# now it is is gtk.HBox (GTK 2.19.1)
|
||||
while not isinstance(obj, gtk.Label):
|
||||
obj = obj.get_children()[0]
|
||||
obj.set_alignment(xalign=1.0, yalign=0.5)
|
||||
|
||||
new_bar_id = self._get_next_id()
|
||||
self._bars[new_bar_id] = new_bar
|
||||
|
||||
|
||||
Reference in New Issue
Block a user