Example #1
0
def gtl_pdf_parser(docid, izena, data, lekua, import_to_db, filename, parse_to_csv):
    structure = [(1, 'JN'), (2, 'JG'), (3, 'SN'), (4, 'SG'), (5, 'SG')]

    e = None
    if import_to_db:
        import adaptors.couch as couchdb
        try:
            e = couchdb.getdoc(docid)
            del e['sailkapena']
        except KeyError as err:
            e = {
                'izena': izena,
                'data': data,
                'lekua': lekua
            }
    else:
        e = {
            'izena': izena,
            'data': data,
            'lekua': lekua
        }
    estropada = Estropada(**e)
    kategoriak = []

    if parse_to_csv:
        for kategoria in structure:
            logger.info(f'Reading page {kategoria[0]} for cat {kategoria[1]}')
            try:
                kategoria_emaitzak = parse_pdf_to_csv(filename, kategoria[0], kategoria[1], data)
            except Exception as e:
                print(f"Cannot parse {kategoria[0]} orrialdea")
                logger.error(e)

    else:
        for kategoria in structure:
            logger.info(f'Reading page {kategoria[0]} for cat {kategoria[1]}')
            try:
                kategoria_emaitzak = parse_data(kategoria[0], kategoria[1], data)
                kategoriak.append(kategoria[1])
                for t in kategoria_emaitzak:
                    estropada.taldeak_add(t)
            except Exception as e:
                print(f"Cannot parse {kategoria[0]} orrialdea")
                logger.error(e)


        estropada.kategoriak = kategoriak
        puntuazioak_kalkulatu(estropada)

        if import_to_db:
            estropada_json = estropada.get_json()
            estropada_obj = json.loads(estropada_json)
            if hasattr(estropada, '_rev'):
                estropada_obj['_rev'] = estropada._rev
            couchdb.setdoc(docid, estropada_obj)
        else:
            estropada.dump_json()
Example #2
0
def parse_emaitzak_doc(filename):
    df = read_pdf(filename, pages=1, stream=True)

    neskak = df[0]
    nesken_emaitza = parse_data(neskak)
    e = {
        'izena': 'Bizkaiako traineru txapelketa',
        'data': '2020-07-15 18:00',
        'lekua': 'Orio'
    }
    estropada = Estropada(**e)
    for e in nesken_emaitza:
        estropada.taldeak_add(e)
    print(estropada.get_json())
        kategoria_base = None
        kategoriak_helper = []
        for row in estropadakreader:
            eguna = row[3]
            if int(row[3]) < 10:
                eguna = f'0{row[3]}'
            data = f'2020-{month_index(row[1])}-{eguna}'
            print(row[5][0:2])
            try:
                jardunaldia = int(row[5][0:2])
            except ValueError:
                try:
                    jardunaldia = int(row[5][0])
                except ValueError:
                    jardunaldia = None
            # print(f'{jardunaldia} [{data}] - {row[4]} - {row[5]}')
            datuak = {
                'id': f'2020_GBL_{jardunaldia:02}',
                'jardunaldia': jardunaldia,
                'data': data,
                'liga': 'GBL',
                'lekua': row[4]
            }
            estropada = Estropada(
                f'Gipuzkoako batel liga, {jardunaldia}. Jardunaldia', **datuak)

            # print_pretty(estropada)
            print(estropada.get_json())
            estropada_json = estropada.get_json()
            db[estropada.id] = json.loads(estropada_json)
Example #4
0
                continue
            kategoria = kategoria_base
            kategoriak_helper.append(kategoria)
            denbora = row[5]
            if kategoria_base == 'SG' and count < 2:
                puntuazioa = 0
            else:
                if posizioa == 1:
                    puntuazioa = row[6]
                else:
                    puntuazioa = row[7]
            emaitza = {
                'tanda': tanda,
                'tanda_postua': posizioa,
                'kalea': kalea,
                'posizioa': posizioa,
                'kategoria': kategoria,
                'denbora': denbora,
                'puntuazioa': int(puntuazioa)
            }
            t = TaldeEmaitza(row[1], **emaitza)
            t.ziaboga_gehitu(row[4])
            # if row[13] != '':
            #     t.ziaboga_gehitu(row[13])
            # if row[15] != '':
            #     t.ziaboga_gehitu(row[15])
            estropada.taldeak_add(t)
        estropada.kategoriak = list(set(kategoriak_helper))

    print(estropada.get_json())