commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

r5570 - trunk/gnue-reports/samples/mailmerge


From: jcater
Subject: r5570 - trunk/gnue-reports/samples/mailmerge
Date: Mon, 29 Mar 2004 16:45:53 -0600 (CST)

Author: jcater
Date: 2004-03-29 16:45:52 -0600 (Mon, 29 Mar 2004)
New Revision: 5570

Modified:
   trunk/gnue-reports/samples/mailmerge/mailmerge.py
Log:
Added Sachas' patch for mailmerge.py example

Modified: trunk/gnue-reports/samples/mailmerge/mailmerge.py
===================================================================
--- trunk/gnue-reports/samples/mailmerge/mailmerge.py   2004-03-29 22:15:18 UTC 
(rev 5569)
+++ trunk/gnue-reports/samples/mailmerge/mailmerge.py   2004-03-29 22:45:52 UTC 
(rev 5570)
@@ -51,6 +51,8 @@
     self.fieldre = re.compile("%s(\\w+)%s" % \
           (self.FIELD_ENCLOSURE, self.FIELD_ENCLOSURE))
 
+    self.__dict = {'values': None, 'name': None, 'field': False, 'string': ""}
+    
   def escape(self, s):
     return string
 
@@ -97,7 +99,6 @@
     parser.setContentHandler(self)
     parser.parse(data)
 
-
     # Print out the footer text
     self.printComment(output,
      "GNUe MailMerge [%s]:  End of Repeating Section"%self.NAME)
@@ -106,8 +107,13 @@
 
   # XML handling stuff
   def startElement(self, name, attrs):
+    self.__dict['field'] = False
     if name == "field":
-      self.values[string.lower(attrs['name'])] = attrs['value']
+       self.__dict['field'] = True
+       #       self.values[string.lower(attrs['name'])] = "temp" 
#attrs['value']
+       self.__dict['values'] = self.values
+       self.__dict['name'] = string.lower(attrs['name'])
+
     elif name == "record":
       self.values = {}
       if self.newPage:
@@ -115,8 +121,10 @@
       self.newPage = 1
 
   def characters(self, ch):
-    pass
-
+    
+    if self.__dict['field'] == True:
+      self.__dict['string'] = self.__dict['string'] + ch
+  
   def endElement(self, name):
     if name == "record":
       self.printComment (self.output,
@@ -126,6 +134,10 @@
 
       self.recordCount = self.recordCount + 1
 
+    elif name == "field":
+      self.__dict['values'][self.__dict['name']] = 
self.__dict['string'].strip()
+      self.__dict['string'] = ""
+      
   def getFieldValue(self, matchObject):
     name = string.lower(matchObject.group(1))
     try:
@@ -136,4 +148,4 @@
 
 
 if __name__ == "__main__":
-  print "\nRun one of the merge-* samples.\n"
+  print "\nRun one of the merge-* samples.\n"
\ No newline at end of file





reply via email to

[Prev in Thread] Current Thread [Next in Thread]