From d4a429bcc5984716b28296790e292401ebd8643d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Behmo?= Date: Thu, 11 Jul 2019 10:31:23 +0800 Subject: [PATCH] Fix parsing of weird characters in configuration parameters --- tests/test_serialize.py | 3 +++ tutor/serialize.py | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/test_serialize.py b/tests/test_serialize.py index c960d39..0534b79 100644 --- a/tests/test_serialize.py +++ b/tests/test_serialize.py @@ -22,3 +22,6 @@ class SerializeTests(unittest.TestCase): def test_parse_list(self): self.assertEqual(["abcd"], serialize.parse('["abcd"]')) + + def test_parse_weird_chars(self): + self.assertEqual("*@google.com", serialize.parse("*@google.com")) diff --git a/tutor/serialize.py b/tutor/serialize.py index 1c11885..ca6c3b7 100644 --- a/tutor/serialize.py +++ b/tutor/serialize.py @@ -1,5 +1,6 @@ import yaml from yaml.parser import ParserError +from yaml.scanner import ScannerError def load(stream): @@ -16,6 +17,6 @@ def parse(v): """ try: return load(v) - except ParserError: + except (ParserError, ScannerError): pass return v