Skip to content

Commit 3d0e076

Browse files
authored
Merge pull request #3 from codesalatdev/fix-search-query
Properly escape search queries in URLs
2 parents cac2786 + bfa945a commit 3d0e076

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

python_picnic_api2/client.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import re
22
from hashlib import md5
3+
from urllib.parse import quote
34

45
import typing_extensions
56

@@ -95,7 +96,7 @@ def get_user(self):
9596
return self._get("/user")
9697

9798
def search(self, term: str):
98-
path = f"/pages/search-page-results?search_term={term}"
99+
path = f"/pages/search-page-results?search_term={quote(term)}"
99100
raw_results = self._get(path, add_picnic_headers=True)
100101
return _extract_search_results(raw_results)
101102

tests/test_client.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,14 @@ def test_search(self):
9898
headers=PICNIC_HEADERS,
9999
)
100100

101+
def test_search_encoding(self):
102+
self.client.search("Gut&Günstig H-Milch")
103+
self.session_mock().get.assert_called_with(
104+
self.expected_base_url
105+
+ "/pages/search-page-results?search_term=Gut%26G%C3%BCnstig%20H-Milch",
106+
headers=PICNIC_HEADERS,
107+
)
108+
101109
def test_get_cart(self):
102110
self.client.get_cart()
103111
self.session_mock().get.assert_called_with(

0 commit comments

Comments
 (0)