| Conditions | 1 |
| Total Lines | 18 |
| Code Lines | 6 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 0 | ||
| 1 | import ast |
||
| 14 | def get_functions(page): |
||
| 15 | """ |
||
| 16 | ------ |
||
| 17 | examples: |
||
| 18 | @let |
||
| 19 | page = 'def f(): return 1' |
||
| 20 | @end |
||
| 21 | |||
| 22 | 1) get_functions(page) -> [{'name': 'f', 'tests': None}] |
||
| 23 | ------ |
||
| 24 | :param page: |
||
| 25 | :return: |
||
| 26 | """ |
||
| 27 | node = ast.parse(page) |
||
| 28 | functions = get_functions_from_node(node) |
||
| 29 | classes = [n for n in node.body if isinstance(n, ast.ClassDef)] |
||
| 30 | methods = [get_functions_from_node(class_) for class_ in classes] |
||
| 31 | return functions + methods |
||
| 32 |