本文整理汇总了Python中mako.ast.FunctionDecl方法的典型用法代码示例。如果您正苦于以下问题:Python ast.FunctionDecl方法的具体用法?Python ast.FunctionDecl怎么用?Python ast.FunctionDecl使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类mako.ast
的用法示例。
在下文中一共展示了ast.FunctionDecl方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from mako import ast [as 别名]
# 或者: from mako.ast import FunctionDecl [as 别名]
def __init__(self, keyword, attributes, **kwargs):
expressions = ['buffered', 'cached'] + [
c for c in attributes if c.startswith('cache_')]
super(DefTag, self).__init__(
keyword,
attributes,
expressions,
('name', 'filter', 'decorator'),
('name',),
**kwargs)
name = attributes['name']
if re.match(r'^[\w_]+$', name):
raise exceptions.CompileException(
"Missing parenthesis in %def",
**self.exception_kwargs)
self.function_decl = ast.FunctionDecl("def " + name + ":pass",
**self.exception_kwargs)
self.name = self.function_decl.funcname
self.decorator = attributes.get('decorator', '')
self.filter_args = ast.ArgumentList(
attributes.get('filter', ''),
**self.exception_kwargs)
示例2: __init__
# 需要导入模块: from mako import ast [as 别名]
# 或者: from mako.ast import FunctionDecl [as 别名]
def __init__(self, keyword, attributes, **kwargs):
expressions = ['buffered', 'cached'] + [
c for c in attributes if c.startswith('cache_')]
super(DefTag, self).__init__(
keyword,
attributes,
expressions,
('name', 'filter', 'decorator'),
('name',),
**kwargs)
name = attributes['name']
if re.match(r'^[\w_]+$', name):
raise exceptions.CompileException(
"Missing parenthesis in %def",
**self.exception_kwargs)
self.function_decl = ast.FunctionDecl("def " + name + ":pass",
**self.exception_kwargs)
self.name = self.function_decl.funcname
self.decorator = attributes.get('decorator', '')
self.filter_args = ast.ArgumentList(
attributes.get('filter', ''),
**self.exception_kwargs)
示例3: __init__
# 需要导入模块: from mako import ast [as 别名]
# 或者: from mako.ast import FunctionDecl [as 别名]
def __init__(self, keyword, attributes, **kwargs):
expressions = ["buffered", "cached"] + [
c for c in attributes if c.startswith("cache_")
]
super(DefTag, self).__init__(
keyword,
attributes,
expressions,
("name", "filter", "decorator"),
("name",),
**kwargs
)
name = attributes["name"]
if re.match(r"^[\w_]+$", name):
raise exceptions.CompileException(
"Missing parenthesis in %def", **self.exception_kwargs
)
self.function_decl = ast.FunctionDecl(
"def " + name + ":pass", **self.exception_kwargs
)
self.name = self.function_decl.funcname
self.decorator = attributes.get("decorator", "")
self.filter_args = ast.ArgumentList(
attributes.get("filter", ""), **self.exception_kwargs
)
示例4: test_function_decl
# 需要导入模块: from mako import ast [as 别名]
# 或者: from mako.ast import FunctionDecl [as 别名]
def test_function_decl(self):
"""test getting the arguments from a function"""
code = "def foo(a, b, c=None, d='hi', e=x, f=y+7):pass"
parsed = ast.FunctionDecl(code, **exception_kwargs)
eq_(parsed.funcname, "foo")
eq_(parsed.argnames, ["a", "b", "c", "d", "e", "f"])
eq_(parsed.kwargnames, [])
示例5: test_function_decl_2
# 需要导入模块: from mako import ast [as 别名]
# 或者: from mako.ast import FunctionDecl [as 别名]
def test_function_decl_2(self):
"""test getting the arguments from a function"""
code = "def foo(a, b, c=None, *args, **kwargs):pass"
parsed = ast.FunctionDecl(code, **exception_kwargs)
eq_(parsed.funcname, "foo")
eq_(parsed.argnames, ["a", "b", "c", "args"])
eq_(parsed.kwargnames, ["kwargs"])
示例6: test_function_decl_3
# 需要导入模块: from mako import ast [as 别名]
# 或者: from mako.ast import FunctionDecl [as 别名]
def test_function_decl_3(self):
"""test getting the arguments from a fancy py3k function"""
code = "def foo(a, b, *c, d, e, **f):pass"
parsed = ast.FunctionDecl(code, **exception_kwargs)
eq_(parsed.funcname, "foo")
eq_(parsed.argnames, ["a", "b", "c"])
eq_(parsed.kwargnames, ["d", "e", "f"])
示例7: test_function_decl
# 需要导入模块: from mako import ast [as 别名]
# 或者: from mako.ast import FunctionDecl [as 别名]
def test_function_decl(self):
"""test getting the arguments from a function"""
code = "def foo(a, b, c=None, d='hi', e=x, f=y+7):pass"
parsed = ast.FunctionDecl(code, **exception_kwargs)
eq_(parsed.funcname, 'foo')
eq_(parsed.argnames,
['a', 'b', 'c', 'd', 'e', 'f'])
eq_(parsed.kwargnames,
[])
示例8: test_function_decl_2
# 需要导入模块: from mako import ast [as 别名]
# 或者: from mako.ast import FunctionDecl [as 别名]
def test_function_decl_2(self):
"""test getting the arguments from a function"""
code = "def foo(a, b, c=None, *args, **kwargs):pass"
parsed = ast.FunctionDecl(code, **exception_kwargs)
eq_(parsed.funcname, 'foo')
eq_(parsed.argnames,
['a', 'b', 'c', 'args'])
eq_(parsed.kwargnames,
['kwargs'])
示例9: test_function_decl_3
# 需要导入模块: from mako import ast [as 别名]
# 或者: from mako.ast import FunctionDecl [as 别名]
def test_function_decl_3(self):
"""test getting the arguments from a fancy py3k function"""
code = "def foo(a, b, *c, d, e, **f):pass"
parsed = ast.FunctionDecl(code, **exception_kwargs)
eq_(parsed.funcname, 'foo')
eq_(parsed.argnames,
['a', 'b', 'c'])
eq_(parsed.kwargnames,
['d', 'e', 'f'])