-
-
Save iced/d18f4f401ce7d71db185 to your computer and use it in GitHub Desktop.
chebotarev
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
for key0 in cls.TEMPLATE.keys(): | |
#isinstance(data[key], dict) | |
if cls.TEMPLATE[key0].__class__.__name__ == cls.DESC_CLASS_DICT and \ | |
cls.TEMPLATE[key0].get(cls.DESC_TAG_CLASS) is not None: | |
for key in cls.TEMPLATE[key0].keys(): | |
if cls.TEMPLATE[key0][key].__class__.__name__ == cls.DESC_CLASS_DICT and \ | |
cls.TEMPLATE[key0][key].get(cls.DESC_TAG_CLASS) is not None: | |
if cls.TEMPLATE[key0][key][cls.DESC_TAG_CLASS] == cls.DESC_CLASS_JSON: | |
for key2 in cls.TEMPLATE[key0][key].keys(): | |
if key2 == cls.DESC_TAG_CLASS: | |
continue | |
if cls.TEMPLATE[key0][key][key2].__class__.__name__ != cls.DESC_CLASS_DICT: | |
raise BAPIErrorJSONType, cls.MESSAGE_BAD_WRONG_DESCRIPTION % \ | |
(key, key2, cls.GAME) | |
if data[key0][key].get(key2) is None: | |
raise BAPIErrorJSONStructure, cls.MESSAGE_BAD_WRONG_DESCRIPTION % \ | |
(key, key2, cls.GAME) | |
if cls.TEMPLATE[key0][key][key2][cls.DESC_TAG_CLASS] == cls.DESC_CLASS_JSON: | |
for key3 in cls.TEMPLATE[key0][key][key2].keys(): | |
if key3 == cls.DESC_TAG_CLASS: | |
continue | |
if cls.TEMPLATE[key0][key][key2][key3].__class__.__name__ != cls.DESC_CLASS_DICT and \ | |
cls.TEMPLATE[key0][key].get(cls.DESC_TAG_CLASS) is not None: | |
raise BAPIErrorJSONStructure, cls.MESSAGE_BAD_WRONG_DESCRIPTION2 % \ | |
(key, key2, key3, cls.GAME) | |
else: | |
if data[key0][key][key2].get(key3) is None: | |
if cls.TEMPLATE[key0][key][key2][key3].__class__.__name__ == cls.DESC_CLASS_DICT and \ | |
cls.TEMPLATE[key0][key][key2][key3].get(cls.DESC_TAG_DEFAULT) is not None: | |
data[key0][key][key2][key3] = cls.TEMPLATE[key0][key][key2][key3][cls.DESC_TAG_DEFAULT] | |
else: | |
raise BAPIErrorJSONValue, cls.MESSAGE_BAD_DEFAULT_VALUE2 % \ | |
(key, key2, key3, cls.GAME) | |
# else: | |
# print data[key0][key][key2][key3] | |
for key3 in set(data[key0][key][key2].keys()) - set(cls.TEMPLATE[key0][key][key2].keys()): | |
del(data[key0][key][key2][key3]) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment