fire.cli package
Module contents
Kommandoliniebrugergrænsefladen (en command-line interface, CLI) til FIREs API.
- fire.cli.default_options(**kwargs)
Create decorator that handles all default options
- fire.cli.farvelæg(tekst: str, farve: str)
Farvelæg en tekst der udskrives via Click.
- fire.cli.grøn(tekst: str)
Farv en tekst der udskrives via Click grøn.
- fire.cli.luk_pænt_ved_ctrl_c(signal, frame)
- fire.cli.override_firedb(new_firedb: FireDb)
Tillad at bruge en anden firedb end den der oprettes automatisk af fire.cli.
- fire.cli.print(*args, **kwargs)
FIRE-specifik print funktion baseret på click.secho.
Tilsidesætter farven når --monokrom parameteren anvendes i kommandolinjekald.
- fire.cli.rød(tekst: str)
Farv en tekst der udskrives via Click rød.
- fire.cli.åbn_fil(fil: str) None
Åben en fil med et passende program.
Wrapperfunktion til os.startfile, der gør det muligt at undlade filåbning ved hjælp af indstilling i konfigurationsfil (niv_open_files).
Submodules
- fire.cli.info.koordinat_linje(koord: Koordinat) str
Konstruer koordinatoutput i overensstemmelse med koordinatens dimensionalitet, enhed og proveniens.
- fire.cli.info.koordinatrapport(koordinater: List[Koordinat], options: str, historik: bool) None
Hjælpefunktion for 'punkt_fuld_rapport': Udskriv formateret koordinatliste
- fire.cli.info.observation_linje(obs: Observation) str
- fire.cli.info.observationsrapport(observationer_til: List[Observation], observationer_fra: List[Observation], options: str, opt_detaljeret: bool) None
Hjælpefunktion for 'punkt_fuld_rapport': Udskriv formateret observationsliste
- fire.cli.info.punkt_fuld_rapport(punkt: Punkt, ident: str, i: int, n: int, opt_obs: str, opt_koord: str, opt_detaljeret: bool, opt_historik: bool) None
Rapportgenerator for funktionen 'punkt' nedenfor.
- fire.cli.info.punktinforapport(punktinformationer: List[PunktInformation], historik: bool) None
Hjælpefunktion for 'punkt_fuld_rapport'.
- fire.cli.info.punktsamlingsrapport(punktsamlinger: list[PunktSamling], id: str = None)
Hjælpefunktion for funktionerne punkt_fuld_rapport og punktsamling.
- fire.cli.info.tidsserierapport(tidsserier: list[Tidsserie])
Hjælpefunktion for funktionerne punkt_fuld_rapport og punktsamling.
Hovedindgang for kommondolinjeinterface til FIRE.
- fire.cli.niv.afbryd_hvis_ugyldigt_jessenpunkt(jessenpunkt: Punkt) None
Smid fejl hvis valgt jessenpunkt ikke er et registreret jessenpunkt
- 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.hent_relevante_tidsserier(hts_ark: DataFrame, punkt: Punkt, fastholdt_punkt: Punkt, fastholdt_kote: float) list[Tidsserie]
Henter de relevante tidsserier fra Højdetidsserier-arket
Med "relevante" skal forstås tidsserier der har
punkt
som punkt, og som hører under en punktsamling der harfastholdt_punkt
ogfastholdt_kote
som fastholdt punkt hhv. kote.Derudover kontrolleres oplysningerne i Højdetidsserier-fanen. Hvis de er forkerte udsendes fejlmeddelelser.
- 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.
Flyt projektnavn.xlsx til projektnavn-ex.xlsx
Læs dict gamle_faneblade fra projektnavn-ex.xlsx
Fjern elementer fra gamle_faneblade hvis navnet også findes i nye_faneblade
Skriv nye_faneblade til projektnavn.xlsx
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
- fire.cli.niv.udled_jessenpunkt_fra_punktoversigt(punktoversigt: DataFrame) tuple[float, Punkt]
Udleder Jessenpunktet ud fra oplysningerne i Punktoversigten.
Returnerer oplysninger om det validerede jessenpunkt.
Diverse redskaber til brug i fire.cli.
- class fire.cli.click_types.Datetime(format)
Bases:
ParamType
A datetime object parsed via datetime.strptime. Format specifiers can be found here : https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior
Stolen from https://github.com/click-contrib/click-datetime/blob/master/click_datetime/__init__.py
- convert(value, param, ctx)
Convert the value to the correct type. This is not called if the value is
None
(the missing value).This must accept string values from the command line, as well as values that are already the correct type. It may also convert other compatible types.
The
param
andctx
arguments may beNone
in certain situations, such as when converting prompt input.If the value cannot be converted, call
fail()
with a descriptive message.- Parameters:
value -- The value to convert.
param -- The parameter that is using this type to convert its value. May be
None
.ctx -- The current context that arrived at this value. May be
None
.
- name: str = 'date'
the descriptive name of this type