def actualizar_cuadernos(self): from tracker.models import Cuaderno url = self.get_external_url() soup = open_url(url) causas = soup.find('table', {'id': 'contentCellsAddTabla'}).findAll( 'tr')[1:] if len(causas) == 1: url = 'http://civil.poderjudicial.cl' + causas[0].find('a')['href'] else: raise Exception soup = open_url(url) opciones = soup.find('select', {'name': 'CRR_Cuaderno'}).findAll( 'option') for opcion in opciones: id = opcion['value'] nombre = opcion.string try: Cuaderno.objects.get(causa=self, external_id=id) except Cuaderno.DoesNotExist: Cuaderno.objects.create( external_id=id, nombre=nombre, causa=self )
def actualizar_entradas(self): from tracker.models import Entrada url = self.get_external_url() soup = open_url(url) entradas = soup.find('div', {'id': 'Historia'}).findAll( 'table')[1].findAll('tr') for entrada in entradas: celdas = [td.string.strip() for td in entrada.findAll('td') if td.string] folio = int(celdas[0]) etapa = celdas[1] tramite = celdas[2] descripcion_tramite = celdas[3] fecha_tramite = datetime.strptime(celdas[4], '%d/%m/%Y').date() foja = celdas[5] try: Entrada.objects.get(folio=folio, cuaderno=self) except Entrada.DoesNotExist: Entrada.objects.create( cuaderno=self, folio=folio, etapa=etapa, tramite=tramite, descripcion_tramite=descripcion_tramite, fecha_tramite=fecha_tramite, foja=foja )