autograder.api.logs.query
Query log entries from the autograder server.
1""" 2Query log entries from the autograder server. 3""" 4 5import typing 6 7import autograder.api.common 8import autograder.api.config 9import autograder.error 10import autograder.model.config 11import autograder.model.log 12 13API_ENDPOINT: str = 'logs/query' 14API_WRITE: bool = False 15API_PARAMS: typing.List[autograder.api.config.APIParam] = [ 16 autograder.api.config.PARAM_SERVER, 17 autograder.api.config.PARAM_USER_EMAIL, 18 autograder.api.config.PARAM_USER_PASS, 19 20 autograder.api.config.PARAM_QUERY_USE_TESTING_DATA, 21 22 autograder.api.config.PARAM_QUERY_LOG_LEVEL, 23 autograder.api.config.PARAM_QUERY_AFTER, 24 autograder.api.config.PARAM_QUERY_PAST, 25 26 autograder.api.config.PARAM_QUERY_TARGET_COURSE, 27 autograder.api.config.PARAM_QUERY_TARGET_ASSIGNMENT, 28 autograder.api.config.PARAM_QUERY_TARGET_EMAIL, 29] 30 31def send( 32 config: autograder.model.config.Config, 33 **kwargs: typing.Any, 34 ) -> typing.Tuple[typing.Union[str, None], typing.List[autograder.model.log.LogRecord]]: 35 """ 36 Send a request to the autograder. 37 Returns: (error, log records). 38 """ 39 40 result = autograder.api.common.make_api_request(API_ENDPOINT, config, API_PARAMS, write = API_WRITE, **kwargs) 41 42 error = result.get('error', None) 43 if (error is not None): 44 return f"Error: '{error['message']}', Locator: '{error['locator']}'.", [] 45 46 records = [autograder.model.log.LogRecord.from_api(data) for data in result['results']] 47 48 return None, records
API_ENDPOINT: str =
'logs/query'
API_WRITE: bool =
False
API_PARAMS: List[autograder.api.config.APIParam] =
[<autograder.api.config.APIParam object>, <autograder.api.config.APIParam object>, <autograder.api.config.APIParam object>, <autograder.api.config.APIParam object>, <autograder.api.config.APIParam object>, <autograder.api.config.APIParam object>, <autograder.api.config.APIParam object>, <autograder.api.config.APIParam object>, <autograder.api.config.APIParam object>, <autograder.api.config.APIParam object>]
def
send( config: autograder.model.config.Config, **kwargs: Any) -> Tuple[Optional[str], List[autograder.model.log.LogRecord]]:
32def send( 33 config: autograder.model.config.Config, 34 **kwargs: typing.Any, 35 ) -> typing.Tuple[typing.Union[str, None], typing.List[autograder.model.log.LogRecord]]: 36 """ 37 Send a request to the autograder. 38 Returns: (error, log records). 39 """ 40 41 result = autograder.api.common.make_api_request(API_ENDPOINT, config, API_PARAMS, write = API_WRITE, **kwargs) 42 43 error = result.get('error', None) 44 if (error is not None): 45 return f"Error: '{error['message']}', Locator: '{error['locator']}'.", [] 46 47 records = [autograder.model.log.LogRecord.from_api(data) for data in result['results']] 48 49 return None, records
Send a request to the autograder. Returns: (error, log records).