Compare commits
2 commits
868ee28677
...
487d38eafe
Author | SHA1 | Date | |
---|---|---|---|
|
487d38eafe | ||
|
dba77147a5 |
2 changed files with 51 additions and 33 deletions
|
@ -1,26 +1,13 @@
|
||||||
# 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: local
|
|
||||||
hooks:
|
|
||||||
- id: pylint
|
|
||||||
name: pylint
|
|
||||||
entry: pylint
|
|
||||||
language: system
|
|
||||||
types: [python]
|
|
||||||
require_serial: true
|
|
||||||
- repo: https://github.com/PyCQA/flake8
|
|
||||||
rev: 6.0.0
|
|
||||||
hooks:
|
|
||||||
- id: flake8
|
|
||||||
args: ['--max-line-length=100']
|
|
||||||
- repo: https://github.com/asottile/pyupgrade
|
- repo: https://github.com/asottile/pyupgrade
|
||||||
rev: v3.3.1
|
rev: v3.15.0
|
||||||
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: 22.12.0
|
rev: 23.11.0
|
||||||
hooks:
|
hooks:
|
||||||
- id: black
|
- id: black
|
||||||
args: ['--target-version', 'py37', '--line-length', '100']
|
args: ['--target-version', 'py37', '--line-length', '100']
|
||||||
|
@ -29,3 +16,21 @@ repos:
|
||||||
hooks:
|
hooks:
|
||||||
- id: isort
|
- id: isort
|
||||||
args: ['--profile', 'black', '--line-length', '100']
|
args: ['--profile', 'black', '--line-length', '100']
|
||||||
|
- repo: https://github.com/PyCQA/flake8
|
||||||
|
rev: 6.1.0
|
||||||
|
hooks:
|
||||||
|
- id: flake8
|
||||||
|
args: ['--max-line-length=100']
|
||||||
|
- repo: local
|
||||||
|
hooks:
|
||||||
|
- id: pylint
|
||||||
|
name: pylint
|
||||||
|
entry: pylint
|
||||||
|
language: system
|
||||||
|
types: [python]
|
||||||
|
require_serial: true
|
||||||
|
- repo: https://github.com/PyCQA/bandit
|
||||||
|
rev: 1.7.5
|
||||||
|
hooks:
|
||||||
|
- id: bandit
|
||||||
|
args: [--skip, "B101", --recursive, "mylib"]
|
||||||
|
|
|
@ -21,7 +21,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
import argparse
|
import argparse
|
||||||
import logging
|
import logging
|
||||||
import re
|
import re
|
||||||
import subprocess
|
import subprocess # nosec
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
|
@ -59,7 +59,7 @@ logging.debug("Command use to retreive current version of Forgejo: %s", " ".join
|
||||||
OUTPUT = None
|
OUTPUT = None
|
||||||
EXCEPTION = None
|
EXCEPTION = None
|
||||||
try:
|
try:
|
||||||
OUTPUT = subprocess.check_output(cmd)
|
OUTPUT = subprocess.check_output(cmd) # nosec
|
||||||
logging.debug("Output:\n%s", OUTPUT)
|
logging.debug("Output:\n%s", OUTPUT)
|
||||||
m = re.search("version ([^ ]+) built", OUTPUT.decode("utf8", errors="ignore"))
|
m = re.search("version ([^ ]+) built", OUTPUT.decode("utf8", errors="ignore"))
|
||||||
if m:
|
if m:
|
||||||
|
@ -81,19 +81,32 @@ CURRENT = CURRENT.replace("+", "-")
|
||||||
logging.debug("Cleaned current version: %s", CURRENT)
|
logging.debug("Cleaned current version: %s", CURRENT)
|
||||||
|
|
||||||
LATEST = None
|
LATEST = None
|
||||||
|
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 retreive:\n%s", r.text)
|
||||||
data = xmltodict.parse(r.text)
|
data = xmltodict.parse(r.text)
|
||||||
|
versions = {}
|
||||||
for item in data["rss"]["channel"]["item"]:
|
for item in data["rss"]["channel"]["item"]:
|
||||||
version = re.sub("^v", "", item["title"])
|
version = re.sub("^v", "", item["title"])
|
||||||
if not options.include_rc and "-rc" in version:
|
if not options.include_rc and "-rc" in version:
|
||||||
logging.debug("Ignore release candidate %s", version)
|
logging.debug("Ignore release candidate %s", version)
|
||||||
continue
|
continue
|
||||||
|
version_int = int(re.sub(r"[\.-]", "000", version))
|
||||||
|
logging.debug("Found version %s (%s)", version, version_int)
|
||||||
|
if not LATEST_INT or LATEST_INT < version_int:
|
||||||
|
if LATEST:
|
||||||
|
logging.debug(
|
||||||
|
"Version %s considered as newer than %s, override latest version",
|
||||||
|
version,
|
||||||
|
LATEST,
|
||||||
|
)
|
||||||
LATEST = version
|
LATEST = version
|
||||||
break
|
LATEST_INT = version_int
|
||||||
except Exception: # pylint: disable=broad-except
|
else:
|
||||||
|
logging.debug("Version %s considered as oldest than %s", version, LATEST)
|
||||||
|
except Exception: # pylint: disable=broad-except # nosec
|
||||||
pass
|
pass
|
||||||
logging.debug("Latest version: %s", LATEST)
|
logging.debug("Latest version: %s", LATEST)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue