def convertDict2Attrs(self, *args, **kwargs):
constantFields = ['<STR_LIT:id>', '<STR_LIT>', '<STR_LIT:name>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>']<EOL>def convierte(data):<EOL><INDENT>"""<STR_LIT>"""<EOL>try:<EOL><INDENT>it = iter(data)<EOL>if type(it) == type(iter({})):<EOL><INDENT>d = {}<EOL>for k in it:<EOL><INDENT>if k in constantFields:<EOL><INDENT>d[k] = data[k]<EOL><DEDENT>else:<EOL><INDENT>d[k] = convierte(data[k])<EOL><DEDENT><DEDENT>data = d<EOL><DEDENT>if type(it) == type(iter([])):<EOL><INDENT>l = []<EOL>for e in it:<EOL><INDENT>l.append(convierte(e))<EOL><DEDENT>data = l<EOL><DEDENT><DEDENT>except TypeError as terr:<EOL><INDENT>pass<EOL><DEDENT>except Exception as ex:<EOL><INDENT>raise ex<EOL><DEDENT>try:<EOL><INDENT>d = int(data)<EOL>if str(d) != data: <EOL><INDENT>return data<EOL><DEDENT>return d<EOL><DEDENT>except (TypeError, ValueError) as tverr:<EOL><INDENT>try:<EOL><INDENT>return float(data)<EOL><DEDENT>except (TypeError, ValueError) as tverr:<EOL><INDENT>try:<EOL><INDENT>return self.util_dateFormat(data)<EOL><DEDENT>except (TypeError, ValueError) as tverr:<EOL><INDENT>return data<EOL><DEDENT><DEDENT><DEDENT>return data<EOL><DEDENT>self.attrs = convierte(self.attrs)<EOL>
Each element on the atttrs attribute gest converted to a
        proper python object, depending on type.

        Some default constantFields are left as is (strings), because
        they are better treated as strings.