Improve pre-commit hooks & code cleaning
This commit is contained in:
parent
742e00f24d
commit
1c12d4fce5
5 changed files with 72 additions and 42 deletions
|
@ -1,26 +1,51 @@
|
||||||
# Pre-commit hooks to run tests and ensure code is cleaned.
|
# Pre-commit hooks to run tests and ensure code is cleaned.
|
||||||
# See https://pre-commit.com for more information
|
# See https://pre-commit.com for more information
|
||||||
|
---
|
||||||
repos:
|
repos:
|
||||||
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
||||||
|
rev: v0.1.6
|
||||||
|
hooks:
|
||||||
|
- id: ruff
|
||||||
|
args:
|
||||||
|
- --fix
|
||||||
- repo: https://github.com/asottile/pyupgrade
|
- repo: https://github.com/asottile/pyupgrade
|
||||||
rev: v3.15.0
|
rev: v3.3.1
|
||||||
hooks:
|
hooks:
|
||||||
- id: pyupgrade
|
- id: pyupgrade
|
||||||
args: ['--keep-percent-format', '--py37-plus']
|
args: ["--keep-percent-format", "--py37-plus"]
|
||||||
- repo: https://github.com/psf/black
|
- repo: https://github.com/psf/black
|
||||||
rev: 23.11.0
|
rev: 22.12.0
|
||||||
hooks:
|
hooks:
|
||||||
- id: black
|
- id: black
|
||||||
args: ['--target-version', 'py37', '--line-length', '100']
|
args: ["--target-version", "py37", "--line-length", "100"]
|
||||||
- repo: https://github.com/PyCQA/isort
|
- repo: https://github.com/PyCQA/isort
|
||||||
rev: 5.12.0
|
rev: 5.11.5
|
||||||
hooks:
|
hooks:
|
||||||
- id: isort
|
- id: isort
|
||||||
args: ['--profile', 'black', '--line-length', '100']
|
args: ["--profile", "black", "--line-length", "100"]
|
||||||
- repo: https://github.com/PyCQA/flake8
|
- repo: https://github.com/PyCQA/flake8
|
||||||
rev: 6.1.0
|
rev: 6.0.0
|
||||||
hooks:
|
hooks:
|
||||||
- id: flake8
|
- id: flake8
|
||||||
args: ['--max-line-length=100']
|
args: ["--max-line-length=100"]
|
||||||
|
- repo: https://github.com/codespell-project/codespell
|
||||||
|
rev: v2.2.2
|
||||||
|
hooks:
|
||||||
|
- id: codespell
|
||||||
|
args:
|
||||||
|
- --ignore-words-list=fro,hass
|
||||||
|
- --skip="./.*,*.csv,*.json,*.ambr"
|
||||||
|
- --quiet-level=2
|
||||||
|
exclude_types: [csv, json]
|
||||||
|
- repo: https://github.com/adrienverge/yamllint
|
||||||
|
rev: v1.32.0
|
||||||
|
hooks:
|
||||||
|
- id: yamllint
|
||||||
|
args: ["-d {extends: relaxed, rules: {line-length: disable}}", "-s"]
|
||||||
|
- repo: https://github.com/pre-commit/mirrors-prettier
|
||||||
|
rev: v2.7.1
|
||||||
|
hooks:
|
||||||
|
- id: prettier
|
||||||
- repo: local
|
- repo: local
|
||||||
hooks:
|
hooks:
|
||||||
- id: pylint
|
- id: pylint
|
||||||
|
@ -29,8 +54,14 @@ repos:
|
||||||
language: system
|
language: system
|
||||||
types: [python]
|
types: [python]
|
||||||
require_serial: true
|
require_serial: true
|
||||||
- repo: https://github.com/PyCQA/bandit
|
- repo: https://github.com/Lucas-C/pre-commit-hooks-bandit
|
||||||
rev: 1.7.5
|
rev: v1.0.5
|
||||||
hooks:
|
hooks:
|
||||||
- id: bandit
|
- id: python-bandit-vulnerability-check
|
||||||
args: [--skip, "B101", --recursive, "mylib"]
|
name: bandit
|
||||||
|
args: [--skip, "B101", --recursive, mylib]
|
||||||
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||||
|
rev: v4.4.0
|
||||||
|
hooks:
|
||||||
|
- id: check-executables-have-shebangs
|
||||||
|
stages: [manual]
|
||||||
|
|
|
@ -40,4 +40,3 @@ This program is free software; you can redistribute it and/or modify it under th
|
||||||
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
|
|
2
build.sh
2
build.sh
|
@ -24,7 +24,7 @@ sed -i "s/^VERSION *=.*$/VERSION = '$VERSION'/" $BDIR/check_forgejo_upgrade
|
||||||
|
|
||||||
if [ -z "$DEBIAN_CODENAME" ]
|
if [ -z "$DEBIAN_CODENAME" ]
|
||||||
then
|
then
|
||||||
echo "Retreive debian codename using lsb_release..."
|
echo "Retrieve debian codename using lsb_release..."
|
||||||
DEBIAN_CODENAME=$( lsb_release -c -s )
|
DEBIAN_CODENAME=$( lsb_release -c -s )
|
||||||
else
|
else
|
||||||
echo "Use debian codename from environment ($DEBIAN_CODENAME)"
|
echo "Use debian codename from environment ($DEBIAN_CODENAME)"
|
||||||
|
|
|
@ -55,7 +55,7 @@ logging.basicConfig(level=logging.DEBUG if options.debug else logging.WARNING)
|
||||||
CURRENT = None
|
CURRENT = None
|
||||||
|
|
||||||
cmd = [options.path, "--version"]
|
cmd = [options.path, "--version"]
|
||||||
logging.debug("Command use to retreive current version of Forgejo: %s", " ".join(cmd))
|
logging.debug("Command use to retrieve current version of Forgejo: %s", " ".join(cmd))
|
||||||
OUTPUT = None
|
OUTPUT = None
|
||||||
EXCEPTION = None
|
EXCEPTION = None
|
||||||
try:
|
try:
|
||||||
|
@ -69,7 +69,7 @@ except Exception as err: # pylint: disable=broad-except
|
||||||
logging.debug("Current version: %s", CURRENT)
|
logging.debug("Current version: %s", CURRENT)
|
||||||
|
|
||||||
if not CURRENT:
|
if not CURRENT:
|
||||||
print("UNKNOWN - Fail to retreive current Forgejo")
|
print("UNKNOWN - Fail to retrieve current Forgejo")
|
||||||
print(f'Command: {" ".join(cmd)}')
|
print(f'Command: {" ".join(cmd)}')
|
||||||
print("Output:")
|
print("Output:")
|
||||||
print(OUTPUT if OUTPUT else "")
|
print(OUTPUT if OUTPUT else "")
|
||||||
|
@ -85,7 +85,7 @@ LATEST_INT = None
|
||||||
try:
|
try:
|
||||||
logging.debug("Get releases RSS feed from %s...", options.url)
|
logging.debug("Get releases RSS feed from %s...", options.url)
|
||||||
r = requests.get(options.url, timeout=options.timeout)
|
r = requests.get(options.url, timeout=options.timeout)
|
||||||
logging.debug("Data retreive:\n%s", r.text)
|
logging.debug("Data retrieve:\n%s", r.text)
|
||||||
data = xmltodict.parse(r.text)
|
data = xmltodict.parse(r.text)
|
||||||
versions = {}
|
versions = {}
|
||||||
for item in data["rss"]["channel"]["item"]:
|
for item in data["rss"]["channel"]["item"]:
|
||||||
|
@ -111,7 +111,7 @@ except Exception: # pylint: disable=broad-except # nosec
|
||||||
logging.debug("Latest version: %s", LATEST)
|
logging.debug("Latest version: %s", LATEST)
|
||||||
|
|
||||||
if not LATEST:
|
if not LATEST:
|
||||||
print("UNKNOWN - Fail to retreive latest Forgejo release from the project RSS feed")
|
print("UNKNOWN - Fail to retrieve latest Forgejo release from the project RSS feed")
|
||||||
print(f"Current version: {CURRENT}")
|
print(f"Current version: {CURRENT}")
|
||||||
sys.exit(3)
|
sys.exit(3)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue