def as_person(self,dct): p = Person() p.id = int(dct['id']) logging.info('**id**') logging.info(dct['id']) if dct.has_key('first_name'): p.first_name = dct['first_name'] if dct.has_key('last_name'): p.last_name = dct['last_name'] if dct.has_key('job_title'): p.job_title = dct['job_title'] if dct.has_key('salutation'): p.salutation = dct['salutation'] if dct.has_key('roles'): p.roles = [] if(isinstance( (dct['roles']), int )): p.roles.append(dct['roles']); else: for i in dct['roles']: p.roles.append(PersonRole.get(i)); if dct.has_key('phones'): logging.info('**phone start**') if(isinstance( (dct['phones']), str )): logging.info('ITS A STRING') if(isinstance( (dct['phones']), list )): logging.info('ITS A LIST') logging.info(dct['phones']) for ph in dct['phones']: nph = Phone(ph['id'],ph['number'],PhoneType.get(ph['type'])) p.phones.append(nph); logging.info(dct['emails']) for em in dct['emails']: nem = Email(em['id'],em['address'],EmailType.get(em['type'])) p.emails.append(nem); logging.info(em['address']) return p