Skip to content

Commit 10c4c2f

Browse files
committed
don't use ast.literal_eval, just directly convert to the desired type
It's slow and unnecessary
1 parent 6eb828f commit 10c4c2f

1 file changed

Lines changed: 3 additions & 4 deletions

File tree

qubesadmin/base.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import traceback
2525
import re
2626

27-
import ast
2827
import qubesadmin.exc
2928

3029
DEFAULT = object()
@@ -260,13 +259,13 @@ def _decode_value(self, value, prop_type):
260259
elif prop_type == 'bool':
261260
if value == '':
262261
raise AttributeError
263-
value = ast.literal_eval(value)
262+
value = value == "True"
264263
elif prop_type == 'int':
265264
if value == '':
266265
value = None # hack for stubdom_mem
267266
#raise AttributeError
268267
else:
269-
value = ast.literal_eval(value)
268+
value = int(value)
270269
elif prop_type == 'vm':
271270
if value == '':
272271
value = None
@@ -296,7 +295,7 @@ def _update_one(self, item):
296295

297296
assert default.startswith(b'default=')
298297
is_default_str = default.split(b'=')[1]
299-
is_default = ast.literal_eval(is_default_str.decode('ascii'))
298+
is_default = is_default_str.decode('ascii') == "True"
300299
assert isinstance(is_default, bool)
301300

302301
prop_type = prop_type.decode('ascii')

0 commit comments

Comments
 (0)