mirror of
https://github.com/EDCD/EDMarketConnector.git
synced 2025-04-14 08:17:13 +03:00
CAPI: Rename to EDMCCAPIFailedRequest & comment queues
* The 'EDMC' prefix on all these classes is to make it clear they're for internal passing around of requests/responses, rather than holding the literal raw CAPI request and response. * The request and response queues are now commented, including the detail that the response queue is created by the caller and then set 'here' by Session.set_capi_response_queue().
This commit is contained in:
parent
0456996cdd
commit
69d0d03b9b
2
EDMC.py
2
EDMC.py
@ -290,7 +290,7 @@ sys.path: {sys.path}'''
|
||||
sys.exit(EXIT_SERVER)
|
||||
|
||||
# noinspection DuplicatedCode
|
||||
if isinstance(capi_response, companion.CAPIFailedRequest):
|
||||
if isinstance(capi_response, companion.EDMCCAPIFailedRequest):
|
||||
logger.trace_if('capi.worker', f'Failed Request: {capi_response.message}')
|
||||
if capi_response.exception:
|
||||
raise capi_response.exception
|
||||
|
@ -947,11 +947,11 @@ class AppWindow(object):
|
||||
play_bad: bool = False
|
||||
err: Optional[str] = None
|
||||
|
||||
capi_response: Union[companion.CAPIFailedRequest, companion.EDMCCAPIResponse]
|
||||
capi_response: Union[companion.EDMCCAPIFailedRequest, companion.EDMCCAPIResponse]
|
||||
try:
|
||||
logger.trace_if('capi.worker', 'Pulling answer off queue')
|
||||
capi_response = self.capi_response_queue.get(block=False)
|
||||
if isinstance(capi_response, companion.CAPIFailedRequest):
|
||||
if isinstance(capi_response, companion.EDMCCAPIFailedRequest):
|
||||
logger.trace_if('capi.worker', f'Failed Request: {capi_response.message}')
|
||||
if capi_response.exception:
|
||||
raise capi_response.exception
|
||||
|
19
companion.py
19
companion.py
@ -560,7 +560,7 @@ class EDMCCAPIResponse(EDMCCAPIReturn):
|
||||
self.capi_data: CAPIData = capi_data # Frontier CAPI response, possibly augmented (station query)
|
||||
|
||||
|
||||
class CAPIFailedRequest(EDMCCAPIReturn):
|
||||
class EDMCCAPIFailedRequest(EDMCCAPIReturn):
|
||||
"""CAPI failed query error class."""
|
||||
|
||||
def __init__(
|
||||
@ -594,10 +594,17 @@ class Session(object):
|
||||
self.retrying = False # Avoid infinite loop when successful auth / unsuccessful query
|
||||
self.tk_master: Optional[tk.Tk] = None
|
||||
|
||||
self.capi_raw_data = CAPIDataRaw()
|
||||
logger.debug('Starting CAPI queries thread...')
|
||||
self.capi_response_queue: Queue
|
||||
self.capi_raw_data = CAPIDataRaw() # Cache of raw replies from CAPI service
|
||||
# Queue that holds requests for CAPI queries, the items should always
|
||||
# be EDMCCAPIRequest objects.
|
||||
self.capi_query_queue: Queue = Queue()
|
||||
# This queue is used to pass the result, possibly a failure, of CAPI
|
||||
# queries back to the requesting code (technically anything checking
|
||||
# this queue, but it should be either EDMarketConnector.AppWindow or
|
||||
# EDMC.py). Items may be EDMCCAPIResponse or EDMCCAPIFailedRequest.
|
||||
# NB: This is created by the caller and set using self.set_capi_response_queue().
|
||||
self.capi_response_queue: Queue
|
||||
logger.debug('Starting CAPI queries thread...')
|
||||
self.capi_query_thread = threading.Thread(
|
||||
target=self.capi_query_worker,
|
||||
daemon=True,
|
||||
@ -893,7 +900,7 @@ class Session(object):
|
||||
except Exception as e:
|
||||
self.capi_response_queue.put(
|
||||
(
|
||||
CAPIFailedRequest(
|
||||
EDMCCAPIFailedRequest(
|
||||
message=e.args,
|
||||
exception=e,
|
||||
query_time=query.query_time,
|
||||
@ -920,7 +927,7 @@ class Session(object):
|
||||
except Exception as e:
|
||||
self.capi_response_queue.put(
|
||||
(
|
||||
CAPIFailedRequest(
|
||||
EDMCCAPIFailedRequest(
|
||||
message=e.args,
|
||||
exception=e,
|
||||
query_time=query.query_time,
|
||||
|
Loading…
x
Reference in New Issue
Block a user