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()
def test_cez_trmice_okres(self): result = parsuj.parsuj_stranku(self.bs)['provozovny'][24]['okres'] self.assertEqual(result, cez.prov_okres)
def test_cez_trmice_ulice(self): result = parsuj.parsuj_stranku(self.bs)['provozovny'][24]['ulice'] self.assertEqual(result, cez.prov_ulice)
def test_cez_trmice_nazev(self): result = parsuj.parsuj_stranku(self.bs)['provozovny'][24]['nazev'] self.assertEqual(result, cez.prov_nazev)
def test_cez_celkovy_tepelny(self): result = parsuj.parsuj_stranku(self.bs)['celkovy_tep'] self.assertEqual(result, cez.celkovy_tep)
def test_cez_celkovy_elektricky(self): result = parsuj.parsuj_stranku(self.bs)['celkovy_el'] self.assertEqual(result, cez.celkovy_el)
def test_cez_pocet_provozoven(self): result = len(parsuj.parsuj_stranku(self.bs)['provozovny']) self.assertEqual(result, cez.provozovny_pocet)
def test_cez_cislo_licence(self): result = parsuj.parsuj_stranku(self.bs)['cislo_licence'] self.assertEqual(result, cez.cislo_licence)
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)