add creole_client and is_empty in creole_legacy
This commit is contained in:
parent
9eb6a67ac6
commit
e66a462710
|
@ -74,6 +74,27 @@ class IsDefined:
|
||||||
return varname in self.context
|
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):
|
class CheetahTemplate(oriCheetahTemplate):
|
||||||
def __init__(self,
|
def __init__(self,
|
||||||
filename: str,
|
filename: str,
|
||||||
|
@ -82,7 +103,12 @@ class CheetahTemplate(oriCheetahTemplate):
|
||||||
eosfunc: Dict,
|
eosfunc: Dict,
|
||||||
extra_context: Dict,
|
extra_context: Dict,
|
||||||
):
|
):
|
||||||
|
creole_client = CreoleClient()
|
||||||
|
creole_client.context=context
|
||||||
extra_context['is_defined'] = IsDefined(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)
|
super().__init__(filename, source, context, eosfunc, extra_context)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue