X-Git-Url: https://git.p6c8.net/template-class.git/blobdiff_plain/86d4aac26dbd34db74571787559940c56f6e3f26..f86ef172549725d4fe8a9fca65c2a2f2813199c4:/template.py diff --git a/template.py b/template.py index 05c2345..e4f6bbe 100644 --- a/template.py +++ b/template.py @@ -1,13 +1,14 @@ # # Template (Version 2.5) +# (Python 3) # # Klasse zum Parsen von Templates # # Autor: Patrick Canterino -# Letzte Aenderung: 25.11.2011 +# Letzte Aenderung: 18.4.2013 # -# Copyright (C) 2002-2011 Patrick Canterino +# Copyright (C) 2002-2013 Patrick Canterino # # Diese Datei kann unter den Bedingungen der "Artistic License 2.0" # weitergegeben und / oder veraendert werden. @@ -104,6 +105,7 @@ class Template: # Rueckgabe: -nichts- (Template-Objekt wird modifiziert) def set_var(self,var,content): + if content is None: content = '' self.vars[var] = content # get_var() @@ -119,7 +121,7 @@ class Template: def get_var(self,var=None): if var is not None: - if self.vars.has_key(var): + if var in self.vars: return self.vars[var] else: return None @@ -173,7 +175,7 @@ class Template: # Rueckgabe: -nichts- (Template-Objekt wird modifiziert) def add_loop_data(self,loop,data): - if self.loop_vars.has_key(loop) and type(self.loop_vars[loop]) is list: + if loop in self.loop_vars and type(self.loop_vars[loop]) is list: self.loop_vars[loop].append(data) else: self.loop_vars[loop] = [data] @@ -206,7 +208,7 @@ class Template: vars = self.get_var() - if vars is not None and type(vars) is list: + if vars is not None and len(vars) > 0: self.parse_if_blocks() self.replace_vars() @@ -216,7 +218,7 @@ class Template: # parse_old() # - # In der Template definierte Variablen auslesen, Variablen + # In der Template definierte Variablen auslesen, Variablen # ersetzen, {IF}- und {TRIM}-Bloecke parsen # (alte Methode) # @@ -440,7 +442,7 @@ class Template: # get_defined_vars() # - # In der Template-Datei definierte Variablen auslesen + # In der Template-Datei definierte Variablen auslesen # # Parameter: -nichts- # @@ -580,8 +582,8 @@ class Template: # IF-Bloecke verarbeiten # # Parameter: 1. Name des IF-Blocks (das, was nach dem IF steht) - # 2. Status-Code (true => Inhalt anzeigen - # false => Inhalt nicht anzeigen + # 2. Status-Code (true => Inhalt anzeigen + # false => Inhalt nicht anzeigen # # Rueckgabe: -nichts- (Template-Objekt wird modifiziert) @@ -599,7 +601,7 @@ class Template: splitted = tpl_tmp.split('{ENDIF}') block = '' # Kompletter bedingter Block - ifs = 0 # IF-Zaehler (wird fuer jedes IF erhoeht und fuer jedes ENDIF erniedrigt) + ifs = 0 # IF-Zaehler (wird fuer jedes IF erhoeht und fuer jedes ENDIF erniedrigt) # {IF} @@ -611,7 +613,7 @@ class Template: ifs += splitted[x].count('{IF ') # Zum Zaehler jedes Vorkommen von IF hinzuzaehlen ifs -= 1 # Zaehler um 1 erniedrigen - block += splitted[x]+'{ENDIF}' # Daten zum Block hinzufuegen + block += splitted[x]+'{ENDIF}' # Daten zum Block hinzufuegen x += 1