Skip to content

Commit deaf5d2

Browse files
committed
fix yaml key being transformed into bool
1 parent 6bef480 commit deaf5d2

File tree

3 files changed

+25
-1
lines changed

3 files changed

+25
-1
lines changed

ioc/misc.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,9 @@ def construct_mapping(self, node, deep=False):
4343

4444
mapping = OrderedDict()
4545
for key_node, value_node in node.value:
46-
key = self.construct_object(key_node, deep=deep)
46+
# key = self.construct_object(key_node, deep=deep)
47+
48+
key = key_node.value
4749
try:
4850
hash(key)
4951
except TypeError as exc:

tests/fixtures/order_list.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
list:
2+
z: "first"
3+
true: "OK"
4+
false: "KO"
5+
a: "last"

tests/ioc/test_misc.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# vim: set fileencoding=utf-8 :
2+
from ioc.misc import OrderedDictYAMLLoader
3+
4+
import ioc.proxy, ioc.component
5+
import unittest2 as unittest
6+
import os
7+
import yaml
8+
9+
current_dir = os.path.dirname(os.path.realpath(__file__))
10+
11+
class MiscTest(unittest.TestCase):
12+
13+
def test_true_as_key(self):
14+
15+
data = yaml.load(open("%s/../fixtures/order_list.yml" % current_dir).read(), OrderedDictYAMLLoader)
16+
17+
self.assertEquals(data['list']['true'], 'OK')

0 commit comments

Comments
 (0)