from __future__ import annotations import argparse class PingkaiSourceAdapter: def __init__( self, *, list_entries, list_entries_in_window, load_ticket, ticket_ref, ): self._list_entries = list_entries self._list_entries_in_window = list_entries_in_window self._load_ticket = load_ticket self._ticket_ref = ticket_ref def build_tikv_slow_discovery_args(self, args): return argparse.Namespace( status='all', time_range=args.time_range, assignee=args.assignee, page_size=getattr(args, 'page_size', 100), components='TiKV', module='', l2_assignee='', l3_assignee='', ) def list_entries(self, args): return self._list_entries(args) def list_entries_in_window(self, args, *, created_since=None, created_before=None): return self._list_entries_in_window(args, created_since=created_since, created_before=created_before) def list_tikv_entries(self, args): return self._list_entries(self.build_tikv_slow_discovery_args(args)) def ticket_ref(self, ticket: dict) -> str: return self._ticket_ref(ticket) def load_ticket(self, ref: str, *, include_internal: bool = True): return self._load_ticket(ref, include_internal=include_internal)