mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-10 08:38:32 +02:00
Add type-checking
plugin to linting checks (#1629)
* add type-checking plugin for flakeheaven * update lock file * fix type-checking issues in current codebase * run linters
This commit is contained in:
parent
cb7e0ed289
commit
c1eb0c54a3
5 changed files with 45 additions and 8 deletions
|
@ -1,14 +1,18 @@
|
|||
# Copyright © 2012-2022 jrnl contributors
|
||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
from jrnl.messages import Message
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from jrnl.output import print_msg
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from jrnl.messages import Message
|
||||
|
||||
|
||||
class JrnlException(Exception):
|
||||
"""Common exceptions raised by jrnl."""
|
||||
|
||||
def __init__(self, *messages: Message):
|
||||
def __init__(self, *messages: "Message"):
|
||||
self.messages = messages
|
||||
|
||||
def print(self) -> None:
|
||||
|
|
|
@ -1,14 +1,17 @@
|
|||
# Copyright © 2012-2022 jrnl contributors
|
||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
from typing import TYPE_CHECKING
|
||||
from typing import Mapping
|
||||
from typing import NamedTuple
|
||||
|
||||
from jrnl.messages.MsgStyle import MsgStyle
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from jrnl.messages.MsgText import MsgText
|
||||
|
||||
|
||||
class Message(NamedTuple):
|
||||
text: MsgText
|
||||
text: "MsgText"
|
||||
style: MsgStyle = MsgStyle.NORMAL
|
||||
params: Mapping = {}
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
# Copyright © 2012-2022 jrnl contributors
|
||||
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
from argparse import Namespace
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from jrnl.config import make_yaml_valid_dict
|
||||
from jrnl.config import update_config
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from argparse import Namespace
|
||||
|
||||
# import logging
|
||||
def apply_overrides(args: Namespace, base_config: dict) -> dict:
|
||||
def apply_overrides(args: "Namespace", base_config: dict) -> dict:
|
||||
"""Unpack CLI provided overrides into the configuration tree.
|
||||
|
||||
:param overrides: List of configuration key-value pairs collected from the CLI
|
||||
|
|
30
poetry.lock
generated
30
poetry.lock
generated
|
@ -112,6 +112,14 @@ python-versions = ">=3.6.0"
|
|||
[package.extras]
|
||||
unicode-backport = ["unicodedata2"]
|
||||
|
||||
[[package]]
|
||||
name = "classify-imports"
|
||||
version = "4.2.0"
|
||||
description = "Utilities for refactoring imports in python-like syntax."
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
|
||||
[[package]]
|
||||
name = "click"
|
||||
version = "8.1.3"
|
||||
|
@ -257,6 +265,18 @@ isort = ">=4.3.5,<6"
|
|||
[package.extras]
|
||||
test = ["pytest"]
|
||||
|
||||
[[package]]
|
||||
name = "flake8-type-checking"
|
||||
version = "2.2.0"
|
||||
description = "A flake8 plugin for managing type-checking imports & forward references"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
|
||||
[package.dependencies]
|
||||
classify-imports = "*"
|
||||
flake8 = "*"
|
||||
|
||||
[[package]]
|
||||
name = "flakeheaven"
|
||||
version = "3.2.0"
|
||||
|
@ -1158,7 +1178,7 @@ testing = ["func-timeout", "jaraco.itertools", "pytest (>=6)", "pytest-black (>=
|
|||
[metadata]
|
||||
lock-version = "1.1"
|
||||
python-versions = ">=3.10.0, <3.13"
|
||||
content-hash = "13e2102b7ddeb9ac4f1f2fddcfa6275d565c3eec9fa8da1b4657a02e20f900c9"
|
||||
content-hash = "63f39baa62c8641eb6329472de340a9f06d9ffea3096a4095e90f98ce2986f91"
|
||||
|
||||
[metadata.files]
|
||||
ansiwrap = [
|
||||
|
@ -1283,6 +1303,10 @@ charset-normalizer = [
|
|||
{file = "charset-normalizer-2.1.0.tar.gz", hash = "sha256:575e708016ff3a5e3681541cb9d79312c416835686d054a23accb873b254f413"},
|
||||
{file = "charset_normalizer-2.1.0-py3-none-any.whl", hash = "sha256:5189b6f22b01957427f35b6a08d9a0bc45b46d3788ef5a92e978433c7a35f8a5"},
|
||||
]
|
||||
classify-imports = [
|
||||
{file = "classify_imports-4.2.0-py2.py3-none-any.whl", hash = "sha256:dbbc264b70a470ed8c6c95976a11dfb8b7f63df44ed1af87328bbed2663f5161"},
|
||||
{file = "classify_imports-4.2.0.tar.gz", hash = "sha256:7abfb7ea92149b29d046bd34573d247ba6e68cc28100c801eba4af17964fc40e"},
|
||||
]
|
||||
click = [
|
||||
{file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"},
|
||||
{file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"},
|
||||
|
@ -1355,6 +1379,10 @@ flake8-isort = [
|
|||
{file = "flake8-isort-5.0.0.tar.gz", hash = "sha256:e336f928c7edc509684930ab124414194b7f4e237c712af8fcbdf49d8747b10c"},
|
||||
{file = "flake8_isort-5.0.0-py3-none-any.whl", hash = "sha256:c73f9cbd1bf209887f602a27b827164ccfeba1676801b2aa23cb49051a1be79c"},
|
||||
]
|
||||
flake8-type-checking = [
|
||||
{file = "flake8_type_checking-2.2.0-py3-none-any.whl", hash = "sha256:c7d9d7adc6cd635a5a1a7859e5e0140f4f8f1705982a22db45872dd9acd49753"},
|
||||
{file = "flake8_type_checking-2.2.0.tar.gz", hash = "sha256:f7972fc9102f3f632ace1f4b1c5c20b900b8b7b529f04bb6c1fe0a11801e9658"},
|
||||
]
|
||||
flakeheaven = [
|
||||
{file = "flakeheaven-3.2.0-py3-none-any.whl", hash = "sha256:ec5a508c3db64d73128b65cb2a5a2c0a2d9f2e4b435e9fa2bcc03bf0df86da79"},
|
||||
{file = "flakeheaven-3.2.0.tar.gz", hash = "sha256:225333d7bf309079f19a2c5f02d427fc7558a0d0c065944de88041ca94f5525c"},
|
||||
|
|
|
@ -47,6 +47,7 @@ black = { version = ">=21.5b2", allow-prereleases = true }
|
|||
flakeheaven = ">=3.0"
|
||||
flake8-black = ">=0.3.3"
|
||||
flake8-isort = ">=5.0.0"
|
||||
flake8-type-checking = ">=2.2.0"
|
||||
ipdb = "*"
|
||||
isort = ">=5.10"
|
||||
mkdocs = ">=1.0,<1.3"
|
||||
|
|
Loading…
Add table
Reference in a new issue