info.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. from dataclasses import dataclass
  2. from pathlib import Path
  3. from archive_logs import ArchiveLogsResult
  4. from archive_logs import run as run_archive_logs
  5. from clients import ClientsResult
  6. from clients import run as run_clients
  7. from session_details import SessionDetailsResult
  8. from session_details import run as run_session_details
  9. from summary import SummaryResult
  10. from summary import run as run_summary
  11. @dataclass(frozen=True)
  12. class InfoResult:
  13. clients_result: ClientsResult
  14. archive_result: ArchiveLogsResult
  15. session_details_result: SessionDetailsResult
  16. summary_result: SummaryResult
  17. def run(
  18. directory: Path,
  19. clients_output: Path,
  20. session_details_output: Path,
  21. summary_output: Path,
  22. days: int = 14,
  23. ) -> InfoResult:
  24. clients_result = run_clients(directory, clients_output)
  25. archive_result = run_archive_logs(directory)
  26. session_details_result = run_session_details(directory, session_details_output)
  27. summary_result = run_summary(session_details_output, summary_output, days)
  28. return InfoResult(
  29. clients_result=clients_result,
  30. archive_result=archive_result,
  31. session_details_result=session_details_result,
  32. summary_result=summary_result,
  33. )