Mainteiner names special chars fix
Change-Id: I4855094c2b1c4d32192a3d2d943d22e1260e9f3a
Related-PROD: PROD-28199
diff --git a/cfg_checker/modules/packages/repos.py b/cfg_checker/modules/packages/repos.py
index c0aaaee..ae662de 100644
--- a/cfg_checker/modules/packages/repos.py
+++ b/cfg_checker/modules/packages/repos.py
@@ -40,12 +40,15 @@
def _get_value_index(_di, value, header=None):
+ # Mainteiner names often uses specific chars
+ # so make sure that value saved is unicode not str
+ _val = unicode(value, 'utf-8') if isinstance(value, str) else value
if header:
if not filter(lambda i: _di[i]["header"] == header, _di):
- _index = str(len(_di.keys()) + 1)
+ _index = unicode(len(_di.keys()) + 1)
_di[_index] = {
"header": header,
- "props": value
+ "props": _val
}
else:
for _k, _v in _di.iteritems():
@@ -54,12 +57,13 @@
return _index
else:
- if not filter(lambda i: _di[i] == value, _di):
- _index = str(len(_di.keys()) + 1)
- _di[_index] = value
+ if not filter(lambda i: _di[i] == _val, _di):
+ _index = unicode(len(_di.keys()) + 1)
+ # on save, cast it as unicode
+ _di[_index] = _val
else:
for _k, _v in _di.iteritems():
- if _v == value:
+ if _v == _val:
_index = _k
return _index