32 |
32 |
33 |
33 |
34 def checkMakoTemplateUsage(reportError, context, config): |
34 def checkMakoTemplateUsage(reportError, context, config): |
35 """ |
35 """ |
36 Function to check for use of mako templates. |
36 Function to check for use of mako templates. |
37 |
37 |
38 @param reportError function to be used to report errors |
38 @param reportError function to be used to report errors |
39 @type func |
39 @type func |
40 @param context security context object |
40 @param context security context object |
41 @type SecurityContext |
41 @type SecurityContext |
42 @param config dictionary with configuration data |
42 @param config dictionary with configuration data |
43 @type dict |
43 @type dict |
44 """ |
44 """ |
45 if isinstance(context.callFunctionNameQual, str): |
45 if isinstance(context.callFunctionNameQual, str): |
46 qualnameList = context.callFunctionNameQual.split('.') |
46 qualnameList = context.callFunctionNameQual.split(".") |
47 func = qualnameList[-1] |
47 func = qualnameList[-1] |
48 if 'mako' in qualnameList and func == 'Template': |
48 if "mako" in qualnameList and func == "Template": |
49 # unlike Jinja2, mako does not have a template wide autoescape |
49 # unlike Jinja2, mako does not have a template wide autoescape |
50 # feature and thus each variable must be carefully sanitized. |
50 # feature and thus each variable must be carefully sanitized. |
51 reportError( |
51 reportError( |
52 context.node.lineno - 1, |
52 context.node.lineno - 1, |
53 context.node.col_offset, |
53 context.node.col_offset, |