1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import json
- import logging
- from pathlib import Path
- from suds.client import Client
- logger = logging.getLogger("nasa")
- def submit_data(config: dict[str, str], payload):
- client = Client(
- url=config["service_url"],
- username=config["credentials"]["username"],
- password=config["credentials"]["password"],
- )
- try:
- return client.service.MeldeAfterSalesDaten(payload)
- except Exception as e:
- logger.error(e)
- return -1
- def print_result(period: str, result: str, len_pos: int):
- print("Periode: " + period)
- if len_pos == result:
- print(f"Erfolgreich {result} Datensätze übertragen")
- logger.info(f"Erfolgreich {result} Datensätze übertragen")
- return
- print("Übertragung der Datensätze Fehlgeschlagen.")
- if result == -1:
- print("Fehler! Es waren keine Datensätze vorhanden.")
- else:
- print(f"{len_pos - result} von {len_pos} Datensätzen nicht verarbeitet!")
- logger.error(f"{len_pos - result} von {len_pos} Datensätzen nicht verarbeitet!")
- def submit_changes(config):
- for file in Path(config["export_dir"]).glob("NASA_*.json"):
- print(" " + file.name)
- payload = json.load(file.open("r"))
- period = payload["Jahr"] + payload["Monat"]
- logger.info("Periode: " + period)
- len_pos = len(payload["AfterSalesPositionen"])
- result = submit_data(config, payload)
- print_result(period, result, len_pos)
|