Module: check_mk
Branch: master
Commit: ea67301f74388c73b17c2053f1a0434e1ba0a0d3
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=ea67301f74388c…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Wed Sep 28 17:21:08 2016 +0200
Cleaned up some ast.literal_eval calls
---
web/htdocs/lib.py | 40 ----------------------------------------
web/htdocs/watolib.py | 8 +++++---
web/htdocs/werks.py | 9 ++-------
3 files changed, 7 insertions(+), 50 deletions(-)
diff --git a/web/htdocs/lib.py b/web/htdocs/lib.py
index e7f1602..f654dea 100644
--- a/web/htdocs/lib.py
+++ b/web/htdocs/lib.py
@@ -779,46 +779,6 @@ def file_size_human_readable(file_size):
result = as_string + result
return result
-
-try:
- import ast
- literal_eval = ast.literal_eval
-except ImportError:
- # pylint: disable=no-member
- # Python <2.5 compatibility
- try:
- from compiler import parse
- import compiler.ast
- def literal_eval(node_or_string):
- _safe_names = {'None': None, 'True': True, 'False':
False}
-
- if isinstance(node_or_string, basestring):
- node_or_string = parse(node_or_string, mode='eval')
- if isinstance(node_or_string, compiler.ast.Expression):
- node_or_string = node_or_string.node
-
- def _convert(node):
- if isinstance(node, compiler.ast.Const) and isinstance(node.value,
- (basestring, int, float, long, complex)):
- return node.value
- elif isinstance(node, compiler.ast.Tuple):
- return tuple(map(_convert, node.nodes))
- elif isinstance(node, compiler.ast.List):
- return list(map(_convert, node.nodes))
- elif isinstance(node, compiler.ast.Dict):
- return dict((_convert(k), _convert(v)) for k, v
- in node.items)
- elif isinstance(node, compiler.ast.Name):
- if node.name in _safe_names:
- return _safe_names[node.name]
- elif isinstance(node, compiler.ast.UnarySub):
- return -_convert(node.expr)
- raise ValueError('malformed string')
-
- return _convert(node_or_string)
- except:
- literal_eval = None
-
#.
# .--Various Constants---------------------------------------------------.
# | ____ _ _ |
diff --git a/web/htdocs/watolib.py b/web/htdocs/watolib.py
index 5ab49c8..de073db 100644
--- a/web/htdocs/watolib.py
+++ b/web/htdocs/watolib.py
@@ -46,6 +46,7 @@ import os, shutil, subprocess, base64, pickle, pwd
import config, hooks, userdb, multitar
import sites
import traceback
+import ast
from lib import *
from valuespec import *
@@ -4808,10 +4809,11 @@ def rename_host_in_list(thelist, oldname, newname):
return did_rename
+# TODO: Deprecate this legacy format with 1.4.0 or later?!
def mk_eval(s):
try:
- if literal_eval and not config.wato_legacy_eval:
- return literal_eval(base64.b64decode(s))
+ if not config.wato_legacy_eval:
+ return ast.literal_eval(base64.b64decode(s))
else:
return pickle.loads(base64.b64decode(s))
except:
@@ -4819,7 +4821,7 @@ def mk_eval(s):
def mk_repr(s):
- if literal_eval and not config.wato_legacy_eval:
+ if not config.wato_legacy_eval:
return base64.b64encode(repr(s))
else:
return base64.b64encode(pickle.dumps(s))
diff --git a/web/htdocs/werks.py b/web/htdocs/werks.py
index 0f228b2..bd5be21 100644
--- a/web/htdocs/werks.py
+++ b/web/htdocs/werks.py
@@ -205,7 +205,7 @@ def acknowledge_werks(werks):
def save_acknowledgements(acknowledged_werks):
- store.save_file(acknowledgement_path, "%r\n" % acknowledged_werks)
+ store.save_data_to_file(acknowledged_werks)
def acknowledge_all_werks():
@@ -238,12 +238,7 @@ def load_werk(path):
def load_acknowledgements():
- if os.path.exists(acknowledgement_path):
- content = file(acknowledgement_path).read().strip()
- if content:
- return literal_eval(file(acknowledgement_path).read())
-
- return []
+ return store.load_data_from_file(acknowledgement_path, [])
def unacknowledged_incompatible_werks():