This repository has been archived on 2020-03-29. You can view files and clone it, but cannot push or open issues or pull requests.
sampy_archive/objects/glob.py
2019-12-14 20:08:34 +01:00

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