(code_str, gvars=None, lvars=None)
| 100 | |
| 101 | |
| 102 | def exec_safe(code_str, gvars=None, lvars=None): |
| 103 | # Due to few shot and zero shot prompt, code might generate import, slack this contraint |
| 104 | # banned_phrases = ['import', '__'] |
| 105 | # for phrase in banned_phrases: |
| 106 | # assert phrase not in code_str |
| 107 | |
| 108 | if gvars is None: |
| 109 | gvars = {} |
| 110 | if lvars is None: |
| 111 | lvars = {} |
| 112 | empty_fn = lambda *args, **kwargs: None |
| 113 | custom_gvars = merge_dicts([ |
| 114 | gvars, |
| 115 | {'exec': empty_fn, 'eval': empty_fn} |
| 116 | ]) |
| 117 | # print(code_str) |
| 118 | exec(code_str, custom_gvars, lvars) |
| 119 | |
| 120 | |
| 121 |
no test coverage detected