@@ -34,6 +34,9 @@ def count(self, before_dt: datetime = None, after_dt: datetime = None, order: st
3434 container_id : str = None , service_name : str = None , event_id : str = None ) -> int :
3535 params = self ._make_params (before_dt , after_dt , order , event_type , subtype , action , email_address ,
3636 device_id , device_serial , container_id , service_name , event_id )
37+ return self ._count (params )
38+
39+ def _count (self , params : Dict [str , Any ]) -> int :
3740 response_json = self ._client .api_request ('GET' , '/events/count' , params = params )
3841 return response_json ['data' ]
3942
@@ -63,12 +66,15 @@ def list(self, before_dt: datetime = None, after_dt: datetime = None, order: str
6366 else :
6467 return self ._list_paged (params )
6568
69+ # noinspection PyProtectedMember
6670 def _list_daterange (self , params : Dict [str , Any ]) -> List [Resource ]:
6771 order = params .get ('order' , 'desc' )
6872 params ['order' ] = 'asc'
6973 all_data : List [EventV2 ] = list ()
7074 event_ids : Set [UUID ] = set ()
75+ count = self ._count (params )
7176 schema = self .Meta .info_class .Schema ()
77+ self ._client ._do_progress_callback ('GET' , self .Meta .list_uri , 0 , count )
7278 while params ['after' ] < params ['before' ]:
7379 response_json = self ._client .api_request ('GET' , self .Meta .list_uri , params = params )
7480 data : List [EventV2 ] = schema .load (response_json ['data' ], many = True )
@@ -78,6 +84,7 @@ def _list_daterange(self, params: Dict[str, Any]) -> List[Resource]:
7884 all_data .extend (data )
7985 event_ids .update ([x .event_id for x in data ])
8086 params ['after' ] = int (data [- 1 ].created_at .timestamp () * 1000 )
87+ self ._client ._do_progress_callback ('GET' , self .Meta .list_uri , len (all_data ), count )
8188 self ._build_cache (all_data )
8289 return all_data
8390
0 commit comments