1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- import json
- import os
- from datetime import datetime
- from pathlib import Path
- from requests_oauthlib import OAuth2Session
- import mazda_upload
- from mazda_archive import archive_files
- from mazda_export import convert_csv, export_orders
- def get_config():
- base_dir = str(Path.cwd())
- cfg = {
- "timestamp": "",
- "base_dir": base_dir,
- "data_dir": base_dir + "\\data",
- "export_dir": base_dir + "\\export\\Mazda",
- "temp_dir": base_dir + "\\export\\Mazda\\temp",
- }
- os.makedirs(cfg["temp_dir"], exist_ok=True)
- os.makedirs(cfg["data_dir"], exist_ok=True)
- os.makedirs(f"{cfg["export_dir"]}\\error", exist_ok=True)
- os.makedirs(f"{cfg["export_dir"]}\\success", exist_ok=True)
- os.makedirs(f"{cfg["base_dir"]}\\logs", exist_ok=True)
- os.makedirs(f"{cfg["base_dir"]}\\temp", exist_ok=True)
- return cfg
- def token_load(config) -> mazda_upload.Token:
- try:
- with open(config["base_dir"] + "\\temp\\token.json", "r") as frh:
- return json.load(frh)
- except FileNotFoundError:
- return None
- def submit_changes(config):
- oauth = OAuth2Session(mazda_upload.cfg_prod.client_id, token=token_load(config))
- if oauth.authorized:
- mazda_upload.upload_files(mazda_upload.cfg_prod, oauth, config["export_dir"])
- else:
- print("OAuth2 session not authorized. Please check your credentials.")
- return
- def main():
- config = get_config()
- dt = datetime.now()
- config["timestamp"] = dt.strftime("%Y%m%d_%H%M%S")
- print("Start: " + dt.strftime("%d.%m.%Y %H:%M:%S"))
- print("Export")
- data = convert_csv(
- config["data_dir"] + "\\Workshop_Order_Report.csv", config["temp_dir"] + "\\mazda_export.json", 2024, 1
- )
- export_orders(data, config["temp_dir"])
- print("Archivierung")
- archive_files(config["export_dir"])
- print("Upload")
- submit_changes(config)
- if __name__ == "__main__":
- main()
|