Skip to content

Commit a225044

Browse files
Fix bug where error message is missing info at the end (#288)
* Fix bug where error message is missing info at the end Enable UP rules * Revert bad TOML sort.
1 parent d821b76 commit a225044

File tree

6 files changed

+22
-10
lines changed

6 files changed

+22
-10
lines changed

pins/boards.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ def pin_versions(self, name: str, as_df: bool = True) -> Sequence[VersionRaw]:
8181
"""
8282

8383
if not self.pin_exists(name):
84-
raise PinsError("Cannot check version, since pin %s does not exist" % name)
84+
raise PinsError(f"Cannot check version, since pin {name} does not exist")
8585

8686
detail = isinstance(self, BoardRsConnect)
8787

@@ -548,7 +548,7 @@ def pin_delete(self, names: "str | Sequence[str]"):
548548

549549
for name in names:
550550
if not self.pin_exists(name):
551-
raise PinsError("Cannot delete pin, since pin %s does not exist" % name)
551+
raise PinsError(f"Cannot delete pin, since pin {name} does not exist")
552552

553553
path_to_pin = self.construct_path([self.path_to_pin(name)])
554554
self.fs.rm(path_to_pin, recursive=True)

pins/meta.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ def get_meta_name(self, *args, **kwargs) -> str:
205205

206206
def get_version_for_meta(self, api_version) -> Version:
207207
if api_version != 1:
208-
raise NotImplementedError("Unsupported api_version: %s" % api_version)
208+
raise NotImplementedError(f"Unsupported api_version: {api_version}")
209209

210210
return Version
211211

pins/rsconnect/api.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -198,9 +198,7 @@ def _validate_delete_response(self, r):
198198
self._validate_json_response(data)
199199

200200
# this should never be triggered
201-
raise ValueError(
202-
"Unknown json returned by delete_content endpoint: %s" % data
203-
)
201+
raise ValueError(f"Unknown json returned by delete_content endpoint: {data}")
204202
except requests.JSONDecodeError:
205203
# fallback to at least raising status errors
206204
r.raise_for_status()

pins/tests/test_versions.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import pytest
55
import xxhash
66

7+
from pins.errors import PinsVersionError
78
from pins.versions import Version
89

910
EXAMPLE_DATE = datetime(2021, 1, 2, 13, 58, 59)
@@ -20,6 +21,11 @@ def test_version_from_string():
2021
assert version.hash == "baf3f"
2122

2223

24+
def test_version_from_string_baddate():
25+
with pytest.raises(PinsVersionError, match="Invalid date part of version: bug"):
26+
Version.from_string("bug-baf3f")
27+
28+
2329
def test_version_hash_file(bytes_):
2430
f_bytes, digest = bytes_
2531
assert Version.hash_file(f_bytes) == digest

pins/versions.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ def from_string(cls, version: str) -> "Version":
6969

7070
if len(parts) != 2:
7171
raise PinsVersionError(
72-
"version string can only have 1 '-', but contains %s" % len(parts)
72+
f"version string can only have 1 '-', but contains {len(parts) - 1}"
7373
)
7474

7575
dt_string, hash_ = parts
@@ -79,7 +79,7 @@ def from_string(cls, version: str) -> "Version":
7979
try:
8080
created = cls.parse_created(dt_string)
8181
except ValueError:
82-
raise PinsVersionError("Invalid date part of version: " % dt_string)
82+
raise PinsVersionError(f"Invalid date part of version: {dt_string}")
8383

8484
obj = cls(created, hash_)
8585

pyproject.toml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,5 +120,13 @@ line-length = 90
120120
extend-exclude = ["docs"]
121121

122122
[tool.ruff.lint]
123-
select = ["E", "F", "I", "W"]
124-
ignore = ["E501"]
123+
select = [
124+
"E", # Style
125+
"F", # Errors
126+
"I", # Import sorting
127+
"UP", # Upgrade to latest supported Python syntax
128+
"W", # Style
129+
]
130+
ignore = [
131+
"E501", # Line too long
132+
]

0 commit comments

Comments
 (0)