diff --git a/assemblyai/api.py b/assemblyai/api.py index 67f71e8..73a8b9e 100644 --- a/assemblyai/api.py +++ b/assemblyai/api.py @@ -1,4 +1,5 @@ from typing import BinaryIO, List, Optional +from urllib.parse import urlencode import httpx @@ -142,9 +143,11 @@ def word_search( ) -> types.WordSearchMatchResponse: response = client.get( f"/transcript/{transcript_id}/word-search", - params={ - "words": words, - }, + params=urlencode( + { + "words": ",".join(words), + } + ), ) if response.status_code != httpx.codes.ok: diff --git a/setup.py b/setup.py index 7d615d0..0edeff5 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ setup( name="assemblyai", - version="0.5.0", + version="0.5.1", description="AssemblyAI Python SDK", author="AssemblyAI", author_email="engineering.sdk@assemblyai.com", diff --git a/tests/unit/test_transcript.py b/tests/unit/test_transcript.py index d25dc5b..249a283 100644 --- a/tests/unit/test_transcript.py +++ b/tests/unit/test_transcript.py @@ -1,4 +1,5 @@ from typing import Any, Dict, List +from urllib.parse import urlencode import httpx import pytest @@ -114,9 +115,12 @@ def test_word_search_succeeds(httpx_mock: HTTPXMock): factories.WordSearchMatchResponseFactory )() + search_words = { + "words": ",".join(["test", "me"]), + } # mock the specific endpoints url = httpx.URL( - f"{aai.settings.base_url}/transcript/{transcript.id}/word-search?words=test", + f"{aai.settings.base_url}/transcript/{transcript.id}/word-search?{urlencode(search_words)}", ) httpx_mock.add_response( @@ -127,7 +131,7 @@ def test_word_search_succeeds(httpx_mock: HTTPXMock): ) # mimic the SDK call - matches = transcript.word_search(words=["test"]) + matches = transcript.word_search(words=["test", "me"]) # check integrity of the response