diff options
Diffstat (limited to '')
| -rw-r--r-- | Pipfile | 3 | ||||
| -rw-r--r-- | Pipfile.lock | 113 | ||||
| -rw-r--r-- | bot/__init__.py | 83 | ||||
| -rw-r--r-- | tox.ini | 6 | 
4 files changed, 81 insertions, 124 deletions
| @@ -6,7 +6,6 @@ name = "pypi"  [packages]  discord-py = "~=1.3.1"  aiodns = "~=2.0" -logmatic-python = "~=0.1"  aiohttp = "~=3.5"  sphinx = "~=2.2"  markdownify = "~=0.4" @@ -23,7 +22,7 @@ urllib3 = ">=1.24.2,<1.25"  [dev-packages]  coverage = "~=4.5"  flake8 = "~=3.7" -flake8-annotations = "~=1.1" +flake8-annotations = "~=2.0"  flake8-bugbear = "~=19.8"  flake8-docstrings = "~=1.4"  flake8-import-order = "~=0.18" diff --git a/Pipfile.lock b/Pipfile.lock index bf8ff47e9..633e62887 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@  {      "_meta": {          "hash": { -            "sha256": "0a0354a8cbd25b19c61b68f928493a445e737dc6447c97f4c4b52fbf72d887ac" +            "sha256": "560a5168f32bafd9e5173d49502e10aeb278fe64ed50262da29be208f4a66739"          },          "pipfile-spec": 6,          "requires": { @@ -18,11 +18,11 @@      "default": {          "aio-pika": {              "hashes": [ -                "sha256:a5837277e53755078db3a9e8c45bbca605c8ba9ecba7a02d74a7a1779f444723", -                "sha256:fa32e33b4b7d0804dcf439ae6ff24d2f0a83d1ba280ee9f555e647d71d394ff5" +                "sha256:4199122a450dffd8303b7857a9d82657bf1487fe329e489520833b40fbe92406", +                "sha256:fe85c7456e5c060bce4eb9cffab5b2c4d3c563cb72177977b3556c54c8e3aeb6"              ],              "index": "pypi", -            "version": "==6.4.1" +            "version": "==6.5.2"          },          "aiodns": {              "hashes": [ @@ -52,10 +52,10 @@          },          "aiormq": {              "hashes": [ -                "sha256:8c215a970133ab5ee7c478decac55b209af7731050f52d11439fe910fa0f9e9d", -                "sha256:9210f3389200aee7d8067f6435f4a9eff2d3a30b88beb5eaae406ccc11c0fc01" +                "sha256:286e0b0772075580466e45f98f051b9728a9316b9c36f0c14c7bc1409be375b0", +                "sha256:7ed7d6df6b57af7f8bce7d1ebcbdfc32b676192e46703e81e9e217316e56b5bd"              ], -            "version": "==3.2.0" +            "version": "==3.2.1"          },          "alabaster": {              "hashes": [ @@ -164,18 +164,18 @@          },          "fuzzywuzzy": {              "hashes": [ -                "sha256:5ac7c0b3f4658d2743aa17da53a55598144edbc5bee3c6863840636e6926f254", -                "sha256:6f49de47db00e1c71d40ad16da42284ac357936fa9b66bea1df63fed07122d62" +                "sha256:45016e92264780e58972dca1b3d939ac864b78437422beecebb3095f8efd00e8", +                "sha256:928244b28db720d1e0ee7587acf660ea49d7e4c632569cad4f1cd7e68a5f0993"              ],              "index": "pypi", -            "version": "==0.17.0" +            "version": "==0.18.0"          },          "idna": {              "hashes": [ -                "sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407", -                "sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c" +                "sha256:7588d1c14ae4c77d74036e8c22ff447b26d0fde8f007354fd48a7814db15b7cb", +                "sha256:a068a21ceac8a4d63dbfd964670474107f541babbd2250d61922f029858365fa"              ], -            "version": "==2.8" +            "version": "==2.9"          },          "imagesize": {              "hashes": [ @@ -191,13 +191,6 @@              ],              "version": "==2.11.1"          }, -        "logmatic-python": { -            "hashes": [ -                "sha256:0c15ac9f5faa6a60059b28910db642c3dc7722948c3cc940923f8c9039604342" -            ], -            "index": "pypi", -            "version": "==0.1.7" -        },          "lxml": {              "hashes": [                  "sha256:06d4e0bbb1d62e38ae6118406d7cdb4693a3fa34ee3762238bcb96c9e36a93cd", @@ -388,12 +381,6 @@              "index": "pypi",              "version": "==2.8.1"          }, -        "python-json-logger": { -            "hashes": [ -                "sha256:b7a31162f2a01965a5efb94453ce69230ed208468b0bbc7fdfc56e6d8df2e281" -            ], -            "version": "==0.1.11" -        },          "pytz": {              "hashes": [                  "sha256:1c557d7d0e871de1f5ccd5833f60fb2550652da6be2693c1e02300743d21500d", @@ -420,11 +407,11 @@          },          "requests": {              "hashes": [ -                "sha256:11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4", -                "sha256:9cf5292fcd0f598c671cfc1e0d7d1a7f13bb8085e9a590f48c010551dc6c4b31" +                "sha256:43999036bfa82904b6af1d99e4882b560e5e2c68e5c4b0aa03b655f3d7d73fee", +                "sha256:b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6"              ],              "index": "pypi", -            "version": "==2.22.0" +            "version": "==2.23.0"          },          "six": {              "hashes": [ @@ -449,11 +436,11 @@          },          "sphinx": {              "hashes": [ -                "sha256:298537cb3234578b2d954ff18c5608468229e116a9757af3b831c2b2b4819159", -                "sha256:e6e766b74f85f37a5f3e0773a1e1be8db3fcb799deb58ca6d18b70b0b44542a5" +                "sha256:525527074f2e0c2585f68f73c99b4dc257c34bbe308b27f5f8c7a6e20642742f", +                "sha256:543d39db5f82d83a5c1aa0c10c88f2b6cff2da3e711aa849b2c627b4b403bbd9"              ],              "index": "pypi", -            "version": "==2.3.1" +            "version": "==2.4.2"          },          "sphinxcontrib-applehelp": {              "hashes": [ @@ -556,6 +543,13 @@          }      },      "develop": { +        "appdirs": { +            "hashes": [ +                "sha256:9e5896d1372858f8dd3344faf4e5014d21849c756c8d5701f78f8a103b372d92", +                "sha256:d8b24664561d0d34ddfaec54636d502d7cea6e29c3eaf68f3df6180863e2166e" +            ], +            "version": "==1.4.3" +        },          "aspy.yaml": {              "hashes": [                  "sha256:463372c043f70160a9ec950c3f1e4c3a82db5fca01d334b6bc89c7164d744bdc", @@ -579,10 +573,10 @@          },          "cfgv": {              "hashes": [ -                "sha256:edb387943b665bf9c434f717bf630fa78aecd53d5900d2e05da6ad6048553144", -                "sha256:fbd93c9ab0a523bf7daec408f3be2ed99a980e20b2d19b50fc184ca6b820d289" +                "sha256:04b093b14ddf9fd4d17c53ebfd55582d27b76ed30050193c14e560770c5360eb", +                "sha256:f22b426ed59cd2ab2b54ff96608d846c33dfb8766a67f0b4a6ce130ce244414f"              ], -            "version": "==2.0.1" +            "version": "==3.0.0"          },          "chardet": {              "hashes": [ @@ -636,6 +630,12 @@              "index": "pypi",              "version": "==4.5.4"          }, +        "distlib": { +            "hashes": [ +                "sha256:2e166e231a26b36d6dfe35a48c4464346620f8645ed0ace01ee31822b288de21" +            ], +            "version": "==0.3.0" +        },          "dodgy": {              "hashes": [                  "sha256:28323cbfc9352139fdd3d316fa17f325cc0e9ac74438cbba51d70f9b48f86c3a", @@ -658,6 +658,13 @@              ],              "version": "==0.3"          }, +        "filelock": { +            "hashes": [ +                "sha256:18d82244ee114f543149c66a6e0c14e9c4f8a1044b5cdaadd0f82159d6a6ff59", +                "sha256:929b7d63ec5b7d6b71b0fa5ac14e030b3f70b75747cef1b10da9b879fef15836" +            ], +            "version": "==3.0.12" +        },          "flake8": {              "hashes": [                  "sha256:45681a117ecc81e870cbf1262835ae4af5e7a8b08e40b944a8a6e6b895914cfb", @@ -668,11 +675,11 @@          },          "flake8-annotations": {              "hashes": [ -                "sha256:05b85538014c850a86dce7374bb6621c64481c24e35e8e90af1315f4d7a3dbaa", -                "sha256:43e5233a76fda002b91a54a7cc4510f099c4bfd6279502ec70164016250eebd1" +                "sha256:19a6637a5da1bb7ea7948483ca9e2b9e15b213e687e7bf5ff8c1bfc91c185006", +                "sha256:bb033b72cdd3a2b0a530bbdf2081f12fbea7d70baeaaebb5899723a45f424b8e"              ],              "index": "pypi", -            "version": "==1.1.3" +            "version": "==2.0.0"          },          "flake8-bugbear": {              "hashes": [ @@ -700,11 +707,11 @@          },          "flake8-string-format": {              "hashes": [ -                "sha256:68ea72a1a5b75e7018cae44d14f32473c798cf73d75cbaed86c6a9a907b770b2", -                "sha256:774d56103d9242ed968897455ef49b7d6de272000cfa83de5814273a868832f1" +                "sha256:65f3da786a1461ef77fca3780b314edb2853c377f2e35069723348c8917deaa2", +                "sha256:812ff431f10576a74c89be4e85b8e075a705be39bc40c4b4278b5b13e2afa9af"              ],              "index": "pypi", -            "version": "==0.2.3" +            "version": "==0.3.0"          },          "flake8-tidy-imports": {              "hashes": [ @@ -730,10 +737,10 @@          },          "idna": {              "hashes": [ -                "sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407", -                "sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c" +                "sha256:7588d1c14ae4c77d74036e8c22ff447b26d0fde8f007354fd48a7814db15b7cb", +                "sha256:a068a21ceac8a4d63dbfd964670474107f541babbd2250d61922f029858365fa"              ], -            "version": "==2.8" +            "version": "==2.9"          },          "importlib-metadata": {              "hashes": [ @@ -818,11 +825,11 @@          },          "requests": {              "hashes": [ -                "sha256:11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4", -                "sha256:9cf5292fcd0f598c671cfc1e0d7d1a7f13bb8085e9a590f48c010551dc6c4b31" +                "sha256:43999036bfa82904b6af1d99e4882b560e5e2c68e5c4b0aa03b655f3d7d73fee", +                "sha256:b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6"              ],              "index": "pypi", -            "version": "==2.22.0" +            "version": "==2.23.0"          },          "safety": {              "hashes": [ @@ -898,17 +905,17 @@          },          "virtualenv": {              "hashes": [ -                "sha256:0d62c70883c0342d59c11d0ddac0d954d0431321a41ab20851facf2b222598f3", -                "sha256:55059a7a676e4e19498f1aad09b8313a38fcc0cdbe4fdddc0e9b06946d21b4bb" +                "sha256:08f3623597ce73b85d6854fb26608a6f39ee9d055c81178dc6583803797f8994", +                "sha256:de2cbdd5926c48d7b84e0300dea9e8f276f61d186e8e49223d71d91250fbaebd"              ], -            "version": "==16.7.9" +            "version": "==20.0.4"          },          "zipp": {              "hashes": [ -                "sha256:ccc94ed0909b58ffe34430ea5451f07bc0c76467d7081619a454bf5c98b89e28", -                "sha256:feae2f18633c32fc71f2de629bfb3bd3c9325cd4419642b1f1da42ee488d9b98" +                "sha256:12248a63bbdf7548f89cb4c7cda4681e537031eda29c02ea29674bc6854460c2", +                "sha256:7c0f8e91abc0dc07a5068f315c52cb30c66bfbc581e5b50704c8a2f6ebae794a"              ], -            "version": "==2.1.0" +            "version": "==3.0.0"          }      }  } diff --git a/bot/__init__.py b/bot/__init__.py index 789ace5c0..923ef517b 100644 --- a/bot/__init__.py +++ b/bot/__init__.py @@ -4,11 +4,8 @@ import sys  from logging import Logger, StreamHandler, handlers  from pathlib import Path -from logmatic import JsonFormatter - - -logging.TRACE = 5 -logging.addLevelName(logging.TRACE, "TRACE") +TRACE_LEVEL = logging.TRACE = 5 +logging.addLevelName(TRACE_LEVEL, "TRACE")  def monkeypatch_trace(self: logging.Logger, msg: str, *args, **kwargs) -> None: @@ -20,75 +17,29 @@ def monkeypatch_trace(self: logging.Logger, msg: str, *args, **kwargs) -> None:      logger.trace("Houston, we have an %s", "interesting problem", exc_info=1)      """ -    if self.isEnabledFor(logging.TRACE): -        self._log(logging.TRACE, msg, args, **kwargs) +    if self.isEnabledFor(TRACE_LEVEL): +        self._log(TRACE_LEVEL, msg, args, **kwargs)  Logger.trace = monkeypatch_trace -# Set up logging -logging_handlers = [] - -# We can't import this yet, so we have to define it ourselves -DEBUG_MODE = True if 'local' in os.environ.get("SITE_URL", "local") else False - -LOG_DIR = Path("logs") -LOG_DIR.mkdir(exist_ok=True) - -if DEBUG_MODE: -    logging_handlers.append(StreamHandler(stream=sys.stdout)) - -    json_handler = logging.FileHandler(filename=Path(LOG_DIR, "log.json"), mode="w") -    json_handler.formatter = JsonFormatter() -    logging_handlers.append(json_handler) -else: - -    logfile = Path(LOG_DIR, "bot.log") -    megabyte = 1048576 - -    filehandler = handlers.RotatingFileHandler(logfile, maxBytes=(megabyte*5), backupCount=7) -    logging_handlers.append(filehandler) - -    json_handler = logging.StreamHandler(stream=sys.stdout) -    json_handler.formatter = JsonFormatter() -    logging_handlers.append(json_handler) - - -logging.basicConfig( -    format="%(asctime)s Bot: | %(name)33s | %(levelname)8s | %(message)s", -    datefmt="%b %d %H:%M:%S", -    level=logging.TRACE if DEBUG_MODE else logging.INFO, -    handlers=logging_handlers -) - -log = logging.getLogger(__name__) - - -for key, value in logging.Logger.manager.loggerDict.items(): -    # Force all existing loggers to the correct level and handlers -    # This happens long before we instantiate our loggers, so -    # those should still have the expected level - -    if key == "bot": -        continue - -    if not isinstance(value, logging.Logger): -        # There might be some logging.PlaceHolder objects in there -        continue +DEBUG_MODE = 'local' in os.environ.get("SITE_URL", "local") -    if DEBUG_MODE: -        value.setLevel(logging.DEBUG) -    else: -        value.setLevel(logging.INFO) +log_format = logging.Formatter("%(asctime)s | %(name)s | %(levelname)s | %(message)s") -    for handler in value.handlers.copy(): -        value.removeHandler(handler) +stream_handler = StreamHandler(stream=sys.stdout) +stream_handler.setFormatter(log_format) -    for handler in logging_handlers: -        value.addHandler(handler) +log_file = Path("logs", "bot.log") +log_file.parent.mkdir(exist_ok=True) +file_handler = handlers.RotatingFileHandler(log_file, maxBytes=5242880, backupCount=7) +file_handler.setFormatter(log_format) +root_log = logging.getLogger() +root_log.setLevel(TRACE_LEVEL if DEBUG_MODE else logging.INFO) +root_log.addHandler(stream_handler) +root_log.addHandler(file_handler) -# Silence irrelevant loggers -logging.getLogger("aio_pika").setLevel(logging.ERROR)  logging.getLogger("discord").setLevel(logging.ERROR)  logging.getLogger("websockets").setLevel(logging.ERROR) +logging.getLogger(__name__).setLevel(TRACE_LEVEL) @@ -3,7 +3,7 @@ max-line-length=120  docstring-convention=all  import-order-style=pycharm  application_import_names=bot,tests -exclude=.cache,.venv,constants.py +exclude=.cache,.venv,.git,constants.py  ignore=      B311,W503,E226,S311,T000      # Missing Docstrings @@ -15,5 +15,5 @@ ignore=      # Docstring Content      D400,D401,D402,D404,D405,D406,D407,D408,D409,D410,D411,D412,D413,D414,D416,D417      # Type Annotations -    TYP002,TYP003,TYP101,TYP102,TYP204,TYP206 -per-file-ignores=tests/*:D,TYP +    ANN002,ANN003,ANN101,ANN102,ANN204,ANN206 +per-file-ignores=tests/*:D,ANN | 
