Enable flake8-return linting rules (#267)
See https://docs.astral.sh/ruff/rules/#flake8-raise-rse.
This commit is contained in:
@@ -17,6 +17,7 @@ select = [
|
|||||||
"N", # pep8-naming
|
"N", # pep8-naming
|
||||||
"PIE", # flake8-pie
|
"PIE", # flake8-pie
|
||||||
"PGH", # pygrep-hooks
|
"PGH", # pygrep-hooks
|
||||||
|
"RET", # flake8-return
|
||||||
"RUF100", # unused noqa (yesqa)
|
"RUF100", # unused noqa (yesqa)
|
||||||
"T10", # flake8-debugger
|
"T10", # flake8-debugger
|
||||||
"UP", # pyupgrade
|
"UP", # pyupgrade
|
||||||
|
|||||||
@@ -45,8 +45,7 @@ def parse_datetime(text: str, formats: list[str] = frozenset([
|
|||||||
for fmt in formats:
|
for fmt in formats:
|
||||||
try:
|
try:
|
||||||
date = datetime.strptime(text, fmt) # NOQA: DTZ007, timezone is handled below
|
date = datetime.strptime(text, fmt) # NOQA: DTZ007, timezone is handled below
|
||||||
date = date.astimezone(timezone.utc) if to_utc else date
|
return date.astimezone(timezone.utc) if to_utc else date
|
||||||
return date
|
|
||||||
except ValueError:
|
except ValueError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|||||||
@@ -30,11 +30,12 @@ class AutoConfig:
|
|||||||
regexes = regexes if isinstance(regexes, list) else [regexes]
|
regexes = regexes if isinstance(regexes, list) else [regexes]
|
||||||
self.version_patterns = [re.compile(regex) for regex in regexes]
|
self.version_patterns = [re.compile(regex) for regex in regexes]
|
||||||
|
|
||||||
def first_match(self, version: str) -> re.Match:
|
def first_match(self, version: str) -> re.Match | None:
|
||||||
for pattern in self.version_patterns:
|
for pattern in self.version_patterns:
|
||||||
match = pattern.match(version)
|
match = pattern.match(version)
|
||||||
if match:
|
if match:
|
||||||
return match
|
return match
|
||||||
|
return None
|
||||||
|
|
||||||
def render(self, match: re.Match) -> str:
|
def render(self, match: re.Match) -> str:
|
||||||
return self.version_template.render(**match.groupdict())
|
return self.version_template.render(**match.groupdict())
|
||||||
@@ -65,10 +66,11 @@ class ProductFrontmatter:
|
|||||||
|
|
||||||
return configs
|
return configs
|
||||||
|
|
||||||
def get_release_date(self, release_cycle: str) -> datetime:
|
def get_release_date(self, release_cycle: str) -> datetime | None:
|
||||||
for release in self.data["releases"]:
|
for release in self.data["releases"]:
|
||||||
if release["releaseCycle"] == release_cycle:
|
if release["releaseCycle"] == release_cycle:
|
||||||
return release["releaseDate"]
|
return release["releaseDate"]
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
class Product:
|
class Product:
|
||||||
|
|||||||
@@ -32,10 +32,10 @@ def fetch_urls(urls: list[str], data: any = None, headers: dict[str, str] = None
|
|||||||
if next_max_retries == 0:
|
if next_max_retries == 0:
|
||||||
logging.error(f"Got ChunkedEncodingError while fetching {urls} ({e}), giving up")
|
logging.error(f"Got ChunkedEncodingError while fetching {urls} ({e}), giving up")
|
||||||
raise e # So that the function does not get stuck in an infinite loop.
|
raise e # So that the function does not get stuck in an infinite loop.
|
||||||
else:
|
|
||||||
# We could wait a bit before retrying, but it's not clear if it would help.
|
# We could wait a bit before retrying, but it's not clear if it would help.
|
||||||
logging.warning(f"Got ChunkedEncodingError while fetching {urls} ({e}), retrying (remaining retries = {next_max_retries}).")
|
logging.warning(f"Got ChunkedEncodingError while fetching {urls} ({e}), retrying (remaining retries = {next_max_retries}).")
|
||||||
return fetch_urls(urls, data, headers, next_max_retries, backoff_factor, timeout)
|
return fetch_urls(urls, data, headers, next_max_retries, backoff_factor, timeout)
|
||||||
|
|
||||||
|
|
||||||
def fetch_url(url: str, data: any = None, headers: dict[str, str] = None,
|
def fetch_url(url: str, data: any = None, headers: dict[str, str] = None,
|
||||||
|
|||||||
Reference in New Issue
Block a user