Compare commits

...
3 Commits
Author SHA1 Message Date
david-spacil 2ab3ace310 feature (wip): první krůčky logiky pro parsování PAS záznamů
- dosavadní logika parsování platná pro akce a lokality je podmíněna typ_dat
- stub logiky parsování pro samostatné nálezy
2026-07-03 12:15:58 +02:00
david-spacil 27a0f4e9ea feature: dynamičtjší způsob interpretace typu dat
- archeologicky_zaznam nově čerpá human-readable název pro název vrstvy v typ_dat_vocab
- archeologicky_zaznam_l pro ověřování, jestli je současný typ_dat akce nebo lokalita
2026-07-03 12:13:40 +02:00
david-spacil f4ad402f52 fix: oprava typ_dat = "pas" na typ_dat = "samostatny_nalez" 2026-07-03 11:56:25 +02:00
3 changed files with 30 additions and 6 deletions

No files matched your search

+4 -4
View File
@@ -225,7 +225,7 @@ class AmcrFilterDialog(QDialog):
# Filters valid for Akce
if self.typ_dat in ["pas", "akce"]:
if self.typ_dat in ["samostatny_nalez", "akce"]:
self.picker_org = self.setup_picker(
"Organizace",
'organizace',
@@ -286,7 +286,7 @@ class AmcrFilterDialog(QDialog):
self.picker_obdobi = self.setup_picker("Období", 'obdobi', OBDOBI)
layout.addWidget(self.picker_obdobi)
if self.typ_dat == "pas":
if self.typ_dat == "samostatny_nalez":
self.picker_nalez_kategorie = self.setup_picker(
"Kategorie nálezu",
'nalez_kategorie',
@@ -322,7 +322,7 @@ class AmcrFilterDialog(QDialog):
)
layout.addWidget(self.picker_nalezce)
if self.typ_dat != "pas":
if self.typ_dat != "samostatny_nalez":
self.picker_areal = self.setup_picker("Areál", 'areal', AREAL)
layout.addWidget(self.picker_areal)
@@ -344,7 +344,7 @@ class AmcrFilterDialog(QDialog):
self.lbl_komponenty_warning.setVisible(False)
layout.addWidget(self.lbl_komponenty_warning)
if self.typ_dat != "pas":
if self.typ_dat != "samostatny_nalez":
self.chk_komponenty.toggled.connect(
self.lbl_komponenty_warning.setVisible
)
+25 -1
View File
@@ -26,6 +26,17 @@ LAST_LOGIN_ERROR: str | None = None
# a second download while the first one is still running
_LOADING = False
archeologicky_zaznam_l = [
"akce",
"lokalita",
]
typ_dat_vocab = {
"akce": "Akce",
"lokalita": "Lokalita",
"samostatny_nalez": "PAS",
}
def _log(msg: str, level=Qgis.MessageLevel.Info):
"""
@@ -440,6 +451,7 @@ def load_amcr_data(canvas, bb, filters=None,
return ", ".join([str(x) for x in val if x])
# Process each downloaded metadata record
if typ_dat in archeologicky_zaznam_l:
for doc in docs:
piani = doc.get('az_dj_pian', [])
if not piani:
@@ -705,11 +717,23 @@ def load_amcr_data(canvas, bb, filters=None,
"AMČR", Qgis.MessageLevel.Warning
)
elif typ_dat == "samostatny_nalez":
for doc in docs:
loc = g(doc, "loc", [])
if not loc:
continue
actions_with_geom += 1
sn_chranene = doc.get("samostatny_nalez_chranene_udaje") or {}
# ==========================================
# D) LAYER CREATION (QGIS Memory Layers)
# ==========================================
archeologicky_zaznam = "Akce" if typ_dat == "akce" else "Lokalita"
archeologicky_zaznam = typ_dat_vocab[typ_dat]
# Initialize three layers for different geometry types (S-JTSK CRS)
vl_poly = QgsVectorLayer(
+1 -1
View File
@@ -113,7 +113,7 @@ class AmcrViewer:
self.action_download_pas = self.add_action(
icon_path=icon_pas_path,
text=self.tr(u'Stáhnout data samostatných nálezů | AMČR Viewer'),
callback=lambda checked=False: self.run_download('pas'),
callback=lambda checked=False: self.run_download('samostatny_nalez'),
parent=self.iface.mainWindow(),
add_to_menu=False,
add_to_toolbar=False