| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 31e785a commit e73c30c
1 file changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -44,6 +44,7 @@ | |||
| 44 | 44 | else: | |
| 45 | 45 | _name_type_nodes = (ast.Name,) | |
| 46 | 46 | ||
| 47 | + | ||
| 47 | 48 | class EvaluationError(Exception): | |
| 48 | 49 | """Raised if an exception occurred in safe_eval.""" | |
| 49 | 50 | ||
@@ -113,31 +114,32 @@ def _convert(node): | |||
| 113 | 114 | raise EvaluationError("can't lookup %s" % node.id) | |
| 114 | 115 | ||
| 115 | 116 | # unary + and - are allowed on any type | |
| 116 | - elif isinstance(node, ast.UnaryOp) and \ | ||
| 117 | - isinstance(node.op, (ast.UAdd, ast.USub)): | ||
| 118 | - # ast.literal_eval does ast typechecks here, we use type checks | ||
| 117 | + elif (isinstance(node, ast.UnaryOp) and | ||
| 118 | + isinstance(node.op, (ast.UAdd, ast.USub))): | ||
| 119 | + # ast.literal_eval does ast typechecks here, we use type checks | ||
| 119 | 120 | operand = _convert(node.operand) | |
| 120 | 121 | if not type(operand) in _numeric_types: | |
| 121 | 122 | raise ValueError("unary + and - only allowed on builtin nums") | |
| 122 | 123 | if isinstance(node.op, ast.UAdd): | |
| 123 | 124 | return + operand | |
| 124 | 125 | else: | |
| 125 | 126 | return - operand | |
| 126 | - elif isinstance(node, ast.BinOp) and \ | ||
| 127 | - isinstance(node.op, (ast.Add, ast.Sub)): | ||
| 127 | + elif (isinstance(node, ast.BinOp) and | ||
| 128 | + isinstance(node.op, (ast.Add, ast.Sub))): | ||
| 128 | 129 | # ast.literal_eval does ast typechecks here, we use type checks | |
| 129 | 130 | left = _convert(node.left) | |
| 130 | 131 | right = _convert(node.right) | |
| 131 | - if not (type(left) in _numeric_types and type(right) in _numeric_types): | ||
| 132 | + if not (type(left) in _numeric_types and | ||
| 133 | + type(right) in _numeric_types): | ||
| 132 | 134 | raise ValueError("binary + and - only allowed on builtin nums") | |
| 133 | 135 | if isinstance(node.op, ast.Add): | |
| 134 | 136 | return left + right | |
| 135 | 137 | else: | |
| 136 | 138 | return left - right | |
| 137 | 139 | ||
| 138 | 140 | # this is a deviation from literal_eval: we allow indexing | |
| 139 | - elif isinstance(node, ast.Subscript) and \ | ||
| 140 | - isinstance(node.slice, ast.Index): | ||
| 141 | + elif (isinstance(node, ast.Subscript) and | ||
| 142 | + isinstance(node.slice, ast.Index)): | ||
| 141 | 143 | obj = _convert(node.value) | |
| 142 | 144 | index = _convert(node.slice.value) | |
| 143 | 145 | return safe_getitem(obj, index) | |
@@ -187,7 +189,7 @@ def evaluate_current_expression(cursor_offset, line, namespace=None): | |||
| 187 | 189 | attr_before_cursor = temp_line[temp_attribute.start:temp_cursor] | |
| 188 | 190 | ||
| 189 | 191 | def parse_trees(cursor_offset, line): | |
| 190 | - for i in range(cursor_offset-1, -1, -1): | ||
| 192 | + for i in range(cursor_offset - 1, -1, -1): | ||
| 191 | 193 | try: | |
| 192 | 194 | tree = ast.parse(line[i:cursor_offset]) | |
| 193 | 195 | yield tree | |
@@ -201,15 +203,16 @@ def parse_trees(cursor_offset, line): | |||
| 201 | 203 | largest_ast = attribute_access.value | |
| 202 | 204 | ||
| 203 | 205 | if largest_ast is None: | |
| 204 | - raise EvaluationError("Corresponding ASTs to right of cursor are invalid") | ||
| 206 | + raise EvaluationError( | ||
| 207 | + "Corresponding ASTs to right of cursor are invalid") | ||
| 205 | 208 | try: | |
| 206 | 209 | return simple_eval(largest_ast, namespace) | |
| 207 | 210 | except ValueError: | |
| 208 | 211 | raise EvaluationError("Could not safely evaluate") | |
| 209 | 212 | ||
| 210 | 213 | ||
| 211 | 214 | def evaluate_current_attribute(cursor_offset, line, namespace=None): | |
| 212 | - """Safely evaluates the expression attribute lookup currently occuring on""" | ||
| 215 | + """Safely evaluates the expression having an attributed accesssed""" | ||
| 213 | 216 | # this function runs user code in case of custom descriptors, | |
| 214 | 217 | # so could fail in any way | |
| 215 | 218 | ||
@@ -220,4 +223,5 @@ def evaluate_current_attribute(cursor_offset, line, namespace=None): | |||
| 220 | 223 | try: | |
| 221 | 224 | return getattr(obj, attr.word) | |
| 222 | 225 | except AttributeError: | |
| 223 | - raise EvaluationError("can't lookup attribute %s on %r" % (attr.word, obj)) | ||
| 226 | + raise EvaluationError( | ||
| 227 | + "can't lookup attribute %s on %r" % (attr.word, obj)) | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments