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.