119 lines
13 KiB
Python
Executable File
119 lines
13 KiB
Python
Executable File
from dotenv import load_dotenv
|
|
load_dotenv('/opt/rinet-gpu/.env.master')
|
|
# auto-added by patch_scrapers_with_dotenv.sh
|
|
import os
|
|
import psycopg2
|
|
|
|
DB = dict(host='localhost', port=5432, dbname='rinet_v3', user='rinet', password=os.environ["DB_PASSWORD"])
|
|
|
|
DOCS = [
|
|
('Zakon o porezu na dobit','Porezni tretman sportskih udruga i klubova.','zakon','RH','Sabor RH',None,'NN 177/04+','https://www.zakon.hr/z/99/Zakon-o-porezu-na-dobit',['porez','udruga'],'2004-12-23'),
|
|
('Zakon o PDV-u — sport','PDV tretman ulaznica i sponzorstava.','zakon','RH','Sabor RH',None,'NN 73/13','https://www.zakon.hr/z/186/Zakon-o-porezu-na-dodanu-vrijednost',['PDV','ulaznice'],'2013-06-19'),
|
|
('Zakon o radu — sportaš/trener','Radni odnosi profesionalnih sportaša i trenera.','zakon','RH','Sabor RH',None,'NN 93/14, 151/22, 64/23','https://www.zakon.hr/z/307/Zakon-o-radu',['radni odnos','trener'],'2014-07-25'),
|
|
('Zakon o pravu na pristup informacijama','Obveze JLS za objavu o financiranju sporta.','zakon','RH','Sabor RH',None,'NN 25/13, 85/15, 69/22','https://www.zakon.hr/z/126/Zakon-o-pravu-na-pristup-informacijama',['transparentnost'],'2013-02-15'),
|
|
('Zakon o volonterstvu','Volonterski rad u sportskim klubovima.','zakon','RH','Sabor RH',None,'NN 58/07, 22/13, 84/21','https://www.zakon.hr/z/220/Zakon-o-volonterstvu',['volonter'],'2007-06-08'),
|
|
('Pravilnik o registru sportskih udruga MTS','MTS javni registar.','pravilnik','RH','MTS',None,'NN 31/24','https://mtus.gov.hr/sport-2625/registri-sportskih-udruga/22516',['registar','MTS'],'2024-03-15'),
|
|
('Pravilnik o stručnim poslovima u sportu','Kvalifikacije i licence stručnog kadra.','pravilnik','RH','MTS',None,'NN 89/23','https://narodne-novine.nn.hr/clanci/sluzbeni/2023_08_89_1334.html',['licenca','trener'],'2023-08-04'),
|
|
('Pravilnik o statusu sportaša s posebnim statusom','Vrhunski sportaši — stipendije, doprinosi.','pravilnik','RH','MTS',None,'NN 14/23','https://mtus.gov.hr/sport/2625',['vrhunski','staž'],'2023-02-01'),
|
|
('Pravilnik o korištenju olimpijske oznake','HOO pravila o olimpijskim simbolima.','pravilnik','HOO','HOO',None,None,'https://www.hoo.hr/hr-hr/o-hoo-u/dokumenti',['olimpijski'],'2020-01-01'),
|
|
('Pravilnik o članicama HOO-a','Kriteriji za nacionalne saveze.','pravilnik','HOO','HOO',None,None,'https://www.hoo.hr/hr-hr/o-hoo-u/clanstvo',['HOO','clanstvo'],'2022-01-01'),
|
|
('Etički kodeks HOO-a','Etička načela u sportu.','pravilnik','HOO','HOO',None,None,'https://www.hoo.hr/hr-hr/o-hoo-u/dokumenti',['etika'],'2021-01-01'),
|
|
('Pravilnik HOO o sportskim stipendijama','HOO program stipendiranja.','pravilnik','HOO','HOO',None,None,'https://www.hoo.hr/hr-hr/sport-u-hrvatskoj/stipendije',['stipendija'],'2023-01-01'),
|
|
('Pravilnik o nagradama HOO','HOO godišnje nagrade.','pravilnik','HOO','HOO',None,None,'https://www.hoo.hr/hr-hr/o-hoo-u/dokumenti',['nagrade'],'2022-01-01'),
|
|
('Statut HNS-a','Hrvatski nogometni savez statut.','statut','Savez','HNS','nogomet',None,'https://hns-cff.hr/regulatorni-okvir/',['HNS'],'2023-01-01'),
|
|
('Statut HRS-a','Hrvatski rukometni savez statut.','statut','Savez','HRS','rukomet',None,'https://hrs.hr/dokumenti/',['HRS'],'2023-01-01'),
|
|
('Statut HKS-a','Hrvatski košarkaški savez statut.','statut','Savez','HKS','košarka',None,'https://www.hks-cbf.hr/dokumenti/',['HKS'],'2023-01-01'),
|
|
('Statut HBS Boćarski','Hrvatski boćarski savez.','statut','Savez','HBS','boćanje',None,'https://hrvatski-bocarski-savez.hr/savez/dokumenti/',['HBS','boćanje'],'2022-01-01'),
|
|
('Statut HOS Odbojkaški','Hrvatski odbojkaški savez.','statut','Savez','HOS','odbojka',None,'https://hos-cvf.hr/dokumenti/',['HOS'],'2022-01-01'),
|
|
('Statut HŠS Šahovski','Hrvatski šahovski savez.','statut','Savez','HŠS','šah',None,'https://hrvatski-sahovski-savez.hr/dokumenti-savez/',['HŠS','FIDE'],'2022-01-01'),
|
|
('Statut HVS Veslački','Hrvatski veslački savez.','statut','Savez','HVS','veslanje',None,'https://www.veslanje.hr/dokumenti',['HVS'],'2021-01-01'),
|
|
('Statut HJS Jedriličarski','Hrvatski jedriličarski savez.','statut','Savez','HJS','jedriličarstvo',None,'https://www.hjs.hr/dokumenti',['HJS'],'2022-01-01'),
|
|
('Statut HAS Atletski','Hrvatski atletski savez.','statut','Savez','HAS','atletika',None,'https://www.has.hr/index.php/dokumenti',['HAS','World Athletics'],'2023-01-01'),
|
|
('Statut HVPS Vaterpolski','Hrvatski vaterpolski savez.','statut','Savez','HVPS','vaterpolo',None,'https://hvs.hr/dokumenti',['HVPS'],'2022-01-01'),
|
|
('Statut HPS Plivacki','Hrvatski plivacki savez.','statut','Savez','HPS','plivanje',None,'https://hps.com.hr/dokumenti',['HPS','FINA'],'2022-01-01'),
|
|
('Statut HTS Teniski','Hrvatski teniski savez.','statut','Savez','HTS','tenis',None,'https://hts.hr/dokumenti/',['HTS','ITF'],'2023-01-01'),
|
|
('Statut HSTS Stolnoteniski','Hrvatski stolnoteniski savez.','statut','Savez','HSTS','stolni tenis',None,'https://hsts.hr/dokumenti/',['HSTS','ITTF'],'2022-01-01'),
|
|
('Statut HBS-UCI Biciklistički','Hrvatski biciklistički savez.','statut','Savez','HBS-UCI','biciklizam',None,'https://www.hbs.hr/dokumenti',['biciklizam','UCI'],'2022-01-01'),
|
|
('Statut HKZ Karate','Hrvatski karate savez.','statut','Savez','HKZ','karate',None,'https://www.hkz.hr/dokumenti',['karate','WKF'],'2022-01-01'),
|
|
('Statut HJSav Judo','Hrvatski judo savez.','statut','Savez','HJSav','judo',None,'https://www.judosavez.hr/dokumenti',['judo','IJF'],'2022-01-01'),
|
|
('Statut HTKDS Taekwondo','Hrvatski taekwondo savez.','statut','Savez','HTKDS','taekwondo',None,'https://www.taekwondo.hr/dokumenti/',['taekwondo','WT'],'2022-01-01'),
|
|
('Statut PGZ','Temeljni akt PGŽ-a.','statut','PGZ','PGŽ',None,None,'https://www.pgz.hr/sluzbene-novine',['PGŽ','statut'],'2021-04-01'),
|
|
('Plan razvoja PGŽ 2021-2027','Plan razvoja županije.','strategija','PGZ','PGŽ',None,None,'https://www.pgz.hr/strategije',['plan','EU fondovi'],'2021-12-01'),
|
|
('Pravilnik o sufinanciranju opreme PGŽ','Sredstva za opremu klubova.','pravilnik','PGZ','PGŽ',None,None,'https://www.pgz.hr/odluke',['oprema'],'2023-01-01'),
|
|
('Pravilnik o sufinanciranju građevina PGŽ','Investicijska sredstva za građevine.','pravilnik','PGZ','PGŽ',None,None,'https://www.pgz.hr/odluke',['građevina'],'2023-01-01'),
|
|
('Odluka o nagradama u sportu PGŽ','Sustav nagrada.','odluka','PGZ','PGŽ',None,None,'https://www.pgz.hr/odluke',['nagrada'],'2023-01-01'),
|
|
('Strategija sporta Grada Rijeke 2020-2030','Gradski plan razvoja sporta.','strategija','Grad Rijeka','Grad Rijeka',None,None,'https://www.rijeka.hr/strategija-sporta',['Rijeka'],'2020-12-01'),
|
|
('Pravilnik javne potrebe sport Rijeka','Postupak dodjele sredstava.','pravilnik','Grad Rijeka','Grad Rijeka',None,None,'https://www.rijeka.hr/pravilnici',['Rijeka','financiranje'],'2023-01-01'),
|
|
('Strategija sporta Grada Opatije','Gradska strategija.','strategija','Grad Rijeka','Grad Opatija',None,None,'https://www.opatija.hr/sport',['Opatija'],'2021-01-01'),
|
|
('Program sport Crikvenica','Crikvenički program.','program','Grad Rijeka','Grad Crikvenica',None,None,'https://www.crikvenica.hr/programi',['Crikvenica'],'2024-01-01'),
|
|
('Program sport Krk','Krčki program.','program','Grad Rijeka','Grad Krk',None,None,'https://www.grad-krk.hr/programi',['Krk'],'2024-01-01'),
|
|
('Program sport Mali Lošinj','Lošinjski program.','program','Grad Rijeka','Grad Mali Lošinj',None,None,'https://www.mali-losinj.hr/programi',['Lošinj'],'2024-01-01'),
|
|
('Program sport Delnice','Delnički program.','program','Grad Rijeka','Grad Delnice',None,None,'https://www.delnice.hr/programi',['Delnice'],'2024-01-01'),
|
|
('Program sport Vrbovsko','Vrbovski program.','program','Grad Rijeka','Grad Vrbovsko',None,None,'https://www.vrbovsko.hr/programi',['Vrbovsko'],'2024-01-01'),
|
|
('Program sport Novi Vinodolski','Novovinodolski program.','program','Grad Rijeka','Grad Novi Vinodolski',None,None,'https://www.novi-vinodolski.hr/programi',['Novi Vinodolski'],'2024-01-01'),
|
|
('Program sport Kraljevica','Kraljevički program.','program','Grad Rijeka','Grad Kraljevica',None,None,'https://www.kraljevica.hr/programi',['Kraljevica'],'2024-01-01'),
|
|
('Program sport Bakar','Bakarski program.','program','Grad Rijeka','Grad Bakar',None,None,'https://www.bakar.hr/programi',['Bakar'],'2024-01-01'),
|
|
('Program sport Cres','Creski program.','program','Grad Rijeka','Grad Cres',None,None,'https://www.cres.hr/programi',['Cres'],'2024-01-01'),
|
|
('Program sport Rab','Rabski program.','program','Grad Rijeka','Grad Rab',None,None,'https://www.rab.hr/programi',['Rab'],'2024-01-01'),
|
|
('Program sport Kastav','Kastavski program.','program','Grad Rijeka','Grad Kastav',None,None,'https://www.kastav.hr/programi',['Kastav'],'2024-01-01'),
|
|
('WADA Lista zabranjenih tvari','WADA Prohibited List godišnje.','pravilnik','EU','WADA',None,None,'https://www.wada-ama.org/en/prohibited-list',['WADA'],'2024-01-01'),
|
|
('Pravilnik HASMS o TUE','TUE postupak u Hrvatskoj.','pravilnik','RH','HASMS',None,None,'https://hasms.hr/anti-doping/dokumenti/',['TUE','HASMS'],'2023-01-01'),
|
|
('European Sports Charter','CoE povelja o sportu.','pravilnik','EU','Council of Europe',None,None,'https://rm.coe.int/european-sports-charter-1992',['CoE'],'2021-10-13'),
|
|
('Macolin Convention','CoE protiv namještanja.','pravilnik','EU','Council of Europe',None,None,'https://www.coe.int/en/web/sport/macolin-convention',['namještanje'],'2014-09-18'),
|
|
('UEFA Financial Sustainability','Financijski Fair Play.','pravilnik','EU','UEFA','nogomet',None,'https://documents.uefa.com/v/u/MFFvQjlRCJF7RJYIoyzMRA',['UEFA','FFP'],'2022-06-01'),
|
|
('Pravilnik o radu školskih sportskih društava','ŠŠD organizacija.','pravilnik','RH','MZO + MTS',None,None,'https://mzo.gov.hr/sport',['ŠŠD'],'2022-01-01'),
|
|
('Pravilnik za status parasportaša','Klasifikacija parasportaša.','pravilnik','RH','HPO',None,None,'https://www.hpo.hr/Dokumenti',['parasport','HPO'],'2022-01-01'),
|
|
('IPC klasifikacija parasportaša','IPC klasifikacije po sportu.','pravilnik','EU','IPC',None,None,'https://www.paralympic.org/classification',['IPC','parasport'],'2023-01-01'),
|
|
('Zakon o lovstvu','Temeljni zakon o lovstvu.','zakon','RH','Sabor RH','lov','NN 99/18, 32/19, 153/22','https://www.zakon.hr/z/127/Zakon-o-lovstvu',['lov','divljač'],'2018-11-09'),
|
|
('Pravilnik o lovostaju','Lovne sezone.','pravilnik','RH','Min. poljoprivrede','lov',None,'https://mps.gov.hr/lovstvo/dokumenti',['lovostaj'],'2022-01-01'),
|
|
('Pravilnik o lovniku','Pravila lova, oprema.','pravilnik','RH','Min. poljoprivrede','lov',None,'https://mps.gov.hr/lovstvo/dokumenti',['lovnik'],'2022-01-01'),
|
|
('Pravila igre Nogomet IFAB','IFAB Laws of the Game.','pravilnik','EU','IFAB/FIFA','nogomet',None,'https://www.theifab.com/laws/',['IFAB','FIFA'],'2024-07-01'),
|
|
('Pravila igre Rukomet IHF','IHF Rules.','pravilnik','EU','IHF','rukomet',None,'https://www.ihf.info/regulations-documents',['IHF'],'2022-07-01'),
|
|
('Pravila igre Košarka FIBA','FIBA Official Rules.','pravilnik','EU','FIBA','košarka',None,'https://www.fiba.basketball/basketballrules',['FIBA'],'2024-10-01'),
|
|
('Propisi natjecanja HBS','HBS volo/raffa/petanque.','pravilnik_savez','Savez','HBS','boćanje',None,'https://hrvatski-bocarski-savez.hr/savez/dokumenti/',['HBS','natjecanje'],'2024-01-01'),
|
|
('Propisi natjecanja HVS','HVS regate, kategorije.','pravilnik_savez','Savez','HVS','veslanje',None,'https://www.veslanje.hr/dokumenti',['HVS'],'2024-01-01'),
|
|
('Propisi natjecanja HJS','HJS regate, RRS.','pravilnik_savez','Savez','HJS','jedriličarstvo',None,'https://www.hjs.hr/dokumenti',['HJS'],'2024-01-01'),
|
|
('Propisi natjecanja HŠS','HŠS FIDE pravila.','pravilnik_savez','Savez','HŠS','šah',None,'https://hrvatski-sahovski-savez.hr/dokumenti-savez/',['HŠS','FIDE'],'2024-01-01'),
|
|
]
|
|
|
|
def main():
|
|
conn = psycopg2.connect(**DB)
|
|
conn.autocommit = True
|
|
cu = conn.cursor()
|
|
cu.execute("SELECT LOWER(COALESCE(title, '')) FROM pgz_sport.dokumenti")
|
|
existing = set(r[0] for r in cu.fetchall())
|
|
|
|
n_added = 0; n_skipped = 0; n_err = 0
|
|
for d in DOCS:
|
|
if d[0].lower() in existing:
|
|
n_skipped += 1; continue
|
|
try:
|
|
cu.execute('''INSERT INTO pgz_sport.dokumenti
|
|
(title, kratak_opis, vrsta, razina, organizacija, sport, sluzbeni_glasnik,
|
|
izvor_url, kljucne_rijeci, izdano_datum, aktivan)
|
|
VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,true)''', d)
|
|
n_added += 1
|
|
existing.add(d[0].lower())
|
|
except Exception as e:
|
|
n_err += 1
|
|
print(f' err {d[0][:40]}: {e}')
|
|
|
|
print(f'Added: {n_added}, Skipped: {n_skipped}, Errors: {n_err}')
|
|
cu.execute('SELECT count(*) FROM pgz_sport.dokumenti')
|
|
print(f'TOTAL: {cu.fetchone()[0]}')
|
|
|
|
cu.execute('SELECT razina, count(*) FROM pgz_sport.dokumenti GROUP BY razina ORDER BY count(*) DESC')
|
|
print('\nPo razini:')
|
|
for r in cu.fetchall():
|
|
print(f' {r[0]:<15} {r[1]}')
|
|
|
|
cu.execute('SELECT tip, count(*) FROM pgz_sport.dokumenti GROUP BY tip ORDER BY count(*) DESC')
|
|
print('\nPo tipu:')
|
|
for r in cu.fetchall():
|
|
print(f' {r[0]:<25} {r[1]}')
|
|
|
|
conn.close()
|
|
|
|
if __name__ == '__main__':
|
|
main()
|