Skip to content

Commit bf25a80

Browse files
committed
Modify build_url method to handle csv_delimiter
1 parent a9eae23 commit bf25a80

File tree

1 file changed

+11
-19
lines changed

1 file changed

+11
-19
lines changed

meilisearch/index.py

Lines changed: 11 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -518,14 +518,8 @@ def add_documents_raw(
518518
MeiliSearchApiError
519519
An error containing details about why Meilisearch can't process your request. Meilisearch error codes are described here: https://docs.meilisearch.com/errors/#meilisearch-errors
520520
"""
521-
parameters = {}
522-
if primary_key:
523-
parameters["primaryKey"] = primary_key
524-
if csv_delimiter:
525-
parameters["csvDelimiter"] = csv_delimiter
526-
url = self._build_url()
527-
if primary_key or csv_delimiter:
528-
url = url + f"?{parse.urlencode(parameters)}"
521+
522+
url = self._build_url(primary_key=primary_key, csv_delimiter=csv_delimiter)
529523
response = self.http.post(url, str_documents, content_type)
530524
return TaskInfo(**response)
531525

@@ -671,14 +665,7 @@ def update_documents_raw(
671665
MeiliSearchApiError
672666
An error containing details about why Meilisearch can't process your request. Meilisearch error codes are described here: https://docs.meilisearch.com/errors/#meilisearch-errors
673667
"""
674-
parameters = {}
675-
if primary_key:
676-
parameters["primaryKey"] = primary_key
677-
if csv_delimiter:
678-
parameters["csvDelimiter"] = csv_delimiter
679-
url = self._build_url()
680-
if primary_key or csv_delimiter:
681-
url = url + f"?{parse.urlencode(parameters)}"
668+
url = self._build_url(primary_key=primary_key, csv_delimiter=csv_delimiter)
682669
response = self.http.put(url, str_documents, content_type)
683670
return TaskInfo(**response)
684671

@@ -1556,8 +1543,13 @@ def __settings_url_for(self, sub_route: str) -> str:
15561543
def _build_url(
15571544
self,
15581545
primary_key: Optional[str] = None,
1546+
csv_delimiter: Optional[str] = None,
15591547
) -> str:
1560-
if primary_key is None:
1548+
parameters = {}
1549+
if primary_key:
1550+
parameters["primaryKey"] = primary_key
1551+
if csv_delimiter:
1552+
parameters["csvDelimiter"] = csv_delimiter
1553+
if primary_key is None and csv_delimiter is None:
15611554
return f"{self.config.paths.index}/{self.uid}/{self.config.paths.document}"
1562-
primary_key = parse.urlencode({"primaryKey": primary_key})
1563-
return f"{self.config.paths.index}/{self.uid}/{self.config.paths.document}?{primary_key}"
1555+
return f"{self.config.paths.index}/{self.uid}/{self.config.paths.document}?{parse.urlencode(parameters)}"

0 commit comments

Comments
 (0)