def parse_line(self, line):
        line = line.strip()
        if line != '':
            fields = line.split('\t')
            item = dict()
            item['dni'] = fields[0]
            item['postulacion_departamento'] = fields[1]
            item['postulacion_provincia'] = fields[2]
            item['postulacion_distrito'] = fields[3]
            item['candidato_jne_id'] = fields[4]
            item['org_politica'] = fields[5]
            item['postulacion_cargo'] = fields[6]
            item['postulacion_designacion'] = fields[7]
            item['apellido_paterno'] = fields[8]
            item['apellido_materno'] = fields[9]
            item['nombres'] = fields[10]
            item['sexo'] = fields[11]
            item['email'] = fields[12]
            item['nacimiento_departamento'] = fields[13]
            item['nacimiento_provincia'] = fields[14]
            item['nacimiento_distrito'] = fields[15]
            try:
                item['nacimiento_fecha'] = datetime.datetime.strptime(fields[16], '%Y%m%d').date()
            except ValueError:
                item['nacimiento_fecha'] = None

            item['residencia_departamento'] = get_item_from_list(fields, 17)
            item['residencia_provincia'] = get_item_from_list(fields, 18)
            item['residencia_distrito'] = get_item_from_list(fields, 19)
            item['residencia_lugar'] = get_item_from_list(fields, 20)
            item['residencia_tiempo'] = get_item_from_list(fields, 21)

            if item['dni'] != 'DNI':
                return item
        return None
    def construct_education_obj(self, fields, type):
        candidato = self.get_candidato(fields)
        institucion_ed_obj = self.get_inst_ed(fields, type)
        if type == 'superior':
            educacion_inicio, educacion_fin = get_superior_rango(fields)
            if fields[5] == 'TECNICO':
                tipo_de_estudio = 'tecnica'
            elif fields[5] == 'UNIVERSITARIO':
                tipo_de_estudio = 'universitaria'
            elif fields[5] == 'POST-GRADO':
                tipo_de_estudio = 'postgrado'
            else:
                tipo_de_estudio = ''
            type = tipo_de_estudio
            curso = get_item_from_list(fields, 8)
            carrera = get_item_from_list(fields, 9)
            if fields[11] == 'SI':
                concluido = True
            else:
                concluido = False
            tipo_de_grado = get_item_from_list(fields, 14)
            codigo_anr = get_item_from_list(fields, 15)
            tipo_postgrado = get_item_from_list(fields, 16)
            otro_tipo_documento = get_item_from_list(fields, 17)

            e = Estudio(candidato=candidato, institucion_educativa=institucion_ed_obj, tipo_de_estudio=type,
                        inicio=educacion_inicio, fin=educacion_fin, curso=curso, carrera=carrera,
                        concluido=concluido, tipo_de_grado=tipo_de_grado, codigo_anr=codigo_anr,
                        tipo_postgrado=tipo_postgrado, otro_tipo_documento=otro_tipo_documento)
            return e

        if type == 'primaria':
            educacion_inicio, educacion_fin = self.get_primaria_rango(fields)
        elif type == 'secundaria':
            educacion_inicio, educacion_fin = self.get_secundaria_rango(fields)
        e = Estudio(candidato=candidato, institucion_educativa=institucion_ed_obj,
                    tipo_de_estudio=type, inicio=educacion_inicio, fin=educacion_fin)
        return e
def get_institucion_superior(fields):
    nombre = get_item_from_list(fields, 10)
    departamento = get_item_from_list(fields, 18)
    provincia = get_item_from_list(fields, 19)
    distrito = get_item_from_list(fields, 20)
    extranjero = get_item_from_list(fields, 6)
    pais = get_item_from_list(fields, 7)
    item = {
        'nombre': nombre,
        'departamento': departamento,
        'provincia': provincia,
        'distrito': distrito,
    }
    this_inst_edu = {
        'sha1': make_sha1(item),
        'nombre': nombre,
        'departamento': departamento,
        'provincia': provincia,
        'distrito': distrito,
        'extranjero': extranjero,
        'pais': pais,
    }
    return this_inst_edu
def get_institucion_secundaria(fields):
    nombre_secundaria = get_item_from_list(fields, 6)
    departamento_secundaria = get_item_from_list(fields, 17)
    provincia_secundaria = get_item_from_list(fields, 18)
    distrito_secundaria = get_item_from_list(fields, 19)
    extranjero = get_item_from_list(fields, 20)
    pais = get_item_from_list(fields, 21)
    item = {
        'nombre': nombre_secundaria,
        'departamento': departamento_secundaria,
        'provincia': provincia_secundaria,
        'distrito': distrito_secundaria,
        }
    this_inst_edu = {
        'sha1': make_sha1(item),
        'nombre': nombre_secundaria,
        'departamento': departamento_secundaria,
        'provincia': provincia_secundaria,
        'distrito': distrito_secundaria,
        'extranjero': extranjero,
        'pais': pais,
    }
    return this_inst_edu
예제 #5
0
 def test_get_item_from_list(self):
     my_list = ['', 'MIGUEL GRAU']
     expected = 'MIGUEL GRAU'
     result = get_item_from_list(my_list, 1)
     self.assertEqual(expected, result)
def get_superior_rango(fields):
    inicio = get_item_from_list(fields, 12)
    fin = get_item_from_list(fields, 13)
    return inicio, fin
 def get_secundaria_rango(self, fields):
     inicio = get_item_from_list(fields, 9)
     fin = get_item_from_list(fields, 10)
     return inicio, fin
 def get_primaria_rango(self, fields):
     inicio = get_item_from_list(fields, 7)
     fin = get_item_from_list(fields, 8)
     return inicio, fin