From 0e25cca0bac1e78fd8311e6e50045aa5208fd40b Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Sun, 31 Aug 2025 18:39:38 -0500 Subject: [PATCH] fix: refactor some more for tests + pylint --- .pylintrc | 4 ++++ docs/index.rst | 3 +++ pyproject.toml | 2 +- src/wutta_continuum/_version.py | 3 +++ src/wutta_continuum/conf.py | 24 ++++++++++++++---------- tox.ini | 4 ++++ 6 files changed, 29 insertions(+), 11 deletions(-) create mode 100644 .pylintrc diff --git a/.pylintrc b/.pylintrc new file mode 100644 index 0000000..7eb5e2c --- /dev/null +++ b/.pylintrc @@ -0,0 +1,4 @@ +# -*- mode: conf; -*- + +[MESSAGES CONTROL] +disable=fixme diff --git a/docs/index.rst b/docs/index.rst index 1976271..b4add5a 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -9,6 +9,9 @@ This package adds data versioning/history for `WuttJamaican`_, using .. _SQLAlchemy-Continuum: https://sqlalchemy-continuum.readthedocs.io/en/latest/ +.. image:: https://img.shields.io/badge/linting-pylint-yellowgreen + :target: https://github.com/pylint-dev/pylint + .. image:: https://img.shields.io/badge/code%20style-black-000000.svg :target: https://github.com/psf/black diff --git a/pyproject.toml b/pyproject.toml index c7dff31..6c7f2a5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -33,7 +33,7 @@ dependencies = [ [project.optional-dependencies] docs = ["Sphinx", "furo"] -tests = ["pytest-cov", "tox"] +tests = ["pylint", "pytest", "pytest-cov", "tox"] [project.entry-points."wutta.app.providers"] diff --git a/src/wutta_continuum/_version.py b/src/wutta_continuum/_version.py index 5757852..f243184 100644 --- a/src/wutta_continuum/_version.py +++ b/src/wutta_continuum/_version.py @@ -1,4 +1,7 @@ # -*- coding: utf-8; -*- +""" +Package Version +""" from importlib.metadata import version diff --git a/src/wutta_continuum/conf.py b/src/wutta_continuum/conf.py index e7c1b3e..dc3f476 100644 --- a/src/wutta_continuum/conf.py +++ b/src/wutta_continuum/conf.py @@ -2,7 +2,7 @@ ################################################################################ # # Wutta-Continuum -- SQLAlchemy Versioning for Wutta Framework -# Copyright © 2024 Lance Edgar +# Copyright © 2024-2025 Lance Edgar # # This file is part of Wutta Framework. # @@ -24,7 +24,6 @@ App Configuration """ -import datetime import socket from sqlalchemy.orm import configure_mappers @@ -45,7 +44,7 @@ class WuttaContinuumConfigExtension(WuttaConfigExtension): key = "wutta_continuum" - def startup(self, config): + def startup(self, config): # pylint: disable=empty-docstring """ """ # only do this if config enables it if not config.get_bool( @@ -59,14 +58,14 @@ class WuttaContinuumConfigExtension(WuttaConfigExtension): usedb=False, default="wutta_continuum.conf:WuttaContinuumPlugin", ) - WuttaPlugin = load_object(spec) + plugin = load_object(spec) # tell sqlalchemy-continuum to do its thing - make_versioned(plugins=[WuttaPlugin()]) + make_versioned(plugins=[plugin()]) # nb. must load the model before configuring mappers app = config.get_app() - model = app.model + model = app.model # pylint: disable=unused-variable # tell sqlalchemy to do its thing configure_mappers() @@ -99,15 +98,20 @@ class WuttaContinuumPlugin(Plugin): :doc:`sqlalchemy-continuum:plugins`. """ - def get_remote_addr(self, uow, session): + def get_remote_addr( # pylint: disable=empty-docstring,unused-argument + self, uow, session + ): """ """ host = socket.gethostname() return socket.gethostbyname(host) - def get_user_id(self, uow, session): + def get_user_id( # pylint: disable=empty-docstring,unused-argument + self, uow, session + ): """ """ + return None - def transaction_args(self, uow, session): + def transaction_args(self, uow, session): # pylint: disable=empty-docstring """ """ kwargs = {} @@ -115,7 +119,7 @@ class WuttaContinuumPlugin(Plugin): if remote_addr: kwargs["remote_addr"] = remote_addr - user_id = self.get_user_id(uow, session) + user_id = self.get_user_id(uow, session) # pylint: disable=assignment-from-none if user_id: kwargs["user_id"] = user_id diff --git a/tox.ini b/tox.ini index 3e2d218..460f86b 100644 --- a/tox.ini +++ b/tox.ini @@ -6,6 +6,10 @@ envlist = py38, py39, py310, py311 extras = tests commands = pytest {posargs} +[testenv:pylint] +basepython = python3.11 +commands = pylint wutta_continuum + [testenv:coverage] basepython = python3.11 commands = pytest --cov=wutta_continuum --cov-report=html --cov-fail-under=100