Move YAML code to its own module
Code now resides in common.serialization in the form of two new functions: yaml_load and yaml_dump. Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
This commit is contained in:
@@ -9,11 +9,6 @@ import sys
|
||||
|
||||
import yaml
|
||||
|
||||
try:
|
||||
from yaml import CSafeLoader as SafeLoader, CSafeDumper as SafeDumper
|
||||
except ImportError:
|
||||
from yaml import SafeLoader, SafeDumper
|
||||
|
||||
from django.apps import apps
|
||||
from django.conf import settings
|
||||
from django.utils.functional import Promise
|
||||
@@ -21,6 +16,8 @@ from django.utils.encoding import (
|
||||
force_bytes, force_text, python_2_unicode_compatible
|
||||
)
|
||||
|
||||
from mayan.apps.common.serialization import yaml_dump, yaml_load
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -85,7 +82,7 @@ class Setting(object):
|
||||
|
||||
@staticmethod
|
||||
def deserialize_value(value):
|
||||
return yaml.load(stream=value, Loader=SafeLoader)
|
||||
return yaml_load(stream=value)
|
||||
|
||||
@staticmethod
|
||||
def express_promises(value):
|
||||
@@ -101,9 +98,8 @@ class Setting(object):
|
||||
|
||||
@staticmethod
|
||||
def serialize_value(value):
|
||||
result = yaml.dump(
|
||||
result = yaml_dump(
|
||||
data=Setting.express_promises(value), allow_unicode=True,
|
||||
Dumper=SafeDumper
|
||||
)
|
||||
# safe_dump returns bytestrings
|
||||
# Disregard the last 3 dots that mark the end of the YAML document
|
||||
@@ -128,8 +124,8 @@ class Setting(object):
|
||||
if (filter_term and filter_term.lower() in setting.global_name.lower()) or not filter_term:
|
||||
dictionary[setting.global_name] = Setting.express_promises(setting.value)
|
||||
|
||||
return yaml.dump(
|
||||
data=dictionary, default_flow_style=False, Dumper=SafeDumper
|
||||
return yaml_dump(
|
||||
data=dictionary, default_flow_style=False
|
||||
)
|
||||
|
||||
@classmethod
|
||||
|
||||
Reference in New Issue
Block a user