def test_get_dossiers(self): zaak_filter = Zaak.create_filter() zaak_filter.filter_date_range(TestDossiersForZaken.start_datetime, TestDossiersForZaken.end_datetime) zaak_filter.filter_soort('Wetgeving') zaken = api.get_zaken(zaak_filter) print('Wetgeving zaken found: ' + str(len(zaken))) dossier_filter = Dossier.create_filter() zaak_nummers = [zaak.nummer for zaak in zaken] print(zaak_nummers) dossier_filter.filter_zaken(zaak_nummers) dossiers = api.get_dossiers(filter=dossier_filter) dossier_zaak_nummers = set() for dossier in dossiers: print('dossier.vetnummer: ', str(dossier.vetnummer)) # print(dossier.kamerstukken) # pds = dossier.parlementaire_documenten # print(dossier.parlementaire_documenten) for pd in dossier.parlementaire_documenten: for zaak in pd.zaken: dossier_zaak_nummers.add(zaak.nummer) for zaak in zaken: if zaak.nummer not in dossier_zaak_nummers: print(zaak.nummer) zaak.print_json()
def get_zaak_dossier_main(dossier_id): # TODO BR: filter by Wetgeving OR Initiatiefwetgeving if tkapi make that possible filter = Zaak.create_filter() filter.filter_kamerstukdossier(nummer=dossier_id) filter.filter_soort('Wetgeving') zaken = Api().get_zaken(filter=filter) if not zaken: filter = Zaak.create_filter() filter.filter_kamerstukdossier(nummer=dossier_id) filter.filter_soort('Initiatiefwetgeving') zaken = Api().get_zaken(filter=filter) if zaken: return zaken[0] return None
def test_zaak_filters(self): zaak_filter = Zaak.create_filter() zaak_filter.filter_date_range(TestZaak.start_datetime, TestZaak.end_datetime) zaak_filter.filter_soort('Wetgeving') zaken = api.get_zaken(zaak_filter) # for zaak in zaken: # zaak.print_json() self.assertEqual(len(zaken), 27) zaak_filter.add_afgedaan(True) zaken_afgedaan = api.get_zaken(zaak_filter) # for zaak in zaken_afgedaan: # zaak.print_json() zaak_filter.update_afgedaan(False) zaken_aanhangig = api.get_zaken(zaak_filter) # for zaak in zaken_aanhangig: # zaak.print_json() n_afgedaan = len(zaken_afgedaan) n_aanhangig = len(zaken_aanhangig) print('aanhangig: ' + str(n_aanhangig)) print('afgedaan: ' + str(n_afgedaan)) self.assertEqual(n_aanhangig + n_afgedaan, len(zaken))
def test_zaak_filter_volgnummer(self): volgnummer = 60 zaak_filter = Zaak.create_filter() zaak_filter.filter_volgnummer(volgnummer=volgnummer) zaken = self.api.get_zaken(zaak_filter) self.assertGreaterEqual(len(zaken), 368) zaken[0].print_json()
def test_get_dossiers(self): zaak_filter = Zaak.create_filter() zaak_filter.filter_date_range(TestDossiersForZaken.start_datetime, TestDossiersForZaken.end_datetime) zaak_filter.filter_soort(ZaakSoort.WETGEVING) zaken = self.api.get_zaken(zaak_filter) print('Wetgeving zaken found: ' + str(len(zaken))) dossier_filter = Dossier.create_filter() zaak_nummers = [zaak.nummer for zaak in zaken] print(zaak_nummers) dossier_filter.filter_zaken(zaak_nummers) dossiers = self.api.get_dossiers(filter=dossier_filter) dossier_zaak_nummers = set() for dossier in dossiers: print('dossier.nummer: ', str(dossier.nummer)) for zaak in dossier.zaken: dossier_zaak_nummers.add(zaak.nummer) print('dossier_zaak_nummers', dossier_zaak_nummers) for zaak in zaken: if zaak.nummer not in dossier_zaak_nummers: print(zaak.nummer) # zaak.print_json() # self.assertTrue(zaak_nr in dossier_zaak_nummers) # print(zaken) for zaak_nummer in zaak_nummers: self.assertTrue(zaak_nummer in dossier_zaak_nummers)
def test_zaak_for_onderwerp(self): onderwerp = "Selectie aan de poort bij steeds meer universitaire studies" zaak_filter = Zaak.create_filter() zaak_filter.filter_onderwerp(onderwerp) zaken = api.get_zaken(zaak_filter) self.assertEqual(len(zaken), 1) self.assertEqual(zaken[0].onderwerp, onderwerp) zaken[0].print_json()
def test_zaak_soorten_enum(self): max_items = 1 for soort in ZaakSoort: zaak_filter = Zaak.create_filter() zaak_filter.filter_soort(soort) zaken = self.api.get_zaken(filter=zaak_filter, max_items=max_items) self.assertEqual(max_items, len(zaken)) self.assertEqual(soort, zaken[0].soort)
def test_zaak_nummer(self): zaak_nummer = '2007Z01002' zaak_filter = Zaak.create_filter() zaak_filter.filter_nummer(zaak_nummer) zaken = api.get_zaken(zaak_filter) self.assertEqual(len(zaken), 1) zaak = zaken[0] self.assertEqual(zaak.nummer, zaak_nummer) zaak.print_json()
def test_zaak_filter_empty_verslagzaak(self): start_datetime = datetime.datetime(year=2016, month=1, day=1) end_datetime = datetime.datetime(year=2016, month=6, day=1) zaak_filter = Zaak.create_filter() zaak_filter.filter_date_range(start_datetime, end_datetime) zaak_filter.filter_empty_verslagzaak() zaken = api.get_zaken(zaak_filter) print(len(zaken)) self.assertTrue(len(zaken) > 35)
def test_get_begroting_dossiers(self): filter = Zaak.create_filter() filter.filter_date_range(datetime.date(year=2019, month=6, day=1), datetime.date.today()) filter.filter_soort(ZaakSoort.BEGROTING, is_or=True) zaken = self.api.get_zaken(filter=filter) for zaak in zaken: dossier_id = str(zaak.dossier.nummer) print(dossier_id)
def test_zaak_filter_empty_activiteit(self): start_datetime = datetime.datetime(year=2016, month=1, day=1) end_datetime = datetime.datetime(year=2016, month=2, day=1) zaak_filter = Zaak.create_filter() zaak_filter.filter_date_range(start_datetime, end_datetime) zaak_filter.filter_has_activiteit() # zaak_filter.filter_soort('Wetgeving') zaken = self.api.get_zaken(zaak_filter) print('Zaken without activiteit', len(zaken)) self.assertTrue(len(zaken) > 50)
def test_zaak_filter_empty_agendapunt(self): start_datetime = datetime.datetime(year=2016, month=1, day=1) end_datetime = datetime.datetime(year=2016, month=1, day=10) zaak_filter = Zaak.create_filter() zaak_filter.filter_date_range(start_datetime, end_datetime) zaak_filter.filter_empty_agendapunt() # zaak_filter.filter_soort('Wetgeving') zaken = api.get_zaken(zaak_filter) print(len(zaken)) self.assertTrue(len(zaken) > 50)
def get_zaken_dossier_main(dossier_id_main, dossier_id_sub=None) -> List[Zaak]: # TODO BR: filter by Wetgeving OR Initiatiefwetgeving if tkapi makes it possible filter = Zaak.create_filter() filter.filter_kamerstukdossier(nummer=dossier_id_main, toevoeging=dossier_id_sub) filter.filter_soort(ZaakSoort.WETGEVING) zaken = TKApi.get_zaken(filter=filter) if not zaken: filter = Zaak.create_filter() filter.filter_kamerstukdossier(nummer=dossier_id_main, toevoeging=dossier_id_sub) filter.filter_soort(ZaakSoort.INITIATIEF_WETGEVING) zaken = TKApi.get_zaken(filter=filter) if not zaken: filter = Zaak.create_filter() filter.filter_kamerstukdossier(nummer=dossier_id_main, toevoeging=dossier_id_sub) filter.filter_soort(ZaakSoort.BEGROTING) zaken = TKApi.get_zaken(filter=filter) return zaken
def example_kamervragen(): """Example that shows how to get kamervragen and antwoorden for a date range.""" filter = Zaak.create_filter() begin_datetime = datetime.datetime(year=2015, month=1, day=1) end_datetime = datetime.datetime(year=2015, month=1, day=10) filter.filter_date_range(begin_datetime, end_datetime) filter.filter_soort(ZaakSoort.SCHRIFTELIJKE_VRAGEN) zaken = TKApi.get_zaken(filter=filter) for zaak in zaken: for doc in zaak.documenten: print('{}: {}'.format(doc.soort.value, doc.onderwerp))
def test_zaak_attributes(self): onderwerp = "Selectie aan de poort bij steeds meer universitaire studies" zaak_filter = Zaak.create_filter() zaak_filter.filter_onderwerp(onderwerp) zaken = self.api.get_zaken(zaak_filter) self.assertGreaterEqual(len(zaken), 1) zaak = zaken[0] self.assertEqual(zaak.onderwerp, onderwerp) self.assertGreaterEqual(len(zaak.documenten), 3) self.assertTrue(zaak.actors) self.assertEqual('', zaak.alias) self.assertIsNone(zaak.vervangen_door)
def test_zaken_for_date_range(self): zaak_filter = Zaak.create_filter() zaak_filter.filter_date_range(TestZaak.start_datetime, TestZaak.end_datetime) zaken = api.get_zaken(zaak_filter) soorten = set() for zaak in zaken: # zaak.print_json() soorten.add(zaak.soort) # print(zaak.soort) for soort in soorten: print(soort)
def test_filter_kamerstukdossier(self): dossier_nr = 33885 zaak_filter = Zaak.create_filter() zaak_filter.filter_kamerstukdossier(nummer=dossier_nr) zaken = self.api.get_zaken(filter=zaak_filter) n_stemmingen = 0 for zaak in zaken: print('=========================================') print('zaak', zaak.nummer, zaak.dossier.nummer, zaak.volgnummer) filter = Besluit.create_filter() filter.filter_zaak(zaak.nummer) besluiten = self.api.get_besluiten(filter=filter) for besluit in besluiten: n_stemmingen += len(besluit.stemmingen) print(len(besluit.stemmingen), besluit.soort, besluit.status, besluit.tekst) for stemming in besluit.stemmingen: print('\t', stemming.soort, stemming.fractie_size) print('stemmingen', n_stemmingen) self.assertEqual(208, n_stemmingen)
def zaak(self): if self.json['Zaak']: assert len(self.json['Zaak']) == 1 return self.json['Zaak'][0] # Try to find a Zaak by Onderwerp, this is needed because Zaak is missing for old Kamervragen. # TODO: Remove this ugly workaround if TK fixes this data if hasattr(self, 'zaak_found'): return self.zaak_found.json print('WARNING: no Zaak found, trying to find Zaak by onderwerp') zaak_filter = Zaak.create_filter() zaak_filter.filter_onderwerp(self.onderwerp) zaken = tkapi.api.get_zaken(zaak_filter) if len(zaken) == 1: print('INFO: zaak found for onderwerp') self.zaak_found = zaken[0] return zaken[0].json elif len(zaken) > 1: print('INFO: multiple zaken found for onderwerp: ' + str(self.onderwerp) + ', ' + str(len(zaken))) self.zaak_found = Kamervraag.nearest(zaken, self.datum) return self.zaak_found return None
def test_order_by_date_asc(self): max_items = 100 order_direction = OrderDirection.ASC zaak_filter = Zaak.create_filter() zaak_filter.filter_begin_date_not_empty() self.check_order_by(filter=zaak_filter, max_items=max_items, order_direction=order_direction)
def test_zaak_filter_empty_besluiten(self): zaak_filter = Zaak.create_filter() zaak_filter.filter_empty_besluit() zaken = api.get_zaken(zaak_filter) self.assertEqual(len(zaken), 0)
def get_dossier_zaken(nummer, toevoeging=None) -> List[Zaak]: zaak_filter = Zaak.create_filter() zaak_filter.filter_kamerstukdossier(nummer=nummer, toevoeging=toevoeging) return TKApi().get_zaken(filter=zaak_filter)
def get_kamerstuk_zaken(nummer, volgnummer, toevoeging=None) -> List[Zaak]: zaak_filter = Zaak.create_filter() zaak_filter.filter_kamerstukdossier(nummer, toevoeging=toevoeging) zaak_filter.filter_document(volgnummer) return TKApi().get_zaken(zaak_filter)
def get_tk_zaak(zaak_nummer): filter = Zaak.create_filter() filter.filter_nummer(zaak_nummer) tk_zaken = TKApi.get_zaken(filter=filter) return tk_zaken[0]