Beispiel #1
0
def scrapuj(url, params, db, start, end):
    engine = create_engine(db)
    Session = sessionmaker(bind=engine)
    session = Session()

    licence = []

    for instance in session.query(Subjekt).order_by(Subjekt.id):
        licence.append(instance.cislo_licence)

    for lic in licence[start:end]:
        params.update({'lic-id': lic})

        data_z_licence = parsuj.parsuj_stranku(parsuj.priprav_bs(URL, params))

        # Update dat o subjektech (základ byl v xml na jiné stránce)
        data_subjektu = {k: v for k, v in data_z_licence.items() if k not in ['cislo_licence', 'provozovny']}
        session.query(Subjekt).filter(Subjekt.cislo_licence == lic).update(data_subjektu)

        # Přidání provozoven do tabulky
        id = session.query(Subjekt).filter(Subjekt.cislo_licence == lic).first().id
        provozovny = data_z_licence['provozovny']

        for provoz in provozovny:
            provoz.update({'subjekt_id': id})
            session.add(Provozovna(**provoz))

    session.commit()
Beispiel #2
0
 def test_cez_trmice_okres(self):
     result = parsuj.parsuj_stranku(self.bs)['provozovny'][24]['okres']
     self.assertEqual(result, cez.prov_okres)
Beispiel #3
0
 def test_cez_trmice_ulice(self):
     result = parsuj.parsuj_stranku(self.bs)['provozovny'][24]['ulice']
     self.assertEqual(result, cez.prov_ulice)
Beispiel #4
0
 def test_cez_trmice_nazev(self):
     result = parsuj.parsuj_stranku(self.bs)['provozovny'][24]['nazev']
     self.assertEqual(result, cez.prov_nazev)
Beispiel #5
0
 def test_cez_celkovy_tepelny(self):
     result = parsuj.parsuj_stranku(self.bs)['celkovy_tep']
     self.assertEqual(result, cez.celkovy_tep)
Beispiel #6
0
 def test_cez_celkovy_elektricky(self):
     result = parsuj.parsuj_stranku(self.bs)['celkovy_el']
     self.assertEqual(result, cez.celkovy_el)
Beispiel #7
0
 def test_cez_pocet_provozoven(self):
     result = len(parsuj.parsuj_stranku(self.bs)['provozovny'])
     self.assertEqual(result, cez.provozovny_pocet)
Beispiel #8
0
 def test_cez_cislo_licence(self):
     result = parsuj.parsuj_stranku(self.bs)['cislo_licence']
     self.assertEqual(result, cez.cislo_licence)
Beispiel #9
0
 def test_cez_trmice_kod_katastru(self):
     stranka = parsuj.parsuj_stranku(self.bs)
     result = stranka['provozovny'][24]['kod_katastru']
     self.assertEqual(result, cez.prov_kod_katastru)