def update(self, username, xml_data): from . import Cargo, Cuerpo log('Actualizando datos de usuario: %s' % (unicode(self.user))) self.user.first_name = get_xml_node_contents( xml_data, 'nombre') self.user.last_name = get_xml_node_contents( xml_data, 'apellidoPaterno') self.username = username self.user.save() log("Updated user full name: '%s'" % self.user.get_full_name()) self.webservice_id = int(get_xml_node_contents( xml_data, 'id')) cuerpo_id = get_xml_node_attribute(xml_data, 'cuerpo', 'id') self.cuerpo = Cuerpo.objects.get(webservice_id=cuerpo_id) self.save() url = '/services/usuario/%d/cargos/' % self.webservice_id xml_data = request_webservice(url) self.cargos.clear() for cargo_element in get_xml_node_children(xml_data, 'cargo'): webservice_id = int(get_xml_node_contents(cargo_element, 'id')) nombre = get_xml_node_contents(cargo_element, 'nombre') try: cargo = Cargo.objects.get(webservice_id=webservice_id) except Cargo.DoesNotExist: cargo = Cargo() cargo.webservice_id = webservice_id cargo.nombre = nombre cargo.save() self.cargos.add(cargo) self.save()
def update_from_webservice(cls): from . import Cuerpo companias_raw_data = request_webservice('/services/compania/') raw_companias_list = companias_raw_data.childNodes for raw_compania in raw_companias_list: compania_webservice_id = int(get_xml_node_contents(raw_compania, 'id')) compania_cuerpo_id = int(get_xml_node_attribute(raw_compania, 'cuerpo', 'id')) compania_numero = int(get_xml_node_contents(raw_compania, 'numero')) try: compania = Compania.objects.get(webservice_id=compania_webservice_id) except Compania.DoesNotExist: compania = Compania() compania.webservice_id = compania_webservice_id compania.cuerpo = Cuerpo.objects.get(webservice_id=compania_cuerpo_id) compania.numero = compania_numero compania.save()
def update_from_webservice(self): from . import Comuna cuerpos_raw_data = request_webservice('/services/cuerpo/') raw_cuerpos_list = cuerpos_raw_data.childNodes for raw_cuerpo in raw_cuerpos_list: cuerpo_webservice_id = int(get_xml_node_contents(raw_cuerpo, 'id')) cuerpo_comuna_id = int(get_xml_node_attribute(raw_cuerpo, 'comuna', 'id')) cuerpo_nombre = get_xml_node_contents(raw_cuerpo, 'nombre') try: cuerpo = Cuerpo.objects.get(webservice_id=cuerpo_webservice_id) except Cuerpo.DoesNotExist: cuerpo = Cuerpo() cuerpo.webservice_id = cuerpo_webservice_id cuerpo.comuna = Comuna.objects.get(webservice_id=cuerpo_comuna_id) cuerpo.nombre = cuerpo_nombre cuerpo.save()
def update_from_webservice(self): log('Actualizando comunas desde Webservice') from . import Provincia comunas_raw_data = request_webservice('/services/comuna/') raw_comunas_list = comunas_raw_data.childNodes for raw_comuna in raw_comunas_list: comuna_webservice_id = int(get_xml_node_contents(raw_comuna, 'id')) comuna_provincia_id = int(get_xml_node_attribute(raw_comuna, 'provincia', 'id')) comuna_nombre = get_xml_node_contents(raw_comuna, 'nombre') log('%d %d %s' % (comuna_webservice_id, comuna_provincia_id, comuna_nombre)) try: comuna = Comuna.objects.get(webservice_id=comuna_webservice_id) except Comuna.DoesNotExist: comuna = Comuna() comuna.webservice_id = comuna_webservice_id comuna.provincia = Provincia.objects.get(webservice_id=comuna_provincia_id) comuna.nombre = comuna_nombre comuna.save() log('Comuna guardada')
def update_from_webservice(self): log('Actualizando provincias desde Webservice') from . import Region provincias_raw_data = request_webservice('/services/provincia/') raw_provincias_list = provincias_raw_data.childNodes for raw_provincia in raw_provincias_list: provincia_webservice_id = int(get_xml_node_contents(raw_provincia, 'id')) provincia_region_id = int(get_xml_node_attribute(raw_provincia, 'region', 'id')) provincia_nombre = get_xml_node_contents(raw_provincia, 'nombre') log('%d %d %s' % (provincia_webservice_id, provincia_region_id, provincia_nombre)) try: provincia = Provincia.objects.get(webservice_id=provincia_webservice_id) except Provincia.DoesNotExist: provincia = Provincia() provincia.webservice_id = provincia_webservice_id provincia.region = Region.objects.get(webservice_id=provincia_region_id) provincia.nombre = provincia_nombre provincia.save() log('Provincia guardada')