]> git.p6c8.net - template-class.git/blobdiff - template.py
template.py funktioniert auch unter Python 2.7.
[template-class.git] / template.py
index 05c2345ebb2931df0c287137565f4217b38b8b96..0455ed5311a03932a3b4077854db0d0d346bbfd0 100644 (file)
@@ -5,9 +5,9 @@
 # Klasse zum Parsen von Templates\r
 #\r
 # Autor:            Patrick Canterino <patrick@patshaping.de>\r
 # Klasse zum Parsen von Templates\r
 #\r
 # Autor:            Patrick Canterino <patrick@patshaping.de>\r
-# Letzte Aenderung: 25.11.2011\r
+# Letzte Aenderung: 26.4.2013\r
 #\r
 #\r
-# Copyright (C) 2002-2011 Patrick Canterino\r
+# Copyright (C) 2002-2013 Patrick Canterino\r
 #\r
 # Diese Datei kann unter den Bedingungen der "Artistic License 2.0"\r
 # weitergegeben und / oder veraendert werden.\r
 #\r
 # Diese Datei kann unter den Bedingungen der "Artistic License 2.0"\r
 # weitergegeben und / oder veraendert werden.\r
@@ -104,6 +104,7 @@ class Template:
     # Rueckgabe: -nichts- (Template-Objekt wird modifiziert)\r
 \r
     def set_var(self,var,content):\r
     # Rueckgabe: -nichts- (Template-Objekt wird modifiziert)\r
 \r
     def set_var(self,var,content):\r
+        if content is None: content = ''\r
         self.vars[var] = content\r
 \r
     # get_var()\r
         self.vars[var] = content\r
 \r
     # get_var()\r
@@ -119,7 +120,7 @@ class Template:
 \r
     def get_var(self,var=None):\r
         if var is not None:\r
 \r
     def get_var(self,var=None):\r
         if var is not None:\r
-            if self.vars.has_key(var):\r
+            if var in self.vars:\r
                 return self.vars[var]\r
             else:\r
                 return None\r
                 return self.vars[var]\r
             else:\r
                 return None\r
@@ -173,7 +174,7 @@ class Template:
     # Rueckgabe: -nichts- (Template-Objekt wird modifiziert)\r
 \r
     def add_loop_data(self,loop,data):\r
     # Rueckgabe: -nichts- (Template-Objekt wird modifiziert)\r
 \r
     def add_loop_data(self,loop,data):\r
-        if self.loop_vars.has_key(loop) and type(self.loop_vars[loop]) is list:\r
+        if loop in self.loop_vars and type(self.loop_vars[loop]) is list:\r
             self.loop_vars[loop].append(data)\r
         else:\r
             self.loop_vars[loop] = [data]\r
             self.loop_vars[loop].append(data)\r
         else:\r
             self.loop_vars[loop] = [data]\r
@@ -206,7 +207,7 @@ class Template:
 \r
         vars = self.get_var()\r
 \r
 \r
         vars = self.get_var()\r
 \r
-        if vars is not None and type(vars) is list:\r
+        if vars is not None and len(vars) > 0:\r
             self.parse_if_blocks()\r
             self.replace_vars()\r
 \r
             self.parse_if_blocks()\r
             self.replace_vars()\r
 \r
@@ -216,7 +217,7 @@ class Template:
 \r
     # parse_old()\r
     #\r
 \r
     # parse_old()\r
     #\r
-    # In der Template    definierte Variablen auslesen, Variablen\r
+    # In der Template definierte Variablen auslesen, Variablen\r
     # ersetzen, {IF}- und {TRIM}-Bloecke parsen\r
     # (alte Methode)\r
     #\r
     # ersetzen, {IF}- und {TRIM}-Bloecke parsen\r
     # (alte Methode)\r
     #\r
@@ -440,7 +441,7 @@ class Template:
 \r
     # get_defined_vars()\r
     #\r
 \r
     # get_defined_vars()\r
     #\r
-    # In der Template-Datei    definierte Variablen auslesen\r
+    # In der Template-Datei definierte Variablen auslesen\r
     #\r
     # Parameter: -nichts-\r
     #\r
     #\r
     # Parameter: -nichts-\r
     #\r
@@ -580,8 +581,8 @@ class Template:
     # IF-Bloecke verarbeiten\r
     #\r
     # Parameter: 1. Name des IF-Blocks (das, was nach dem IF steht)\r
     # IF-Bloecke verarbeiten\r
     #\r
     # Parameter: 1. Name des IF-Blocks (das, was nach dem IF steht)\r
-    #              2. Status-Code (true    => Inhalt anzeigen\r
-    #                              false => Inhalt nicht anzeigen\r
+    #            2. Status-Code (true  => Inhalt anzeigen\r
+    #                            false => Inhalt nicht anzeigen\r
     #\r
     # Rueckgabe: -nichts- (Template-Objekt wird modifiziert)\r
 \r
     #\r
     # Rueckgabe: -nichts- (Template-Objekt wird modifiziert)\r
 \r
@@ -599,7 +600,7 @@ class Template:
             splitted = tpl_tmp.split('{ENDIF}')\r
 \r
             block = '' # Kompletter bedingter Block\r
             splitted = tpl_tmp.split('{ENDIF}')\r
 \r
             block = '' # Kompletter bedingter Block\r
-            ifs      = 0  # IF-Zaehler (wird fuer jedes IF erhoeht und fuer jedes ENDIF erniedrigt)\r
+            ifs   = 0  # IF-Zaehler (wird fuer jedes IF erhoeht und fuer jedes ENDIF erniedrigt)\r
 \r
             # {IF}\r
 \r
 \r
             # {IF}\r
 \r
@@ -611,7 +612,7 @@ class Template:
 \r
                 ifs += splitted[x].count('{IF ') # Zum Zaehler jedes Vorkommen von IF hinzuzaehlen\r
                 ifs -= 1                         # Zaehler um 1 erniedrigen\r
 \r
                 ifs += splitted[x].count('{IF ') # Zum Zaehler jedes Vorkommen von IF hinzuzaehlen\r
                 ifs -= 1                         # Zaehler um 1 erniedrigen\r
-                block += splitted[x]+'{ENDIF}'     # Daten zum Block hinzufuegen\r
+                block += splitted[x]+'{ENDIF}'   # Daten zum Block hinzufuegen\r
 \r
                 x += 1\r
 \r
 \r
                 x += 1\r
 \r

patrick-canterino.de