From 8f7184c78132f3118ab75cc55b6ad50d728905bf Mon Sep 17 00:00:00 2001 From: Ben Boger Date: Fri, 22 Sep 2023 16:08:04 -0600 Subject: [PATCH] updating pylint and cleaning up errors from newer version --- .pylint-license-header | 2 +- .pylintrc | 77 ++-------------------------------- .python-version | 2 +- README.rst | 3 -- dysql/databases.py | 1 + dysql/pydantic_mappers.py | 2 +- dysql/test/test_annotations.py | 6 +-- test_requirements.txt | 2 +- 8 files changed, 11 insertions(+), 84 deletions(-) diff --git a/.pylint-license-header b/.pylint-license-header index 318035e..4c1eb0c 100644 --- a/.pylint-license-header +++ b/.pylint-license-header @@ -1,5 +1,5 @@ """ -Copyright 2023 Adobe +Copyright 202\d Adobe All Rights Reserved. NOTICE: Adobe permits you to use, modify, and distribute this file in accordance diff --git a/.pylintrc b/.pylintrc index 6928958..35582a9 100644 --- a/.pylintrc +++ b/.pylintrc @@ -64,17 +64,7 @@ confidence= # --enable=similarities". If you want to run only the classes checker, but have # no Warning level messages displayed, use "--disable=all --enable=classes # --disable=W". -disable=print-statement, - parameter-unpacking, - unpacking-in-except, - old-raise-syntax, - backtick, - long-suffix, - old-ne-operator, - old-octal-literal, - import-star-module-level, - non-ascii-bytes-literal, - raw-checker-failed, +disable=raw-checker-failed, bad-inline-option, locally-disabled, file-ignored, @@ -82,67 +72,6 @@ disable=print-statement, useless-suppression, deprecated-pragma, use-symbolic-message-instead, - apply-builtin, - basestring-builtin, - buffer-builtin, - cmp-builtin, - coerce-builtin, - execfile-builtin, - file-builtin, - long-builtin, - raw_input-builtin, - reduce-builtin, - standarderror-builtin, - unicode-builtin, - xrange-builtin, - coerce-method, - delslice-method, - getslice-method, - setslice-method, - no-absolute-import, - old-division, - dict-iter-method, - dict-view-method, - next-method-called, - metaclass-assignment, - indexing-exception, - raising-string, - reload-builtin, - oct-method, - hex-method, - nonzero-method, - cmp-method, - input-builtin, - round-builtin, - intern-builtin, - unichr-builtin, - map-builtin-not-iterating, - zip-builtin-not-iterating, - range-builtin-not-iterating, - filter-builtin-not-iterating, - using-cmp-argument, - eq-without-hash, - div-method, - idiv-method, - rdiv-method, - exception-message-attribute, - invalid-str-codec, - sys-max-int, - bad-python3-import, - deprecated-string-function, - deprecated-str-translate-call, - deprecated-itertools-function, - deprecated-types-field, - next-method-defined, - dict-items-not-iterating, - dict-keys-not-iterating, - dict-values-not-iterating, - deprecated-operator-function, - deprecated-urllib-function, - xreadlines-attribute, - deprecated-sys-function, - exception-escape, - comprehension-escape, logging-fstring-interpolation, missing-module-docstring, missing-class-docstring, @@ -593,5 +522,5 @@ min-public-methods=2 # Exceptions that will emit a warning when being caught. Defaults to # "BaseException, Exception". -overgeneral-exceptions=BaseException, - Exception +overgeneral-exceptions=buildins.BaseException, + buildins.Exception diff --git a/.python-version b/.python-version index 0b2eb36..afad818 100644 --- a/.python-version +++ b/.python-version @@ -1 +1 @@ -3.7.2 +3.11.0 diff --git a/README.rst b/README.rst index 96bfa50..1c7cd16 100644 --- a/README.rst +++ b/README.rst @@ -275,9 +275,6 @@ mapping. These annotations are not required, but may be helpful in some cases. # This annotation will convert the string into a list of strings or None if the string is null or empty list_from_string_nullable: FromCSVToList[List[str] | None] - # if using python < 3.9, you can use typing.Union instead of the pipe operator - # list_from_string_nullable: FromCSVToList[Union[List[str],None]] - @sqlquery ~~~~~~~~~ diff --git a/dysql/databases.py b/dysql/databases.py index ee36bb7..7276855 100644 --- a/dysql/databases.py +++ b/dysql/databases.py @@ -185,6 +185,7 @@ def current_database(self) -> Database: """ The current database instance, retrieved using contextvars (if python 3.7+) or the default database. """ + # pylint: disable=unnecessary-dunder-call return self.__getitem__(_get_current_database()) diff --git a/dysql/pydantic_mappers.py b/dysql/pydantic_mappers.py index 2268992..c6e89e1 100644 --- a/dysql/pydantic_mappers.py +++ b/dysql/pydantic_mappers.py @@ -138,7 +138,7 @@ def map_record(self, record: sqlalchemy.engine.Row) -> None: self.__dict__.update(current_dict) else: # Init takes care of validation and assigning values to each field with conversions in place, etc - self.__init__(**current_dict) + self.__init__(**current_dict) # pylint: disable=unnecessary-dunder-call def raw(self) -> dict: return self.model_dump() diff --git a/dysql/test/test_annotations.py b/dysql/test/test_annotations.py index 03a75a1..cfc99e8 100644 --- a/dysql/test/test_annotations.py +++ b/dysql/test/test_annotations.py @@ -5,7 +5,7 @@ NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms of the Adobe license agreement accompanying it. """ -from typing import List, Union +from typing import List import pytest from pydantic import BaseModel, ValidationError @@ -22,11 +22,11 @@ class IntCSVModel(BaseModel): class NullableStrCSVModel(BaseModel): - values: FromCSVToList[Union[List[str], None]] + values: FromCSVToList[List[str] | None] class NullableIntCSVModel(BaseModel): - values: FromCSVToList[Union[List[int], None]] + values: FromCSVToList[List[int] | None] @pytest.mark.parametrize('cls, values, expected', [ diff --git a/test_requirements.txt b/test_requirements.txt index ec116a9..6ecbb54 100644 --- a/test_requirements.txt +++ b/test_requirements.txt @@ -1,6 +1,6 @@ pytest==6.2.4 pytest-randomly==3.10.1 pytest-cov==2.12.1 -pylint==2.10.2 +pylint>2.10.2 pylintfileheader==0.3.0 pycodestyle==2.8.0