add creole_client and is_empty in creole_legacy
This commit is contained in:
parent
9eb6a67ac6
commit
e66a462710
1 changed files with 26 additions and 0 deletions
|
@ -74,6 +74,27 @@ class IsDefined:
|
|||
return varname in self.context
|
||||
|
||||
|
||||
class CreoleClient():
|
||||
def get(self, path):
|
||||
path = path.replace('/', '.')
|
||||
if path.startswith('.'):
|
||||
path = path[1:]
|
||||
if '.' not in path:
|
||||
return self.context[path]
|
||||
else:
|
||||
root, path = path.split('.', 1)
|
||||
obj = self.context[root]
|
||||
for var in path.split('.'):
|
||||
obj = getattr(obj, var)
|
||||
return obj
|
||||
|
||||
|
||||
def is_empty(data):
|
||||
if str(data) in ['', '""', "''", "[]", "['']", '[""]', "None"]:
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
class CheetahTemplate(oriCheetahTemplate):
|
||||
def __init__(self,
|
||||
filename: str,
|
||||
|
@ -82,7 +103,12 @@ class CheetahTemplate(oriCheetahTemplate):
|
|||
eosfunc: Dict,
|
||||
extra_context: Dict,
|
||||
):
|
||||
creole_client = CreoleClient()
|
||||
creole_client.context=context
|
||||
extra_context['is_defined'] = IsDefined(context)
|
||||
extra_context['creole_client'] = creole_client
|
||||
extra_context['is_empty'] = is_empty
|
||||
extra_context['_creole_filename'] = extra_context['rougail_filename']
|
||||
super().__init__(filename, source, context, eosfunc, extra_context)
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue