fire.cli.niv package

Module contents

fire.cli.niv.anvendte(arkdef: Dict) str

Anvendte søjler for given arkdef

fire.cli.niv.bekræft(spørgsmål: str, gentag=True) bool

Anmod bruger om at tage stilling til spørgsmålet.

fire.cli.niv.er_projekt_okay(projektnavn: str) None

Kontroller om det er okay at bruge et givet projekt.

Afbryder programmet og udskriver en fejl, hvis ikke projektet er okay.

Ellers gøres intet.

fire.cli.niv.find_faneblad(projektnavn: str, faneblad: str, arkdef: Dict, ignore_failure: bool = False) DataFrame
fire.cli.niv.find_parameter(projektnavn: str, parameter: str) str

Find parameter fra et projektregneark

fire.cli.niv.find_sag(projektnavn: str) Sag

Bomb hvis sag for projektnavn ikke er oprettet. Ellers returnér sagen

fire.cli.niv.find_sagsgang(projektnavn: str) DataFrame

Udtræk sagsgangsregneark fra Excelmappe

fire.cli.niv.find_sagsid(sagsgang: DataFrame) str
fire.cli.niv.gyldighedstidspunkt(projektnavn: str) datetime

Tid for sidste observation der har været brugt i beregningen

fire.cli.niv.obs_feature(punkter: DataFrame, observationer: DataFrame, antal_målinger: Dict[Tuple, int]) Dict[str, str]

Omsæt observationsinformationer til JSON-egnet dict

fire.cli.niv.observationer_geojson(punkter: DataFrame, observationer: DataFrame) None

Skriv observationer til geojson-fil

fire.cli.niv.opret_region_punktinfo(punkt: Punkt) PunktInformation

Opret regionspunktinfo for et nyt punkt

fire.cli.niv.punkt_feature(punkter: DataFrame) Dict[str, str]

Omsæt punktinformationer til JSON-egnet dict

fire.cli.niv.punkter_geojson(punkter: DataFrame) str

Returner punkter/koordinater som geojson-streng

fire.cli.niv.skriv_ark(projektnavn: str, nye_faneblade: Dict[str, DataFrame], suffix: str = '') bool

Skriv resultater til excel-fil

Basalt en temmeligt simpel operation, men virkemåden er næsten overskygget af kontroller af at filoperationer gik godt. Det er et vilkår ved interaktioner med filsystemer, så for overblikkets skyld kommer her en kort prosabeskrivelse.

  1. Flyt projektnavn.xlsx til projektnavn-ex.xlsx

  2. Læs dict gamle_faneblade fra projektnavn-ex.xlsx

  3. Fjern elementer fra gamle_faneblade hvis navnet også findes i nye_faneblade

  4. Skriv nye_faneblade til projektnavn.xlsx

  5. Skriv gamle_faneblade til projektnavn.xlsx

Trin 4 kommer før trin 5 for at sikre at de nye faneblade er umiddelbart synlige når man åbner projektnavn.xlsx

Eller mere direkte sagt:

``` fil = Path(f"{projektnavn}{suffix}.xlsx") exfil = Path(f"{projektnavn}{suffix}-ex.xlsx") fil.replace(exfil)

gamle_faneblade = pd.read_excel(exfil, sheet_name=None) for fanebladnavn in set(gamle_faneblade).intersection(nye_faneblade):

gamle_faneblade.pop(fanebladnavn)

with pd.ExcelWriter(fil) as writer:

skriv nye_faneblade skriv gamle_faneblade

```

Hvilket er i omegnen af en faktor 10 mindre end den implementerede version - men it's a jungle out there...

fire.cli.niv.skriv_observationer_geojson(projektnavn: str, punkter: DataFrame, observationer: DataFrame, infiks: str = '') None

Skriv geojson-fil med observationsdata til disk

fire.cli.niv.skriv_punkter_geojson(projektnavn: str, punkter: DataFrame, infiks: str = '')

Skriv geojson-fil med punktdata til disk