Includes: API (Express/TypeScript), Astro site, Python workers, document generators, FCC compliance tools, Canada CRTC formation, Ansible infrastructure, and deployment scripts. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
28 lines
929 B
Python
28 lines
929 B
Python
"""Metaswitch iCM Provisioning Server preset — Playwright scrape.
|
|
|
|
iCM does not expose a public CDR API; operators download CSV exports
|
|
from the CDR Archive page inside the Provisioning Server admin UI.
|
|
Selectors vary across iCM versions (V11/V12+), so the concrete login
|
|
+ download flow is deferred until live recon on a specific deployment.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from ._scrape_base import ScrapePreset
|
|
|
|
|
|
class MetaswitchPreset(ScrapePreset):
|
|
PRESET_SLUG = "metaswitch"
|
|
LABEL = "Metaswitch iCM (Provisioning Server)"
|
|
CDR_FORMAT = "generic_csv"
|
|
DEFAULT_CRON = "0 3 * * *"
|
|
|
|
FORMAT_CONFIG = {
|
|
"start_time": "startTime",
|
|
"caller_number": "callingNumber",
|
|
"called_number": "calledNumber",
|
|
"duration_sec": "connectionTime",
|
|
"billed_amount": "totalCharge",
|
|
"call_id": "cdr_sequence",
|
|
"ts_format": "%Y-%m-%d %H:%M:%S",
|
|
}
|