feat: /api/v2/analiza/* endpoints - sport analytics backend

This commit is contained in:
Damir Radulic
2026-05-16 00:28:12 +02:00
parent 7ca5d7d94e
commit aca5051418
1355 changed files with 321891 additions and 4128 deletions
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,51 @@
Loaded 18 godišnjaka
Active klubova: 1658
godišnjak 2006: 299 klubova mentioned
godišnjak 2007: 310 klubova mentioned
godišnjak 2008: 317 klubova mentioned
godišnjak 2009: 317 klubova mentioned
godišnjak 2010: 316 klubova mentioned
godišnjak 2011: 335 klubova mentioned
godišnjak 2012: 313 klubova mentioned
godišnjak 2013: 326 klubova mentioned
godišnjak 2014: 324 klubova mentioned
godišnjak 2015: 348 klubova mentioned
godišnjak 2017: 337 klubova mentioned
godišnjak 2018: 342 klubova mentioned
godišnjak 2019: 358 klubova mentioned
godišnjak 2020: 384 klubova mentioned
godišnjak 2021: 371 klubova mentioned
godišnjak 2022: 385 klubova mentioned
godišnjak 2023: 396 klubova mentioned
godišnjak 2024: 420 klubova mentioned
=== Klubovi sa mentions: 559 ===
Updated 559 klubova sa godinama pojavljivanja
=== TOP 20 klubova po godinama pojavljivanja ===
18× Lučki radnik
18× NK Mrkopalj
18× NK Naprijed (H)
18× BK Sloga
18× Košarkaški klub ŠKRLJEVO
18× NK Turbina
18× NK Željezničar (M)
18× Nogometni klub GROBNIČAN
18× NK Primorac (Š)
18× Rukometni Klub Viškovo
18× Rukometni klub ZAMET
18× NK Snježnik
18× BK Kostrena
18× BK Studena
18× Kastav
18× Kostrena
18× Krenovac
18× Krimeja
18× Lovran
18× Krk
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/godisnjak_klub_mine.py", line 8, in <module>
user='rinet', password=os.environ["DB_PASSWORD"])
~~~~~~~~~~^^^^^^^^^^^^^^^
File "<frozen os>", line 685, in __getitem__
KeyError: 'DB_PASSWORD'
@@ -0,0 +1,57 @@
Loaded 18 godišnjaka
Indexed 6102 name variants for 3243 sportaša
godišnjak 2006: 45 matches
godišnjak 2007: 52 matches
godišnjak 2008: 75 matches
godišnjak 2009: 72 matches
godišnjak 2010: 77 matches
godišnjak 2011: 88 matches
godišnjak 2012: 108 matches
godišnjak 2013: 122 matches
godišnjak 2014: 153 matches
godišnjak 2015: 188 matches
godišnjak 2017: 277 matches
godišnjak 2018: 275 matches
godišnjak 2019: 268 matches
godišnjak 2020: 239 matches
godišnjak 2021: 259 matches
godišnjak 2022: 320 matches
godišnjak 2023: 367 matches
godišnjak 2024: 338 matches
Total sportaša mentioned: 989
Updated 989 sportaša
TOP 25 sportaša po godinama:
18× Ivan Peraić (nogomet)
18× Tonči Mikac (kuglanje KAT-1)
18× Velimir Liverić (?)
18× Velimir Liverić (svesportski KAT-2)
18× Miljenko Butković (svesportski KAT-1)
18× Ivan Mandekić (šah KAT-1)
17× Snježana Pejčić (streljaštvo KAT-1)
17× Miroslav Matić (boćanje)
17× Andrej Krstinić (streljaštvo KAT-1)
16× Krešimir Crnković (biatlon KAT-3)
16× Andrej Burić (odbojka)
16× Čedo Vukelić (boćanje)
16× Čedo Vukelić (boćanje)
15× Marko Strahija (plivanje)
15× Marko Skender (skijanje KAT-3)
15× Sara Pešut (svesportski KAT-1)
15× Slaviša Bradić (svesportski KAT-2)
15× Ela Znaor (kickbox KAT-1)
14× Spasoje Matijević (stolni tenis KAT-1)
14× Ognjen Cvitan (šah KAT-1)
14× Anika Kožica (biatlon KAT-3)
14× Vedran Dumenčić (parasport KAT-2)
14× Vedran Dumenčić (svesportski (slijepi) KAT-1)
14× Samir Barać (?)
14× Samir Barać (vaterpolo / svesportski KAT-1)
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/godisnjak_text_mine.py", line 8, in <module>
user='rinet', password=os.environ["DB_PASSWORD"])
~~~~~~~~~~^^^^^^^^^^^^^^^
File "<frozen os>", line 685, in __getitem__
KeyError: 'DB_PASSWORD'
File diff suppressed because it is too large Load Diff
+128
View File
@@ -0,0 +1,128 @@
savez_id (HBS): 2
=== I HBL 2025/2026 ===
natjecanje_id: 367 (8 klubova) PGZ=True
=== II HBL sjever 2025/2026 ===
natjecanje_id: 368 (12 klubova) PGZ=True
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hbs_lige_scraper.py", line 139, in <module>
cr.execute("""
psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "nat_tab_uniq"
DETAIL: Key (natjecanje_id, klub_naziv)=(368, Pazin) already exists.
savez_id (HBS): 2
=== I HBL 2025/2026 ===
natjecanje_id: 367 (8 klubova) PGZ=True
=== II HBL sjever 2025/2026 ===
natjecanje_id: 368 (12 klubova) PGZ=True
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hbs_lige_scraper.py", line 139, in <module>
cr.execute("""
psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "nat_tab_uniq"
DETAIL: Key (natjecanje_id, klub_naziv)=(368, Pazin) already exists.
savez_id (HBS): 2
=== I HBL 2025/2026 ===
natjecanje_id: 367 (8 klubova) PGZ=True
=== II HBL sjever 2025/2026 ===
natjecanje_id: 368 (12 klubova) PGZ=True
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hbs_lige_scraper.py", line 139, in <module>
cr.execute("""
psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "nat_tab_uniq"
DETAIL: Key (natjecanje_id, klub_naziv)=(368, Pazin) already exists.
savez_id (HBS): 2
=== I HBL 2025/2026 ===
natjecanje_id: 367 (8 klubova) PGZ=True
=== II HBL sjever 2025/2026 ===
natjecanje_id: 368 (12 klubova) PGZ=True
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hbs_lige_scraper.py", line 139, in <module>
cr.execute("""
psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "nat_tab_uniq"
DETAIL: Key (natjecanje_id, klub_naziv)=(368, Pazin) already exists.
savez_id (HBS): 2
=== I HBL 2025/2026 ===
natjecanje_id: 367 (8 klubova) PGZ=True
=== II HBL sjever 2025/2026 ===
natjecanje_id: 368 (12 klubova) PGZ=True
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hbs_lige_scraper.py", line 139, in <module>
cr.execute("""
psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "nat_tab_uniq"
DETAIL: Key (natjecanje_id, klub_naziv)=(368, Pazin) already exists.
savez_id (HBS): 2
=== I HBL 2025/2026 ===
natjecanje_id: 367 (8 klubova) PGZ=True
=== II HBL sjever 2025/2026 ===
natjecanje_id: 368 (12 klubova) PGZ=True
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hbs_lige_scraper.py", line 139, in <module>
cr.execute("""
psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "nat_tab_uniq"
DETAIL: Key (natjecanje_id, klub_naziv)=(368, Pazin) already exists.
savez_id (HBS): 2
=== I HBL 2025/2026 ===
natjecanje_id: 367 (8 klubova) PGZ=True
=== II HBL sjever 2025/2026 ===
natjecanje_id: 368 (12 klubova) PGZ=True
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hbs_lige_scraper.py", line 139, in <module>
cr.execute("""
psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "nat_tab_uniq"
DETAIL: Key (natjecanje_id, klub_naziv)=(368, Pazin) already exists.
savez_id (HBS): 2
=== I HBL 2025/2026 ===
natjecanje_id: 367 (8 klubova) PGZ=True
=== II HBL sjever 2025/2026 ===
natjecanje_id: 368 (12 klubova) PGZ=True
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hbs_lige_scraper.py", line 139, in <module>
cr.execute("""
psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "nat_tab_uniq"
DETAIL: Key (natjecanje_id, klub_naziv)=(368, Pazin) already exists.
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hbs_lige_scraper.py", line 8, in <module>
user="rinet", password=os.environ["DB_PASSWORD"])
~~~~~~~~~~^^^^^^^^^^^^^^^
File "<frozen os>", line 685, in __getitem__
KeyError: 'DB_PASSWORD'
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hbs_lige_scraper.py", line 8, in <module>
user="rinet", password=os.environ["DB_PASSWORD"])
~~~~~~~~~~^^^^^^^^^^^^^^^
File "<frozen os>", line 685, in __getitem__
KeyError: 'DB_PASSWORD'
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hbs_lige_scraper.py", line 8, in <module>
user="rinet", password=os.environ["DB_PASSWORD"])
~~~~~~~~~~^^^^^^^^^^^^^^^
File "<frozen os>", line 685, in __getitem__
KeyError: 'DB_PASSWORD'
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hbs_lige_scraper.py", line 8, in <module>
user="rinet", password=os.environ["DB_PASSWORD"])
~~~~~~~~~~^^^^^^^^^^^^^^^
File "<frozen os>", line 685, in __getitem__
KeyError: 'DB_PASSWORD'
+56
View File
@@ -0,0 +1,56 @@
=== SuperSport HNL ===
10 rows parsed
matched klub_id: 3/10
(4, 'Rijeka', 43)
=== SuperSport HNL ===
10 rows parsed
matched klub_id: 3/10
(4, 'Rijeka', 43)
=== SuperSport HNL ===
10 rows parsed
matched klub_id: 3/10
(4, 'Rijeka', 46)
=== SuperSport HNL ===
10 rows parsed
matched klub_id: 3/10
(4, 'Rijeka', 46)
=== SuperSport HNL ===
10 rows parsed
matched klub_id: 3/10
(4, 'Rijeka', 46)
=== SuperSport HNL ===
10 rows parsed
matched klub_id: 3/10
(4, 'Rijeka', 46)
=== SuperSport HNL ===
10 rows parsed
matched klub_id: 3/10
(3, 'Rijeka', 49)
=== SuperSport HNL ===
10 rows parsed
matched klub_id: 3/10
(3, 'Rijeka', 49)
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hnl_scraper.py", line 7, in <module>
user="rinet", password=os.environ["DB_PASSWORD"])
~~~~~~~~~~^^^^^^^^^^^^^^^
File "<frozen os>", line 685, in __getitem__
KeyError: 'DB_PASSWORD'
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hnl_scraper.py", line 7, in <module>
user="rinet", password=os.environ["DB_PASSWORD"])
~~~~~~~~~~^^^^^^^^^^^^^^^
File "<frozen os>", line 685, in __getitem__
KeyError: 'DB_PASSWORD'
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hnl_scraper.py", line 7, in <module>
user="rinet", password=os.environ["DB_PASSWORD"])
~~~~~~~~~~^^^^^^^^^^^^^^^
File "<frozen os>", line 685, in __getitem__
KeyError: 'DB_PASSWORD'
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hnl_scraper.py", line 7, in <module>
user="rinet", password=os.environ["DB_PASSWORD"])
~~~~~~~~~~^^^^^^^^^^^^^^^
File "<frozen os>", line 685, in __getitem__
KeyError: 'DB_PASSWORD'
File diff suppressed because it is too large Load Diff
+64
View File
@@ -0,0 +1,64 @@
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hns_lige_standings.py", line 173, in <module>
asyncio.run(run())
^^^^^^^
NameError: name 'asyncio' is not defined. Did you forget to import 'asyncio'?
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hns_lige_standings.py", line 173, in <module>
asyncio.run(run())
^^^^^^^
NameError: name 'asyncio' is not defined. Did you forget to import 'asyncio'?
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hns_lige_standings.py", line 173, in <module>
asyncio.run(run())
^^^^^^^
NameError: name 'asyncio' is not defined. Did you forget to import 'asyncio'?
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hns_lige_standings.py", line 173, in <module>
asyncio.run(run())
^^^^^^^
NameError: name 'asyncio' is not defined. Did you forget to import 'asyncio'?
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hns_lige_standings.py", line 173, in <module>
asyncio.run(run())
^^^^^^^
NameError: name 'asyncio' is not defined. Did you forget to import 'asyncio'?
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hns_lige_standings.py", line 173, in <module>
asyncio.run(run())
^^^^^^^
NameError: name 'asyncio' is not defined. Did you forget to import 'asyncio'?
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hns_lige_standings.py", line 173, in <module>
asyncio.run(run())
^^^^^^^
NameError: name 'asyncio' is not defined. Did you forget to import 'asyncio'?
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hns_lige_standings.py", line 173, in <module>
asyncio.run(run())
^^^^^^^
NameError: name 'asyncio' is not defined. Did you forget to import 'asyncio'?
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hns_lige_standings.py", line 14, in <module>
user='rinet', password=os.environ["DB_PASSWORD"])
~~~~~~~~~~^^^^^^^^^^^^^^^
File "<frozen os>", line 685, in __getitem__
KeyError: 'DB_PASSWORD'
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hns_lige_standings.py", line 14, in <module>
user='rinet', password=os.environ["DB_PASSWORD"])
~~~~~~~~~~^^^^^^^^^^^^^^^
File "<frozen os>", line 685, in __getitem__
KeyError: 'DB_PASSWORD'
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hns_lige_standings.py", line 14, in <module>
user='rinet', password=os.environ["DB_PASSWORD"])
~~~~~~~~~~^^^^^^^^^^^^^^^
File "<frozen os>", line 685, in __getitem__
KeyError: 'DB_PASSWORD'
Traceback (most recent call last):
File "/opt/pgz-sport/scrapers/hns_lige_standings.py", line 14, in <module>
user='rinet', password=os.environ["DB_PASSWORD"])
~~~~~~~~~~^^^^^^^^^^^^^^^
File "<frozen os>", line 685, in __getitem__
KeyError: 'DB_PASSWORD'
+250
View File
@@ -0,0 +1,250 @@
Length: 645718
Tables: 12
=== Table titles ===
Table 1: Natjecanja
Table 2: Natjecanja
Table 3: Natjecanja
Table 4: Natjecanja
Table 5: Natjecanja
Table 6: Natjecanja
Table 7: Natjecanja
Table 8: Natjecanja
=== Supersport Superliga (M) 2025/26 (10 klubova) ===
1. HAOK MLADOST 36b 18p 0por
2. MOK MURSA - OSIJEK 30b 15p 3por
3. OK RIBOLA KAŠTELA 22b 11p 7por
=== Supersport Superliga (Ž) 2025/26 (10 klubova) ===
1. HAOK MLADOST 32b 16p 2por
2. OK NEBO 26b 13p 5por
3. ŽOK RIBOLA KAŠTELA 26b 13p 5por
=== Liga doigravanje (M) 2025/26 (3 klubova) ===
1. MOK GROBNIČAN 4b 2p 0por
2. OK ZRINSKI NUŠTAR II 0b 0p 1por
3. OK CROATIA 0b 0p 1por
=== Supersport Superliga 2 (M) 2025/26 (10 klubova) ===
1. HAOK MLADOST II 32b 16p 2por
2. OK GORICA 22b 11p 7por
3. OK SPLIT 20b 10p 8por
=== Supersport Superliga 2 (Ž) 2025/26 (4 klubova) ===
1. OK SPLIT 6b 3p 0por
2. OK PETRINJA 4b 2p 1por
3. ŽOK DRENOVA 2b 1p 2por
=== TOTAL: 37, PGŽ klubovi: {'MOK RIJEKA', 'MOK GROBNIČAN', 'ŽOK DRENOVA', 'MOK RIJEKA II'} ===
=== HOS lige ===
10 klubova (1 matched) Supersport Superliga (M) 2025/26
10 klubova (0 matched) Supersport Superliga (Ž) 2025/26
3 klubova (1 matched) Liga doigravanje (M) 2025/26
10 klubova (1 matched) Supersport Superliga 2 (M) 2025/26
4 klubova (1 matched) Supersport Superliga 2 (Ž) 2025/26
0 klubova (0 matched) Superliga
47 klubova (3 matched) 1. B liga
0 klubova (0 matched) Kup Hrvatske
10 klubova (1 matched) Superliga
8 klubova (1 matched) Odbojka na pijesku
47 klubova (3 matched) 1. B liga
19 klubova (2 matched) Mlađe dobne kategorije
4 klubova (1 matched) 1. liga
8 klubova (1 matched) Odbojka na pijesku
19 klubova (2 matched) Mlađe dobne kategorije
10 klubova (1 matched) 1. liga
47 klubova (3 matched) 1. B liga
4 klubova (0 matched) Odbojka na pijesku
47 klubova (3 matched) 1. B liga
30 klubova (4 matched) 3. liga
10 klubova (1 matched) 1. liga
4 klubova (0 matched) Odbojka na pijesku
3 klubova (1 matched) 1. liga
10 klubova (0 matched) Superliga
0 klubova (0 matched) Kup Hrvatske
52 klubova (4 matched) 2. liga
19 klubova (2 matched) 2. liga
52 klubova (4 matched) 2. liga
52 klubova (4 matched) 2. liga
47 klubova (3 matched) 1. B liga
0 klubova (0 matched) 3. liga
=== PGŽ klubovi u HOS ===
1. B liga 1. ŽOK DRENOVA 36b -> 4529 'ŽOK Drenova'
1. B liga 1. ŽOK DRENOVA 36b -> 4529 'ŽOK Drenova'
1. B liga 1. ŽOK DRENOVA 36b -> 4529 'ŽOK Drenova'
1. B liga 1. ŽOK DRENOVA 36b -> 4529 'ŽOK Drenova'
1. B liga 1. ŽOK DRENOVA 36b -> 4529 'ŽOK Drenova'
1. B liga 4. OK GROBNIČAN 28b -> 4528 'MOK Grobničan'
1. B liga 4. OK GROBNIČAN 28b -> 4528 'MOK Grobničan'
1. B liga 4. OK GROBNIČAN 28b -> 4528 'MOK Grobničan'
1. B liga 4. OK GROBNIČAN 28b -> 4528 'MOK Grobničan'
1. B liga 4. OK GROBNIČAN 28b -> 4528 'MOK Grobničan'
1. liga 1. HAOK RIJEKA 36b -> 2398 'HAOK Rijeka (ranije ŽOK Rijeka)'
1. liga 1. MOK GROBNIČAN 4b -> 4528 'MOK Grobničan'
1. liga 3. ŽOK DRENOVA 2b -> 4529 'ŽOK Drenova'
1. liga 4. MOK RIJEKA II 20b -> 4530 'MOK RIJEKA II'
2. liga 2. MOK RIJEKA III 12b -> 4532 'MOK RIJEKA III'
2. liga 3. MOK GROBNIČAN 8b -> 4528 'MOK Grobničan'
2. liga 5. OK KASTAV 1998 6b -> 4531 'OK KASTAV 1998'
2. liga 5. OK KASTAV 1998 6b -> 4531 'OK KASTAV 1998'
2. liga 5. OK KASTAV 1998 6b -> 4531 'OK KASTAV 1998'
3. liga 1. ŽOK DRENOVA 4b -> 4529 'ŽOK Drenova'
3. liga 2. OK GROBNIČAN 2b -> 4528 'MOK Grobničan'
3. liga 4. HAOK RIJEKA 0b -> 2398 'HAOK Rijeka (ranije ŽOK Rijeka)'
Liga doigravanje (M) 2025/26 1. MOK GROBNIČAN 4b -> 4528 'MOK Grobničan'
Mlađe dobne kategorije 1. MOK GROBNIČAN 4b -> 4528 'MOK Grobničan'
Mlađe dobne kategorije 1. MOK GROBNIČAN 4b -> 4528 'MOK Grobničan'
Mlađe dobne kategorije 4. MOK RIJEKA 4b -> 2467 'MOK Rijeka'
Mlađe dobne kategorije 4. MOK RIJEKA 4b -> 2467 'MOK Rijeka'
Superliga 8. MOK RIJEKA 12b -> 2467 'MOK Rijeka'
Supersport Superliga 2 (M) 202 4. MOK RIJEKA II 20b -> 4530 'MOK RIJEKA II'
Supersport Superliga 2 (Ž) 202 3. ŽOK DRENOVA 2b -> 4529 'ŽOK Drenova'
Supersport Superliga (M) 2025/ 8. MOK RIJEKA 12b -> 4530 'MOK RIJEKA II'
Length: 638991
Tables: 12
=== Table titles ===
Table 1: Natjecanja
Table 2: Natjecanja
Table 3: Natjecanja
Table 4: Natjecanja
Table 5: Natjecanja
Table 6: Natjecanja
Table 7: Natjecanja
Table 8: Natjecanja
=== Supersport Superliga (M) 2025/26 (10 klubova) ===
1. HAOK MLADOST 36b 18p 0por
2. MOK MURSA - OSIJEK 30b 15p 3por
3. OK RIBOLA KAŠTELA 22b 11p 7por
=== Supersport Superliga (Ž) 2025/26 (10 klubova) ===
1. HAOK MLADOST 32b 16p 2por
2. OK NEBO 26b 13p 5por
3. ŽOK RIBOLA KAŠTELA 26b 13p 5por
=== Liga doigravanje (M) 2025/26 (10 klubova) ===
1. HAOK MLADOST II 32b 16p 2por
2. OK GORICA 22b 11p 7por
3. OK SPLIT 20b 10p 8por
=== Supersport Superliga 2 (M) 2025/26 (3 klubova) ===
1. MOK GROBNIČAN 4b 2p 0por
2. OK CROATIA 2b 1p 1por
3. OK ZRINSKI NUŠTAR II 0b 0p 2por
=== Supersport Superliga 2 (Ž) 2025/26 (4 klubova) ===
1. OK SPLIT 6b 3p 0por
2. OK PETRINJA 4b 2p 1por
3. ŽOK DRENOVA 2b 1p 2por
=== TOTAL: 37, PGŽ klubovi: {'MOK RIJEKA II', 'MOK GROBNIČAN', 'ŽOK DRENOVA', 'MOK RIJEKA'} ===
=== HOS lige ===
10 klubova (1 matched) Supersport Superliga (M) 2025/26
10 klubova (0 matched) Supersport Superliga (Ž) 2025/26
10 klubova (1 matched) Liga doigravanje (M) 2025/26
3 klubova (1 matched) Supersport Superliga 2 (M) 2025/26
4 klubova (1 matched) Supersport Superliga 2 (Ž) 2025/26
0 klubova (0 matched) Superliga
47 klubova (3 matched) 1. B liga
0 klubova (0 matched) Kup Hrvatske
10 klubova (1 matched) Superliga
8 klubova (1 matched) Odbojka na pijesku
47 klubova (3 matched) 1. B liga
19 klubova (2 matched) Mlađe dobne kategorije
4 klubova (1 matched) 1. liga
8 klubova (1 matched) Odbojka na pijesku
19 klubova (2 matched) Mlađe dobne kategorije
10 klubova (1 matched) 1. liga
47 klubova (3 matched) 1. B liga
4 klubova (0 matched) Odbojka na pijesku
47 klubova (3 matched) 1. B liga
30 klubova (4 matched) 3. liga
10 klubova (1 matched) 1. liga
4 klubova (0 matched) Odbojka na pijesku
3 klubova (1 matched) 1. liga
10 klubova (0 matched) Superliga
0 klubova (0 matched) Kup Hrvatske
52 klubova (4 matched) 2. liga
19 klubova (2 matched) 2. liga
52 klubova (4 matched) 2. liga
52 klubova (4 matched) 2. liga
47 klubova (3 matched) 1. B liga
0 klubova (0 matched) 3. liga
=== PGŽ klubovi u HOS ===
1. B liga 1. ŽOK DRENOVA 36b -> 4529 'ŽOK Drenova'
1. B liga 1. ŽOK DRENOVA 36b -> 4529 'ŽOK Drenova'
1. B liga 1. ŽOK DRENOVA 36b -> 4529 'ŽOK Drenova'
1. B liga 1. ŽOK DRENOVA 36b -> 4529 'ŽOK Drenova'
1. B liga 1. ŽOK DRENOVA 36b -> 4529 'ŽOK Drenova'
1. B liga 4. OK GROBNIČAN 28b -> 4528 'MOK Grobničan'
1. B liga 4. OK GROBNIČAN 28b -> 4528 'MOK Grobničan'
1. B liga 4. OK GROBNIČAN 28b -> 4528 'MOK Grobničan'
1. B liga 4. OK GROBNIČAN 28b -> 4528 'MOK Grobničan'
1. B liga 4. OK GROBNIČAN 28b -> 4528 'MOK Grobničan'
1. liga 1. MOK GROBNIČAN 4b -> 4528 'MOK Grobničan'
1. liga 1. HAOK RIJEKA 36b -> 2398 'HAOK Rijeka (ranije ŽOK Rijeka)'
1. liga 3. ŽOK DRENOVA 2b -> 4529 'ŽOK Drenova'
1. liga 4. MOK RIJEKA II 20b -> 4530 'MOK RIJEKA II'
2. liga 2. MOK RIJEKA III 12b -> 4532 'MOK RIJEKA III'
2. liga 3. MOK GROBNIČAN 8b -> 4528 'MOK Grobničan'
2. liga 5. OK KASTAV 1998 6b -> 4531 'OK KASTAV 1998'
2. liga 5. OK KASTAV 1998 6b -> 4531 'OK KASTAV 1998'
2. liga 5. OK KASTAV 1998 6b -> 4531 'OK KASTAV 1998'
3. liga 1. ŽOK DRENOVA 4b -> 4529 'ŽOK Drenova'
3. liga 2. OK GROBNIČAN 2b -> 4528 'MOK Grobničan'
3. liga 4. HAOK RIJEKA 0b -> 2398 'HAOK Rijeka (ranije ŽOK Rijeka)'
Liga doigravanje (M) 2025/26 4. MOK RIJEKA II 20b -> 4530 'MOK RIJEKA II'
Mlađe dobne kategorije 1. MOK GROBNIČAN 4b -> 4528 'MOK Grobničan'
Mlađe dobne kategorije 1. MOK GROBNIČAN 4b -> 4528 'MOK Grobničan'
Mlađe dobne kategorije 4. MOK RIJEKA 4b -> 2467 'MOK Rijeka'
Mlađe dobne kategorije 4. MOK RIJEKA 4b -> 2467 'MOK Rijeka'
Superliga 8. MOK RIJEKA 12b -> 2467 'MOK Rijeka'
Supersport Superliga 2 (M) 202 1. MOK GROBNIČAN 4b -> 4528 'MOK Grobničan'
Supersport Superliga 2 (Ž) 202 3. ŽOK DRENOVA 2b -> 4529 'ŽOK Drenova'
Supersport Superliga (M) 2025/ 8. MOK RIJEKA 12b -> 4530 'MOK RIJEKA II'
File "/opt/pgz-sport/scrapers/hos_scraper.py", line 8
DB = dict(host="10.10.0.2", port=6432, port=5432, dbname='rinet_v3', user='rinet', password='R1net2026!SecureDB#v7')
^^^^^^^^^
SyntaxError: keyword argument repeated: port
File "/opt/pgz-sport/scrapers/hos_scraper.py", line 8
DB = dict(host="10.10.0.2", port=6432, port=5432, dbname='rinet_v3', user='rinet', password='R1net2026!SecureDB#v7')
^^^^^^^^^
SyntaxError: keyword argument repeated: port
File "/opt/pgz-sport/scrapers/hos_scraper.py", line 8
DB = dict(host="10.10.0.2", port=6432, port=5432, dbname='rinet_v3', user='rinet', password='R1net2026!SecureDB#v7')
^^^^^^^^^
SyntaxError: keyword argument repeated: port
File "/opt/pgz-sport/scrapers/hos_scraper.py", line 8
DB = dict(host="10.10.0.2", port=6432, port=5432, dbname='rinet_v3', user='rinet', password='R1net2026!SecureDB#v7')
^^^^^^^^^
SyntaxError: keyword argument repeated: port
File "/opt/pgz-sport/scrapers/hos_scraper.py", line 8
DB = dict(host="10.10.0.2", port=6432, port=5432, dbname='rinet_v3', user='rinet', password='R1net2026!SecureDB#v7')
^^^^^^^^^
SyntaxError: keyword argument repeated: port
File "/opt/pgz-sport/scrapers/hos_scraper.py", line 8
DB = dict(host="10.10.0.2", port=6432, port=5432, dbname='rinet_v3', user='rinet', password='R1net2026!SecureDB#v7')
^^^^^^^^^
SyntaxError: keyword argument repeated: port
File "/opt/pgz-sport/scrapers/hos_scraper.py", line 9
DB = dict(host="10.10.0.2", port=6432, port=5432, dbname='rinet_v3', user='rinet', password=os.environ["DB_PASSWORD"])
^^^^^^^^^
SyntaxError: keyword argument repeated: port
File "/opt/pgz-sport/scrapers/hos_scraper.py", line 9
DB = dict(host="10.10.0.2", port=6432, port=5432, dbname='rinet_v3', user='rinet', password=os.environ["DB_PASSWORD"])
^^^^^^^^^
SyntaxError: keyword argument repeated: port
File "/opt/pgz-sport/scrapers/hos_scraper.py", line 9
DB = dict(host="10.10.0.2", port=6432, port=5432, dbname='rinet_v3', user='rinet', password=os.environ["DB_PASSWORD"])
^^^^^^^^^
SyntaxError: keyword argument repeated: port
File "/opt/pgz-sport/scrapers/hos_scraper.py", line 9
DB = dict(host="10.10.0.2", port=6432, port=5432, dbname='rinet_v3', user='rinet', password=os.environ["DB_PASSWORD"])
^^^^^^^^^
SyntaxError: keyword argument repeated: port