Skip to content

Commit

Permalink
Configure Ruff to check with PyUpgrade
Browse files Browse the repository at this point in the history
Some fixes could be done with the `--fix-unsafe` and some other manually.
  • Loading branch information
pgiraud committed Nov 27, 2024
1 parent 30d40ec commit a6d6b11
Show file tree
Hide file tree
Showing 9 changed files with 17 additions and 38 deletions.
5 changes: 0 additions & 5 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,3 @@ repos:
entry: ruff format
language: system
types: [python]
- id: pyupgrade
name: pyupgrade
entry: pyupgrade --exit-zero-even-if-changed
language: system
types: [python]
1 change: 1 addition & 0 deletions .ruff.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ extend-select = [
"E", # pycodestyle errors
"F", # pyflakes
"I", # isort
"UP", # Pyupgrade
"W", # pycodestyle warnings
]
ignore = [
Expand Down
6 changes: 3 additions & 3 deletions pgtoolkit/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,7 @@ def serialize_value(value: Value) -> str:
# done everywhere in the string or nowhere.
if "''" not in value and r"\'" not in value:
value = value.replace("'", "''")
value = "'%s'" % value
value = f"'{value}'"
elif isinstance(value, timedelta):
seconds = value.days * _day + value.seconds
if value.microseconds:
Expand Down Expand Up @@ -340,7 +340,7 @@ def serialize(self) -> str:
return serialize_value(self.value)

def __str__(self) -> str:
line = "%(name)s = %(value)s" % dict(name=self.name, value=self.serialize())
line = "{name} = {value}".format(**dict(name=self.name, value=self.serialize()))
if self.comment:
line += " # " + self.comment
if self.commented:
Expand Down Expand Up @@ -497,7 +497,7 @@ def parse(self, fo: Iterable[str]) -> Iterator[tuple[pathlib.Path, IncludeType]]
else:
m = self._parameter_re.match(line)
if not m:
raise ValueError("Bad line: %r." % raw_line)
raise ValueError(f"Bad line: {raw_line!r}.")
kwargs = m.groupdict()
name = kwargs.pop("name")
value = parse_value(kwargs.pop("value"))
Expand Down
12 changes: 2 additions & 10 deletions pgtoolkit/errors.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,7 @@ def __init__(self, lineno: int, line: str, message: str) -> None:
self.line = line

def __repr__(self) -> str:
return "<%s at line %d: %.32s>" % (
self.__class__.__name__,
self.lineno,
self.args[0],
)
return f"<{self.__class__.__name__} at line {self.lineno}: {self.args[0]:.32}>"

def __str__(self) -> str:
return "Bad line #{} '{:.32}': {}".format(
self.lineno,
self.line.strip(),
self.args[0],
)
return f"Bad line #{self.lineno} '{self.line.strip():.32}': {self.args[0]}"
10 changes: 5 additions & 5 deletions pgtoolkit/hba.py
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ def parse(cls, line: str) -> HBARecord:
comment = " ".join(comments[1:])

if values[0] not in cls.CONNECTION_TYPES:
raise ValueError("Unknown connection type '%s'" % values[0])
raise ValueError(f"Unknown connection type '{values[0]}'")
if "local" != values[0]:
record_fields.append("address")
common_values = [v for v in values if "=" not in v]
Expand Down Expand Up @@ -220,14 +220,14 @@ def __str__(self) -> str:
continue

if width:
fmt += "%%(%s)-%ds " % (field, width - 1)
fmt += f"%%({field})-%ds " % (width - 1)
else:
fmt += f"%({field})s "
# Serialize database and user list using property.
values = dict(self.__dict__, databases=self.database, users=self.user)
line = fmt.rstrip() % values

auth_options = ['%s="%s"' % i for i in self.auth_options]
auth_options = ['{}="{}"'.format(*i) for i in self.auth_options]
if auth_options:
line += " " + " ".join(auth_options)

Expand Down Expand Up @@ -290,7 +290,7 @@ def matches(self, **attrs: str) -> bool:
# Provided attributes should be comparable to HBARecord attributes
for k in attrs.keys():
if k not in self.COMMON_FIELDS + ["database", "user"]:
raise AttributeError("%s is not a valid attribute" % k)
raise AttributeError(f"{k} is not a valid attribute")

for k, v in attrs.items():
if getattr(self, k, None) != v:
Expand Down Expand Up @@ -326,7 +326,7 @@ def __init__(self, entries: Iterable[HBAComment | HBARecord] | None = None) -> N
:param entries: A list of HBAComment or HBARecord. Optional.
"""
if entries and not isinstance(entries, list):
raise ValueError("%s should be a list" % entries)
raise ValueError(f"{entries} should be a list")
self.lines = list(entries) if entries is not None else []
self.path = None

Expand Down
4 changes: 2 additions & 2 deletions pgtoolkit/log/parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -118,11 +118,11 @@ def parse_isodatetime(raw: str) -> datetime:
int(raw[20:23]) if raw[19] == "." else 0,
)
except ValueError:
raise ValueError("%s is not a known date" % raw)
raise ValueError(f"{raw} is not a known date")

if raw[-3:] != "UTC":
# We need tzdata for that.
raise ValueError("%s not in UTC." % raw)
raise ValueError(f"{raw} not in UTC.")

return datetime(*infos)

Expand Down
12 changes: 3 additions & 9 deletions pgtoolkit/pgpass.py
Original file line number Diff line number Diff line change
Expand Up @@ -244,13 +244,7 @@ def __lt__(self, other: PassComment | PassEntry) -> bool:
return NotImplemented

def __repr__(self) -> str:
return "<{} {}@{}:{}/{}>".format(
self.__class__.__name__,
self.username,
self.hostname,
self.port,
self.database,
)
return f"<{self.__class__.__name__} {self.username}@{self.hostname}:{self.port}/{self.database}>"

def __str__(self) -> str:
return ":".join(
Expand Down Expand Up @@ -284,7 +278,7 @@ def matches(self, **attrs: int | str) -> bool:
expected_attributes = self.__dict__.keys()
for k in attrs.keys():
if k not in expected_attributes:
raise AttributeError("%s is not a valid attribute" % k)
raise AttributeError(f"{k} is not a valid attribute")

for k, v in attrs.items():
if getattr(self, k) != v:
Expand Down Expand Up @@ -328,7 +322,7 @@ def __init__(
:param entries: A list of PassEntry or PassComment. Optional.
"""
if entries and not isinstance(entries, list):
raise ValueError("%s should be a list" % entries)
raise ValueError(f"{entries} should be a list")
self.lines = entries or []
self.path = path

Expand Down
2 changes: 1 addition & 1 deletion pgtoolkit/service.py
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ def __init__(self) -> None:
)

def __repr__(self) -> str:
return "<%s>" % (self.__class__.__name__)
return f"<{self.__class__.__name__}>"

def __getitem__(self, key: str) -> Service:
parameters = {
Expand Down
3 changes: 0 additions & 3 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,9 @@ isolated_build = true
commands=
ruff check
ruff format --check
pre-commit run --all-files --show-diff-on-failure pyupgrade
check-manifest
deps =
check-manifest
pre-commit
pyupgrade
ruff
skip_install = true

Expand Down

0 comments on commit a6d6b11

Please sign in to comment.