SF.net SVN: tmda: [2115] trunk/tmda-cgi/Template.py

[email protected] Sat, 28 Oct 2006 11:49:58 -0700
Newsgroups gmane.mail.spam.tmda.cvs
Message-ID <[email protected]>
Revision: 2115
          http://svn.sourceforge.net/tmda/?rev=2115&view=rev
Author:   lack
Date:     2006-10-28 11:49:55 -0700 (Sat, 28 Oct 2006)

Log Message:
-----------
Fixed some unicode things... hope this doesn't break anything else.

Modified Paths:
--------------
    trunk/tmda-cgi/Template.py

Modified: trunk/tmda-cgi/Template.py
===================================================================
--- trunk/tmda-cgi/Template.py	2006-10-16 16:13:24 UTC (rev 2114)
+++ trunk/tmda-cgi/Template.py	2006-10-28 18:49:55 UTC (rev 2115)
@@ -184,18 +184,18 @@
 
     RetVal = ""
     for HTML in self.HTML:
-      if type(HTML) == StringType:
+      if isinstance(HTML, Template):
+        RetVal += str(HTML)
+      else:
         if self.BeenExpanded:
           RetVal += HTML
         else:
           RetVal += self.LonePctSearch.sub(self.LonePctRepl, HTML) % self.Dict
-      else:
-        RetVal += str(HTML)
     return RetVal
 
   def UpdateItems(self, Target):
     for i in range(len(self.HTML)):
-      if type(self.HTML[i]) != StringType:
+      if isinstance(self.HTML[i], Template):
         if self.HTML[i].Name:
           self.HTML[i].BoilerPlate.UpdateItems(self.HTML[i])
           Target.Items[self.HTML[i].Name] = self.HTML[i]
@@ -215,7 +215,12 @@
 
     # Find the start tag
     for i in range(len(self.HTML)):
-      if type(self.HTML[i]) == StringType:
+      if isinstance(self.HTML[i], Template):
+        RetVal = self.HTML[i][Var]
+        if RetVal:
+          self.UpdateItems(self)
+          return RetVal
+      else:
         Match = self.SearchDict[Var].search(self.HTML[i])
         if Match:
           # Is it an all-in-one tag?
@@ -230,7 +235,7 @@
               [self.HTML[i][:Match.start()], self.HTML[i][Match.end():]]
             # Now search for the end tag
             for j in range(i+1, len(self.HTML)):
-              if type(self.HTML[j]) == StringType:
+              if not isinstance(self.HTML[j], Template):
                 Match = self.VarEndSearch.search(self.HTML[j])
                 if Match:
                   # Found end tag, split off text after it
@@ -244,22 +249,17 @@
                   self.UpdateItems(self)
                   return self.HTML[i+1]
           raise KeyError, "Can't find end tag for variable: %s" % Var
-      else:
-        RetVal = self.HTML[i][Var]
-        if RetVal:
-          self.UpdateItems(self)
-          return RetVal
     return None
 
   def Expand(self, Dict):
     "Expand any %(<name>)s references in self."
     for i in range(len(self.HTML)):
-      if type(self.HTML[i]) == StringType:
+      if isinstance(self.HTML[i], Template):
+        self.HTML[i].Expand(Dict)
+      else:
         if not self.BeenExpanded:
           self.HTML[i] = \
             self.LonePctSearch.sub(self.LonePctRepl, self.HTML[i]) % Dict
-      else:
-        self.HTML[i].Expand(Dict)
     self.BeenExpanded = 1
     return self
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.