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:])