48 lines
1.4 KiB
Python
48 lines
1.4 KiB
Python
import sys
|
|
import json
|
|
import logging
|
|
|
|
from random import randint
|
|
|
|
from network.enums import types as TYPE
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# public
|
|
config = None
|
|
server = None
|
|
challenge_short = None
|
|
|
|
# ---------------------------------------------------------------------------
|
|
|
|
with open("config.json", "r") as f:
|
|
config = json.load(f)
|
|
|
|
# fix for logging level
|
|
default_logging_fallback = False
|
|
if type(config["logging"]["level"]) is not int:
|
|
try:
|
|
config["logging"]["level"] = getattr(logging, config["logging"]["level"])
|
|
except:
|
|
config["logging"]["level"] = logging.INFO
|
|
default_logging_fallback = True
|
|
|
|
# Setup logging settings
|
|
logging_handlers = [logging.StreamHandler(sys.stdout)]
|
|
if len(config["logging"]["filename"]):
|
|
logging_handlers.append(logging.FileHandler(config["logging"]["filename"]))
|
|
del config["logging"]["filename"]
|
|
logging.basicConfig(**config["logging"], handlers = logging_handlers)
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
logger.debug("glob.configured logger")
|
|
|
|
if default_logging_fallback:
|
|
logger.warning("Invalid logging value in config! Defaulting to logging level INFO.")
|
|
logger.info("Logging level: %d" % config["logging"]["level"])
|
|
|
|
|
|
# ---------------------------------------------
|
|
challenge_short = randint(0, TYPE.MAX_USHORT)
|
|
logger.debug("Client challenge set to: %s" % ("0x" if challenge_short & 0x1000 else "0x0") + hex(challenge_short)[2:])
|