Cleaned up SubstKeyword

svn: r1040
This commit is contained in:
Don Allingham 2002-06-18 22:20:09 +00:00
parent 629df9e79f
commit 162cc07f97

View File

@ -18,6 +18,21 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# #
"""
Provides the SubstKeywords class that will replace keywords in a passed
string with informatin about the person. For sample:
foo = SubstKeywords(person)
print foo.replace('$n was born on $b.')
Will return a value such as:
Mary Smith was born on 3/28/1923.
"""
__author__ = "Donald N. Allingham"
__version__ = "$Revision$"
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# #
# python classes # python classes
@ -31,14 +46,33 @@ import string
# #
#------------------------------------------------------------------------ #------------------------------------------------------------------------
class SubstKeywords: class SubstKeywords:
"""
Produces an object that will substitute information about a person
into a passed string.
$n -> Name - FirstName LastName
$N -> Name - LastName, FirstName
$i -> GRAMPS ID
$b -> Date of birth
$B -> Place of birth
$d -> Date of death
$D -> Place of death
$s -> Preferred spouse's name - FirstName LastName
$S -> Preferred spouse's name - LastName, FirstName
$m -> Date of preferred marriage
$M -> Place of preferred marriage
"""
def __init__(self,person): def __init__(self,person):
"""Associates a person with the class"""
self.n = person.getPrimaryName().getRegularName() self.n = person.getPrimaryName().getRegularName()
self.N = person.getPrimaryName().getName() self.N = person.getPrimaryName().getName()
self.b = person.getBirth().getDate() self.b = person.getBirth().getDate()
self.d = person.getDeath().getDate() self.d = person.getDeath().getDate()
self.B = person.getBirth().getPlaceName() self.B = person.getBirth().getPlaceName()
self.D = person.getDeath().getPlaceName() self.D = person.getDeath().getPlaceName()
self.i = "%s" % person.getId() self.i = str(person.getId())
if len(person.getFamilyList()) > 0: if len(person.getFamilyList()) > 0:
f = person.getFamilyList()[0] f = person.getFamilyList()[0]
@ -61,6 +95,8 @@ class SubstKeywords:
self.M = "" self.M = ""
def replace(self,line): def replace(self,line):
"""Returns a new line of text with the substitutions performed"""
line = string.replace(line,"$n",self.n) line = string.replace(line,"$n",self.n)
line = string.replace(line,"$N",self.N) line = string.replace(line,"$N",self.N)
line = string.replace(line,"$b",self.b) line = string.replace(line,"$b",self.b)