1
0
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:
Athanasius 2021-08-25 11:42:53 +01:00
parent 0456996cdd
commit 69d0d03b9b
No known key found for this signature in database
GPG Key ID: AE3E527847057C7D
3 changed files with 16 additions and 9 deletions

View File

@ -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

View File

@ -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

View File

@ -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,