Skip to content

Commit 366b6e4

Browse files
committed
Refactor application_args access to access it from a class scope
1 parent 3e55716 commit 366b6e4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+338
-316
lines changed

.github/workflows/tox_testing.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
strategy:
1313
max-parallel: 5
1414
matrix:
15-
python-version: ["3.8", "3.9", "3.10"]
15+
python-version: ["3.9", "3.10", "3.11"]
1616

1717
steps:
1818
- uses: actions/checkout@v1

mapadroid/data_handler/StandaloneMitmMapperAndStatsHandler.py

+10-6
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
import asyncio
22
from datetime import datetime
3-
from typing import Optional, List, Dict, Union
3+
from typing import Dict, List, Optional, Union
44

5-
from mapadroid.data_handler.mitm_data.AbstractMitmMapper import AbstractMitmMapper
5+
from mapadroid.data_handler.mitm_data.AbstractMitmMapper import \
6+
AbstractMitmMapper
7+
from mapadroid.data_handler.mitm_data.holder.latest_mitm_data.LatestMitmDataEntry import \
8+
LatestMitmDataEntry
69
from mapadroid.data_handler.mitm_data.MitmDataHandler import MitmDataHandler
7-
from mapadroid.data_handler.mitm_data.holder.latest_mitm_data.LatestMitmDataEntry import LatestMitmDataEntry
8-
from mapadroid.data_handler.stats.AbstractStatsHandler import AbstractStatsHandler
10+
from mapadroid.data_handler.stats.AbstractStatsHandler import \
11+
AbstractStatsHandler
912
from mapadroid.data_handler.stats.StatsHandler import StatsHandler
1013
from mapadroid.db.DbWrapper import DbWrapper
1114
from mapadroid.utils.collections import Location
12-
from mapadroid.utils.madGlobals import PositionType, TransportType, MonSeenTypes, application_args
15+
from mapadroid.utils.madGlobals import (MadGlobals, MonSeenTypes, PositionType,
16+
TransportType)
1317
from mapadroid.worker.WorkerType import WorkerType
1418

1519

@@ -19,7 +23,7 @@ def __init__(self, db_wrapper: DbWrapper):
1923
self.__init_handlers()
2024

2125
def __init_handlers(self):
22-
if application_args.game_stats:
26+
if MadGlobals.application_args.game_stats:
2327
self.__stats_handler: Optional[StatsHandler] = StatsHandler(self.__db_wrapper)
2428
else:
2529
self.__stats_handler: Optional[StatsHandler] = None

mapadroid/data_handler/grpc/MitmMapperClientConnector.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
from grpc._cython.cygrpc import CompressionAlgorithm, CompressionLevel
55

66
from mapadroid.data_handler.grpc.MitmMapperClient import MitmMapperClient
7-
from mapadroid.utils.logging import get_logger, LoggerEnums
8-
from mapadroid.utils.madGlobals import application_args
7+
from mapadroid.utils.logging import LoggerEnums, get_logger
8+
from mapadroid.utils.madGlobals import MadGlobals
99

1010
logger = get_logger(LoggerEnums.mitm_mapper)
1111

@@ -18,12 +18,12 @@ async def start(self):
1818
max_message_length = 100 * 1024 * 1024
1919
options = [('grpc.max_message_length', max_message_length),
2020
('grpc.max_receive_message_length', max_message_length)]
21-
if application_args.mitmmapper_compression:
21+
if MadGlobals.application_args.mitmmapper_compression:
2222
options.extend([('grpc.default_compression_algorithm', CompressionAlgorithm.gzip),
2323
('grpc.grpc.default_compression_level', CompressionLevel.medium)])
24-
address = f'{application_args.mitmmapper_ip}:{application_args.mitmmapper_port}'
24+
address = f'{MadGlobals.application_args.mitmmapper_ip}:{MadGlobals.application_args.mitmmapper_port}'
2525

26-
if application_args.mitmmapper_tls_cert_file:
26+
if MadGlobals.application_args.mitmmapper_tls_cert_file:
2727
await self.__setup_secure_channel(address, options)
2828
else:
2929
await self.__setup_insecure_channel(address, options)
@@ -33,7 +33,7 @@ async def __setup_insecure_channel(self, address, options):
3333
self._channel = grpc.aio.insecure_channel(address, options=options)
3434

3535
async def __setup_secure_channel(self, address, options):
36-
with open(application_args.mitmmapper_tls_cert_file, 'r') as certfile:
36+
with open(MadGlobals.application_args.mitmmapper_tls_cert_file, 'r') as certfile:
3737
cert = certfile.read()
3838
credentials = grpc.ssl_channel_credentials(cert)
3939
self._channel = grpc.aio.secure_channel(address, credentials=credentials, options=options)

mapadroid/data_handler/grpc/MitmMapperServer.py

+11-11
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
11
import asyncio
2-
from typing import Optional, List
2+
from typing import List, Optional
33

44
import grpc
55
from google.protobuf import json_format
66
from grpc._cython.cygrpc import CompressionAlgorithm, CompressionLevel
77

8-
from mapadroid.data_handler.mitm_data.MitmMapper import MitmMapper
98
from mapadroid.data_handler.mitm_data.holder.latest_mitm_data.LatestMitmDataEntry import \
109
LatestMitmDataEntry
10+
from mapadroid.data_handler.mitm_data.MitmMapper import MitmMapper
1111
from mapadroid.grpc.compiled.mitm_mapper import mitm_mapper_pb2
1212
from mapadroid.grpc.compiled.mitm_mapper.mitm_mapper_pb2 import (
13-
InjectedRequest, InjectionStatus,
13+
GetQuestsHeldResponse, InjectedRequest, InjectionStatus,
1414
LastKnownLocationResponse, LastMoved, LatestMitmDataEntryRequest,
1515
LatestMitmDataEntryResponse, LatestMitmDataEntryUpdateRequest,
16-
LevelResponse, PokestopVisitsResponse,
17-
SetLevelRequest, SetPokestopVisitsRequest, SetQuestsHeldRequest, GetQuestsHeldResponse)
16+
LevelResponse, PokestopVisitsResponse, SetLevelRequest,
17+
SetPokestopVisitsRequest, SetQuestsHeldRequest)
1818
from mapadroid.grpc.compiled.shared.Ack_pb2 import Ack
1919
from mapadroid.grpc.compiled.shared.Worker_pb2 import Worker
2020
from mapadroid.grpc.stubs.mitm_mapper.mitm_mapper_pb2_grpc import (
2121
MitmMapperServicer, add_MitmMapperServicer_to_server)
2222
from mapadroid.utils.collections import Location
2323
from mapadroid.utils.logging import LoggerEnums, get_logger
24-
from mapadroid.utils.madGlobals import (application_args)
24+
from mapadroid.utils.madGlobals import MadGlobals
2525

2626
logger = get_logger(LoggerEnums.mitm_mapper)
2727

@@ -35,14 +35,14 @@ async def start(self):
3535
max_message_length = 100 * 1024 * 1024
3636
options = [('grpc.max_message_length', max_message_length),
3737
('grpc.max_receive_message_length', max_message_length)]
38-
if application_args.mitmmapper_compression:
38+
if MadGlobals.application_args.mitmmapper_compression:
3939
options.extend([('grpc.default_compression_algorithm', CompressionAlgorithm.gzip),
4040
('grpc.grpc.default_compression_level', CompressionLevel.medium)])
4141
self.__server = grpc.aio.server(options=options)
4242
add_MitmMapperServicer_to_server(self, self.__server)
43-
address = f'{application_args.mitmmapper_ip}:{application_args.mitmmapper_port}'
43+
address = f'{MadGlobals.application_args.mitmmapper_ip}:{MadGlobals.application_args.mitmmapper_port}'
4444

45-
if application_args.mitmmapper_tls_cert_file and application_args.mitmmapper_tls_private_key_file:
45+
if MadGlobals.application_args.mitmmapper_tls_cert_file and MadGlobals.application_args.mitmmapper_tls_private_key_file:
4646
await self.__secure_port(address)
4747
else:
4848
await self.__insecure_port(address)
@@ -52,8 +52,8 @@ async def start(self):
5252
await self.__server.start()
5353

5454
async def __secure_port(self, address):
55-
with open(application_args.mitmmapper_tls_private_key_file, 'r') as keyfile, open(
56-
application_args.mitmmapper_tls_cert_file, 'r') as certfile:
55+
with open(MadGlobals.application_args.mitmmapper_tls_private_key_file, 'r') as keyfile, open(
56+
MadGlobals.application_args.mitmmapper_tls_cert_file, 'r') as certfile:
5757
private_key = keyfile.read()
5858
certificate_chain = certfile.read()
5959
credentials = grpc.ssl_server_credentials(

mapadroid/data_handler/grpc/StatsHandlerClientConnector.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
from grpc._cython.cygrpc import CompressionAlgorithm, CompressionLevel
55

66
from mapadroid.data_handler.grpc.StatsHandlerClient import StatsHandlerClient
7-
from mapadroid.utils.logging import get_logger, LoggerEnums
8-
from mapadroid.utils.madGlobals import application_args
7+
from mapadroid.utils.logging import LoggerEnums, get_logger
8+
from mapadroid.utils.madGlobals import MadGlobals
99

1010
logger = get_logger(LoggerEnums.stats_handler)
1111

@@ -19,12 +19,12 @@ async def start(self):
1919
options = [('grpc.max_message_length', max_message_length),
2020
('grpc.max_receive_message_length', max_message_length)]
2121
# TODO: add args
22-
if application_args.statshandler_compression:
22+
if MadGlobals.application_args.statshandler_compression:
2323
options.extend([('grpc.default_compression_algorithm', CompressionAlgorithm.gzip),
2424
('grpc.grpc.default_compression_level', CompressionLevel.medium)])
25-
address = f'{application_args.statshandler_ip}:{application_args.statshandler_port}'
25+
address = f'{MadGlobals.application_args.statshandler_ip}:{MadGlobals.application_args.statshandler_port}'
2626

27-
if application_args.statshandler_tls_cert_file:
27+
if MadGlobals.application_args.statshandler_tls_cert_file:
2828
await self.__setup_secure_channel(address, options)
2929
else:
3030
await self.__setup_insecure_channel(address, options)
@@ -34,7 +34,7 @@ async def __setup_insecure_channel(self, address, options):
3434
self._channel = grpc.aio.insecure_channel(address, options=options)
3535

3636
async def __setup_secure_channel(self, address, options):
37-
with open(application_args.statshandler_tls_cert_file, 'r') as certfile:
37+
with open(MadGlobals.application_args.statshandler_tls_cert_file, 'r') as certfile:
3838
cert = certfile.read()
3939
credentials = grpc.ssl_channel_credentials(cert)
4040
self._channel = grpc.aio.secure_channel(address, credentials=credentials, options=options)

mapadroid/data_handler/grpc/StatsHandlerServer.py

+9-8
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@
99
from mapadroid.grpc.compiled.stats_handler.stats_handler_pb2 import Stats
1010
from mapadroid.grpc.stubs.stats_handler.stats_handler_pb2_grpc import (
1111
StatsHandlerServicer, add_StatsHandlerServicer_to_server)
12-
from mapadroid.utils.DatetimeWrapper import DatetimeWrapper
1312
from mapadroid.utils.collections import Location
13+
from mapadroid.utils.DatetimeWrapper import DatetimeWrapper
1414
from mapadroid.utils.logging import LoggerEnums, get_logger
15-
from mapadroid.utils.madGlobals import (MonSeenTypes, PositionType,
16-
TransportType, application_args)
15+
from mapadroid.utils.madGlobals import (MadGlobals, MonSeenTypes, PositionType,
16+
TransportType)
1717
from mapadroid.worker.WorkerType import WorkerType
1818

1919
logger = get_logger(LoggerEnums.stats_handler)
@@ -29,14 +29,15 @@ async def start(self):
2929
max_message_length = 100 * 1024 * 1024
3030
options = [('grpc.max_message_length', max_message_length),
3131
('grpc.max_receive_message_length', max_message_length)]
32-
if application_args.statshandler_compression:
32+
if MadGlobals.application_args.statshandler_compression:
3333
options.extend([('grpc.default_compression_algorithm', CompressionAlgorithm.gzip),
3434
('grpc.grpc.default_compression_level', CompressionLevel.medium)])
3535
self.__server = grpc.aio.server(options=options)
3636
add_StatsHandlerServicer_to_server(self, self.__server)
37-
address = f'{application_args.statshandler_ip}:{application_args.statshandler_port}'
37+
address = f'{MadGlobals.application_args.statshandler_ip}:{MadGlobals.application_args.statshandler_port}'
3838

39-
if application_args.statshandler_tls_cert_file and application_args.statshandler_tls_private_key_file:
39+
if MadGlobals.application_args.statshandler_tls_cert_file \
40+
and MadGlobals.application_args.statshandler_tls_private_key_file:
4041
await self.__secure_port(address)
4142
else:
4243
await self.__insecure_port(address)
@@ -46,8 +47,8 @@ async def start(self):
4647
await self.__server.start()
4748

4849
async def __secure_port(self, address):
49-
with open(application_args.statshandler_tls_private_key_file, 'r') as keyfile, open(
50-
application_args.statshandler_tls_cert_file, 'r') as certfile:
50+
with open(MadGlobals.application_args.statshandler_tls_private_key_file, 'r') as keyfile, open(
51+
MadGlobals.application_args.statshandler_tls_cert_file, 'r') as certfile:
5152
private_key = keyfile.read()
5253
certificate_chain = certfile.read()
5354
credentials = grpc.ssl_server_credentials(

mapadroid/data_handler/stats/PlayerStats.py

+13-8
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,19 @@
33

44
from sqlalchemy.ext.asyncio import AsyncSession
55

6-
from mapadroid.data_handler.stats.holder.AbstractStatsHolder import AbstractStatsHolder
7-
from mapadroid.data_handler.stats.holder.stats_detect.StatsDetectHolder import StatsDetectHolder
8-
from mapadroid.data_handler.stats.holder.stats_location.StatsLocationHolder import StatsLocationHolder
9-
from mapadroid.data_handler.stats.holder.stats_location_raw.StatsLocationRawHolder import StatsLocationRawHolder
10-
from mapadroid.data_handler.stats.holder.wild_mon_stats.WildMonStatsHolder import WildMonStatsHolder
6+
from mapadroid.data_handler.stats.holder.AbstractStatsHolder import \
7+
AbstractStatsHolder
8+
from mapadroid.data_handler.stats.holder.stats_detect.StatsDetectHolder import \
9+
StatsDetectHolder
10+
from mapadroid.data_handler.stats.holder.stats_location.StatsLocationHolder import \
11+
StatsLocationHolder
12+
from mapadroid.data_handler.stats.holder.stats_location_raw.StatsLocationRawHolder import \
13+
StatsLocationRawHolder
14+
from mapadroid.data_handler.stats.holder.wild_mon_stats.WildMonStatsHolder import \
15+
WildMonStatsHolder
1116
from mapadroid.utils.collections import Location
1217
from mapadroid.utils.logging import LoggerEnums, get_logger
13-
from mapadroid.utils.madGlobals import PositionType, TransportType, application_args
18+
from mapadroid.utils.madGlobals import MadGlobals, PositionType, TransportType
1419
from mapadroid.worker.WorkerType import WorkerType
1520

1621
logger = get_logger(LoggerEnums.stats_handler)
@@ -26,15 +31,15 @@ def __init__(self, origin: str):
2631
def __init_holders(self):
2732
self._stats_detect_holder: StatsDetectHolder = StatsDetectHolder(self._worker)
2833
self._stats_location_holder: StatsLocationHolder = StatsLocationHolder(self._worker)
29-
if application_args.game_stats_raw:
34+
if MadGlobals.application_args.game_stats_raw:
3035
self._wild_mon_stats_holder: WildMonStatsHolder = WildMonStatsHolder(self._worker)
3136
self._stats_location_raw_holder: StatsLocationRawHolder = StatsLocationRawHolder(self._worker)
3237

3338
async def submit(self, session: AsyncSession) -> None:
3439
holders_to_submit: List[AbstractStatsHolder] = [self._stats_detect_holder, self._stats_location_holder]
3540
if self._wild_mon_stats_holder:
3641
holders_to_submit.append(self._wild_mon_stats_holder)
37-
if application_args.game_stats_raw:
42+
if MadGlobals.application_args.game_stats_raw:
3843
holders_to_submit.append(self._stats_location_raw_holder)
3944
del self._stats_location_holder
4045
del self._stats_detect_holder

mapadroid/data_handler/stats/StatsHandler.py

+17-11
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,25 @@
66

77
from sqlalchemy.ext.asyncio import AsyncSession
88

9-
from mapadroid.data_handler.stats.AbstractStatsHandler import AbstractStatsHandler
9+
from mapadroid.data_handler.stats.AbstractStatsHandler import \
10+
AbstractStatsHandler
11+
from mapadroid.data_handler.stats.holder.AbstractStatsHolder import \
12+
AbstractStatsHolder
13+
from mapadroid.data_handler.stats.holder.stats_detect_seen.StatsDetectSeenTypeHolder import \
14+
StatsDetectSeenTypeHolder
1015
from mapadroid.data_handler.stats.PlayerStats import PlayerStats
11-
from mapadroid.data_handler.stats.holder.AbstractStatsHolder import AbstractStatsHolder
12-
from mapadroid.data_handler.stats.holder.stats_detect_seen.StatsDetectSeenTypeHolder import StatsDetectSeenTypeHolder
1316
from mapadroid.db.DbWrapper import DbWrapper
1417
from mapadroid.db.helper.TrsStatsDetectHelper import TrsStatsDetectHelper
15-
from mapadroid.db.helper.TrsStatsDetectWildMonRawHelper import TrsStatsDetectWildMonRawHelper
18+
from mapadroid.db.helper.TrsStatsDetectWildMonRawHelper import \
19+
TrsStatsDetectWildMonRawHelper
1620
from mapadroid.db.helper.TrsStatsLocationHelper import TrsStatsLocationHelper
17-
from mapadroid.db.helper.TrsStatsLocationRawHelper import TrsStatsLocationRawHelper
18-
from mapadroid.utils.DatetimeWrapper import DatetimeWrapper
21+
from mapadroid.db.helper.TrsStatsLocationRawHelper import \
22+
TrsStatsLocationRawHelper
1923
from mapadroid.utils.collections import Location
20-
from mapadroid.utils.logging import get_logger, LoggerEnums
21-
from mapadroid.utils.madGlobals import TransportType, PositionType, MonSeenTypes, application_args
24+
from mapadroid.utils.DatetimeWrapper import DatetimeWrapper
25+
from mapadroid.utils.logging import LoggerEnums, get_logger
26+
from mapadroid.utils.madGlobals import (MadGlobals, MonSeenTypes, PositionType,
27+
TransportType)
2228
from mapadroid.worker.WorkerType import WorkerType
2329

2430
logger = get_logger(LoggerEnums.stats_handler)
@@ -49,7 +55,7 @@ async def stop(self):
4955

5056
def __init_stats_holders(self) -> None:
5157
self.__worker_stats: Dict[str, PlayerStats] = {}
52-
if application_args.game_stats_mon_seen:
58+
if MadGlobals.application_args.game_stats_mon_seen:
5359
self.__stats_detect_seen_type_holder: Optional[StatsDetectSeenTypeHolder] = StatsDetectSeenTypeHolder()
5460

5561
def __ensure_player_stat(self, worker: str) -> PlayerStats:
@@ -94,7 +100,7 @@ async def stats_collect_seen_type(self, encounter_ids: List[int], type_of_detect
94100
self.__stats_detect_seen_type_holder.add(encounter_id, type_of_detection, time_of_scan)
95101

96102
async def __stats_submission_loop(self):
97-
repetition_duration: int = application_args.game_stats_save_time if application_args.game_stats_save_time > 15 else 300
103+
repetition_duration: int = MadGlobals.application_args.game_stats_save_time if MadGlobals.application_args.game_stats_save_time > 15 else 300
98104
while True:
99105
await asyncio.sleep(repetition_duration)
100106
await self.__run_stats_processing()
@@ -129,6 +135,6 @@ async def __cleanup_stats(self, session: AsyncSession) -> None:
129135
# TODO: Cleanup seen stuff...
130136
await TrsStatsDetectHelper.cleanup(session, delete_before_timestamp)
131137
await TrsStatsDetectWildMonRawHelper.cleanup(session, DatetimeWrapper.fromtimestamp(delete_before_timestamp),
132-
raw_delete_shiny_days=int(application_args.raw_delete_shiny))
138+
raw_delete_shiny_days=int(MadGlobals.application_args.raw_delete_shiny))
133139
await TrsStatsLocationHelper.cleanup(session, delete_before_timestamp)
134140
await TrsStatsLocationRawHelper.cleanup(session, delete_before_timestamp)

0 commit comments

Comments
 (0)