From 305ba3eca9c85e44c4352b6504fdebde5d9803ff Mon Sep 17 00:00:00 2001 From: ashander Date: Fri, 24 Apr 2015 16:19:12 -0700 Subject: [PATCH] Use BaseLoader to avoid type mapping In PyYAML tag types are mapped to python types (http://pyyaml.org/wiki/PyYAMLDocumentation#YAMLtagsandPythontypes) In contrast, in Markdown Meta-Data extension, values are strings (https://pythonhosted.org/Markdown/extensions/meta_data.html). The BaseLoader class only construct basic Python objects: lists, dictionaries and Unicode strings so will likely perform more as expected. --- meta_yaml.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta_yaml.py b/meta_yaml.py index b75fe7b..aea9c0d 100644 --- a/meta_yaml.py +++ b/meta_yaml.py @@ -53,9 +53,9 @@ from markdown import Extension from markdown.preprocessors import Preprocessor import yaml try: - from yaml import CSafeLoader as Loader + from yaml import CBaseLoader as Loader except ImportError: - from yaml import Loader + from yaml import BaseLoader # Override the default string handling function to always return unicode objects