Skip to content

Commit 5e438dc

Browse files
committed
fix: remove duplicate code in privatebin.delete
1 parent b3e3930 commit 5e438dc

2 files changed

Lines changed: 12 additions & 18 deletions

File tree

src/privatebin/_wrapper.py

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -204,23 +204,17 @@ def delete(url: str | PrivateBinUrl | PasteReceipt, *, delete_token: str) -> Non
204204
```
205205
206206
"""
207-
match url:
208-
case str():
209-
parsed = urlparse(url)
210-
if not (parsed.scheme and parsed.netloc and parsed.query):
211-
msg = "Invalid PrivateBin URL format. URL should be like: https://examplebin.net/?pasteid#passphrase."
212-
raise ValueError(msg)
213-
server = f"{parsed.scheme}://{parsed.netloc}"
214-
id = parsed.query
215-
case PrivateBinUrl():
216-
server = url.server
217-
id = url.id
218-
case PasteReceipt():
219-
server = url.url.server
220-
id = url.url.id
221-
case _:
222-
msg = f"Parameter 'url' expected 'str', 'PrivateBinUrl', or 'PasteReceipt', but got {type(url).__name__!r}."
223-
raise TypeError(msg)
207+
if isinstance(url, str):
208+
parsed = urlparse(url)
209+
if not (parsed.scheme and parsed.netloc and parsed.query):
210+
msg = "Invalid PrivateBin URL format. URL should be like: https://examplebin.net/?pasteid."
211+
raise ValueError(msg)
212+
server = f"{parsed.scheme}://{parsed.netloc}"
213+
id = parsed.query
214+
else:
215+
url = PrivateBinUrl.parse(url)
216+
server = url.server
217+
id = url.id
224218

225219
with PrivateBin(server) as client:
226220
client.delete(id=id, delete_token=delete_token)

tests/test_wrappers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ def test_wrapper_delete_errors() -> None:
165165
with pytest.raises(
166166
ValueError,
167167
match=re.escape(
168-
"Invalid PrivateBin URL format. URL should be like: https://examplebin.net/?pasteid#passphrase"
168+
"Invalid PrivateBin URL format. URL should be like: https://examplebin.net/?pasteid"
169169
),
170170
):
171171
privatebin.delete("whoops", delete_token="hello")

0 commit comments

Comments
 (0)