58 lines
1.6 KiB
Python
58 lines
1.6 KiB
Python
#!/usr/bin/env python3
|
|
"""Kort, én-setnings beskrivelse av hva scriptet gjør.
|
|
|
|
Lengre beskrivelse av formål, virkemåte og forutsetninger.
|
|
|
|
Bruk:
|
|
python snake_case.py --eksempel "verdi" [--dry-run]
|
|
|
|
Eksempel:
|
|
python snake_case.py --eksempel "verdi" --dry-run
|
|
|
|
Metadata:
|
|
Forfatter : Fornavn Etternavn (initialer)
|
|
Opprettet : ÅÅÅÅ-MM-DD
|
|
Versjon : 1.0.0
|
|
Plattform : <tjeneste / API>
|
|
Krav : Python 3.9+, pakker: <f.eks. requests, msal>
|
|
Tags : tag1, tag2
|
|
|
|
Endringslogg:
|
|
ÅÅÅÅ-MM-DD 1.0.0 Første versjon (initialer)
|
|
|
|
SIKKERHET: Aldri hemmeligheter i koden. Les dem fra miljøvariabler,
|
|
f.eks. os.environ["API_TOKEN"].
|
|
"""
|
|
from __future__ import annotations
|
|
|
|
import argparse
|
|
import logging
|
|
import sys
|
|
|
|
logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(message)s")
|
|
log = logging.getLogger(__name__)
|
|
|
|
|
|
def parse_args() -> argparse.Namespace:
|
|
p = argparse.ArgumentParser(description=__doc__.splitlines()[0])
|
|
p.add_argument("--eksempel", required=True, help="Beskriv parameteren.")
|
|
p.add_argument("--dry-run", action="store_true", help="Tørrkjør uten endringer.")
|
|
return p.parse_args()
|
|
|
|
|
|
def main() -> int:
|
|
args = parse_args()
|
|
try:
|
|
if args.dry_run:
|
|
log.info("[dry-run] Ville kjørt mot: %s", args.eksempel)
|
|
return 0
|
|
# --- Hovedlogikk her ---
|
|
log.info("Kjører mot: %s", args.eksempel)
|
|
return 0
|
|
except Exception as exc: # noqa: BLE001
|
|
log.error("Feilet: %s", exc)
|
|
return 1
|
|
|
|
|
|
if __name__ == "__main__":
|
|
sys.exit(main())
|