Exemplo n.º 1
0
def get_commissie_namen():
    commissies = TKApi().get_commissies()
    namen = []
    for commissie in commissies:
        if commissie.naam:
            namen.append(commissie.naam)
    return sorted(set(namen))
Exemplo n.º 2
0
def create_travels(max_items=None):
    travels = TKApi.get_items(PersoonReis, max_items=max_items)
    logger.info('{} travels found.'.format(len(travels)))
    if len(travels) < 1000:
        logger.error(
            'Only {} travels found. This is unexpected. Skip re-creating travels.'
            .format(len(travels)))
    Travel.objects.all().delete()
    TravelPersonPosition.objects.all().delete()
    for travel in travels:
        person = Person.find_surname_initials(travel.persoon.achternaam,
                                              travel.persoon.initialen)
        if person is None:
            logger.warning('No person found for travel: {}'.format(travel.id))
            continue
        if travel.van is None or travel.tot_en_met is None:
            logger.warning('No date found for travel: {}'.format(travel.id))
            continue
        Travel.objects.create(
            person=person,
            destination=travel.bestemming,
            purpose=travel.doel,
            paid_by=travel.betaald_door,
            date_begin=travel.van,
            date_end=travel.tot_en_met,
        )
Exemplo n.º 3
0
 def test_filter_agendapunten_with_activiteit(self):
     max_items = 5
     agendapunt_filter = Agendapunt.create_filter()
     agendapunt_filter.filter_has_activiteit()
     agendapunten = TKApi().get_agendapunten(max_items=max_items)
     for agendapunt in agendapunten:
         self.assertTrue(agendapunt.activiteit)
     self.assertEqual(len(agendapunten), max_items)
Exemplo n.º 4
0
def get_dossier(nummer, toevoeging=None):
    filter = Dossier.create_filter()
    filter.filter_nummer(nummer)
    if toevoeging:
        filter.filter_toevoeging(toevoeging)
    dossiers = TKApi().get_dossiers(filter=filter)
    dossier = dossiers[0]
    return dossier
Exemplo n.º 5
0
def get_fractieleden_actief():
    filter = Fractie.create_filter()
    filter.filter_actief()
    fracties_actief = TKApi().get_fracties(filter=filter)
    leden_actief = []
    for fractie in fracties_actief:
        leden_actief += fractie.leden_actief
    return leden_actief
Exemplo n.º 6
0
def get_dossier_besluiten_with_stemmingen(nummer,
                                          toevoeging=None) -> List[Besluit]:
    zaken = get_dossier_zaken(nummer, toevoeging=toevoeging)
    besluiten = []
    for zaak in zaken:
        filter = Besluit.create_filter()
        filter.filter_zaak(zaak.nummer)
        filter.filter_non_empty(Stemming)
        besluiten += TKApi().get_besluiten(filter=filter)
    return filter_duplicates(besluiten)
Exemplo n.º 7
0
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
Exemplo n.º 8
0
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))
Exemplo n.º 9
0
 def test_combined_answers(self):
     filter = TKDocument.create_filter()
     filter.filter_aanhangselnummer('151601580')
     docs = TKApi.get_documenten(filter=filter)
     self.assertEqual(1, len(docs))
     doc = docs[0]
     overheidnl_document_id = 'ah-tk-20152016-1580'
     kamerantwoord = openkamer.kamervraag.create_kamerantwoord(
         doc, overheidnl_document_id)
     self.assertEqual(4, kamerantwoord.antwoord_set.count())
     antwoorden = kamerantwoord.antwoord_set.all()
     self.assertEqual(None, antwoorden[0].see_answer_nr)
     self.assertEqual(None, antwoorden[1].see_answer_nr)
     self.assertEqual(2, antwoorden[2].see_answer_nr)
     self.assertEqual(None, antwoorden[3].see_answer_nr)
Exemplo n.º 10
0
 def test_create_verslag(self):
     filter = TKDocument.create_filter()
     dossier_id = 26234
     kamerstuk_nr = 225
     filter.filter_dossier(dossier_id)
     filter.filter_volgnummer(kamerstuk_nr)
     docs = TKApi.get_documenten(filter=filter, max_items=10)
     self.assertEqual(1, len(docs))
     overheidnl_document_id = 'kst-{}-{}'.format(dossier_id, kamerstuk_nr)
     commissie = Commissie.objects.create(name='test commissie',
                                          name_short='tc',
                                          slug='tc')
     verslag = openkamer.verslagao.create_verslag(
         tk_document=docs[0],
         overheidnl_document_id=overheidnl_document_id,
         dossier_id=dossier_id,
         kamerstuk_nr=kamerstuk_nr,
         commissie=commissie)
Exemplo n.º 11
0
def create_or_update_dossier(dossier_id):
    logger.info('BEGIN - dossier id: {}'.format(dossier_id))
    Dossier.objects.filter(dossier_id=dossier_id).delete()
    dossier_url = 'https://zoek.officielebekendmakingen.nl/dossier/{}'.format(
        dossier_id)
    dossier_id_main, dossier_id_sub = Dossier.split_dossier_id(dossier_id)

    dossier_filter = TKDossier.create_filter()
    dossier_filter.filter_nummer(dossier_id_main)
    if dossier_id_sub:
        dossier_filter.filter_toevoeging(dossier_id_sub)
    dossiers = TKApi.get_dossiers(filter=dossier_filter)

    if len(dossiers) != 1:
        logger.error('{} dossiers found while one expected for {}'.format(
            len(dossiers), dossier_id))

    tk_dossier = dossiers[0]

    # TODO BR: create a list of related dossier decisions instead of one, see dossier 34792 for example
    logger.info('dossier id main: {} | dossier id sub: {}'.format(
        dossier_id_main, dossier_id_sub))
    last_besluit = get_besluit_last_with_voting(dossier_id_main,
                                                dossier_id_sub)
    if not last_besluit:
        last_besluit = get_besluit_last(dossier_id_main, dossier_id_sub)

    decision_text = 'Onbekend'
    if last_besluit:
        decision_text = last_besluit.tekst.replace('.', '')

    dossier_new = Dossier.objects.create(dossier_id=dossier_id,
                                         dossier_main_id=dossier_id_main,
                                         dossier_sub_id=dossier_id_sub,
                                         title=tk_dossier.titel,
                                         url=dossier_url,
                                         decision_text=decision_text)
    create_dossier_documents(dossier_new, dossier_id)
    create_dossier_decisions(dossier_id_main, dossier_id_sub, dossier_new)
    voting_factory = VotingFactory()
    voting_factory.create_votings(dossier_id)
    dossier_new.set_derived_fields()
    logger.info('END - dossier id: ' + str(dossier_id))
    return dossier_new
Exemplo n.º 12
0
def create_gifts(max_items=None):
    gifts = TKApi.get_items(PersoonGeschenk, max_items=max_items)
    logger.info('{} gifts found.'.format(len(gifts)))
    if len(gifts) < 1000:
        logger.error('Only {} gifts found. This is unexpected. Skip re-creating gifts.'.format(len(gifts)))
    Gift.objects.all().delete()
    PersonPosition.objects.all().delete()
    for gift in gifts:
        value = find_gift_value(gift.omschrijving)
        gift_type = find_gift_type(gift.omschrijving)
        person = Person.find_surname_initials(gift.persoon.achternaam, gift.persoon.initialen)
        if person is None:
            logger.warning('No person found for gift: {}'.format(gift.id))
            continue
        if gift.datum is None:
            logger.warning('No date found for gift: {}'.format(gift.id))
            continue
        Gift.objects.create(
            person=person,
            value_euro=value,
            description=gift.omschrijving,
            date=gift.datum,
            type=gift_type,
        )
Exemplo n.º 13
0
def get_vergadering_soorten():
    verslagen = TKApi().get_vergaderingen()
    return get_soorten(verslagen)
Exemplo n.º 14
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)
Exemplo n.º 15
0
from tkapi.persoon import PersoonReis
from tkapi.persoon import PersoonGeschenk
from tkapi.persoon import PersoonOnderwijs
from tkapi.persoon import PersoonNevenfunctie
from tkapi.persoon import PersoonNevenfunctieInkomsten
from tkapi.persoon import PersoonContactinformatie
from tkapi.stemming import Stemming
from tkapi.vergadering import Vergadering
from tkapi.verslag import Verslag
from tkapi.zaak import Zaak
from tkapi.zaak import ZaakActor
from tkapi.filter import VerwijderdFilter

logger = logging.getLogger(__name__)

api = TKApi(verbose=True)

entity_types = [
    Fractie,
    Zaal,
    ActiviteitActor,
    CommissieContactinformatie,
    CommissieZetel,
    CommissieZetelVastPersoon,
    CommissieZetelVervangerPersoon,
    CommissieZetelVastVacature,
    CommissieZetelVervangerVacature,
    DocumentActor,
    DocumentVersie,
    FractieZetel,
    FractieZetelPersoon,
Exemplo n.º 16
0
def get_dossier_documenten(nummer, toevoeging=None) -> List[Document]:
    document_filter = Document.create_filter()
    document_filter.filter_dossier(nummer, toevoeging=toevoeging)
    return TKApi().get_documenten(document_filter)
Exemplo n.º 17
0
def get_dossier_documenten_with_activiteit(nummer,
                                           toevoeging=None) -> List[Document]:
    document_filter = Document.create_filter()
    document_filter.filter_dossier(nummer, toevoeging=toevoeging)
    document_filter.filter_has_activiteit()
    return TKApi().get_documenten(document_filter)
Exemplo n.º 18
0
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)
Exemplo n.º 19
0
def get_commissie_soorten():
    commissies = TKApi().get_commissies()
    return get_soorten(commissies)
Exemplo n.º 20
0
 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]