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
#
"""
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
@ -31,14 +46,33 @@ import string
#
#------------------------------------------------------------------------
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):
"""Associates a person with the class"""
self.n = person.getPrimaryName().getRegularName()
self.N = person.getPrimaryName().getName()
self.b = person.getBirth().getDate()
self.d = person.getDeath().getDate()
self.B = person.getBirth().getPlaceName()
self.D = person.getDeath().getPlaceName()
self.i = "%s" % person.getId()
self.i = str(person.getId())
if len(person.getFamilyList()) > 0:
f = person.getFamilyList()[0]
@ -61,6 +95,8 @@ class SubstKeywords:
self.M = ""
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,"$b",self.b)