[2ff88f42] feat(connector-superoffice): Implement Company Explorer sync and Holiday logic
- **Company Explorer Sync**: Added `explorer_client.py` and integrated Step 9 in `main.py` for automated data transfer to the intelligence engine. - **Holiday Logic**: Implemented `BusinessCalendar` in `utils.py` using the `holidays` library to automatically detect weekends and Bavarian holidays, ensuring professional timing for automated outreaches. - **API Discovery**: Created `parse_ce_openapi.py` to facilitate technical field mapping through live OpenAPI analysis. - **Project Stability**: Refined error handling and logging for a smooth end-to-end workflow.
This commit is contained in:
31
connector-superoffice/parse_ce_openapi.py
Normal file
31
connector-superoffice/parse_ce_openapi.py
Normal file
@@ -0,0 +1,31 @@
|
||||
import requests
|
||||
import json
|
||||
import os
|
||||
|
||||
def parse_openapi():
|
||||
url = "http://172.17.0.1:8000/openapi.json"
|
||||
auth = ("admin", "gemini")
|
||||
|
||||
try:
|
||||
resp = requests.get(url, auth=auth, timeout=5)
|
||||
resp.raise_for_status()
|
||||
spec = resp.json()
|
||||
|
||||
schemas = spec.get("components", {}).get("schemas", {})
|
||||
|
||||
target_schemas = ["CompanyCreate", "BulkImportRequest", "CompanyUpdate"]
|
||||
|
||||
print("--- API SCHEMAS FOUND ---")
|
||||
for schema_name in target_schemas:
|
||||
if schema_name in schemas:
|
||||
print(f"\nSchema: {schema_name}")
|
||||
print(json.dumps(schemas[schema_name], indent=2))
|
||||
else:
|
||||
print(f"\nSchema {schema_name} not found.")
|
||||
|
||||
except Exception as e:
|
||||
print(f"Error: {e}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
parse_openapi()
|
||||
|
||||
Reference in New Issue
Block a user