Skip to content

Commit c5f8923

Browse files
committed
fix: python
1 parent 448e449 commit c5f8923

File tree

5 files changed

+67
-46
lines changed

5 files changed

+67
-46
lines changed

clients/algoliasearch-client-python/algoliasearch/http/transporter_sync.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ def request(
6666
url = self.build_url(host, path)
6767
proxies = self.get_proxies(url)
6868

69+
print(url)
70+
6971
req = Request(
7072
method=verb,
7173
url=url,

playground/python/app/search.py

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -11,26 +11,26 @@
1111
def main():
1212
print("SearchClient version", __version__)
1313

14-
client = SearchClientSync(
15-
environ.get("ALGOLIA_APPLICATION_ID"), environ.get("ALGOLIA_ADMIN_KEY")
16-
)
17-
client.add_user_agent("playground")
18-
client.add_user_agent("bar", "baz")
19-
20-
print("user_agent", client._config._user_agent.get())
21-
print("client initialized", client)
22-
23-
try:
24-
resp = client.search_synonyms("foo")
25-
print(resp)
26-
client.browse_synonyms("foo", lambda _resp: print(_resp))
27-
finally:
28-
client.close()
29-
30-
print("client closed")
31-
32-
print("with transformations")
33-
14+
# client = SearchClientSync(
15+
# environ.get("ALGOLIA_APPLICATION_ID"), environ.get("ALGOLIA_ADMIN_KEY")
16+
# )
17+
# client.add_user_agent("playground")
18+
# client.add_user_agent("bar", "baz")
19+
#
20+
# print("user_agent", client._config._user_agent.get())
21+
# print("client initialized", client)
22+
#
23+
# try:
24+
# resp = client.search_synonyms("foo")
25+
# print(resp)
26+
# client.browse_synonyms("foo", lambda _resp: print(_resp))
27+
# finally:
28+
# client.close()
29+
#
30+
# print("client closed")
31+
#
32+
# print("with transformations")
33+
#
3434
config = SearchConfig(
3535
environ.get("ALGOLIA_APPLICATION_ID"), environ.get("ALGOLIA_ADMIN_KEY")
3636
)
@@ -46,10 +46,12 @@ def main():
4646
print("user_agent", client._config._user_agent.get())
4747

4848
try:
49-
resp = client.save_objects_with_transformation(
50-
"foo", [{"objectID": "bar"}], wait_for_tasks=True
49+
resp = client.replace_all_objects_with_transformation(
50+
"boyd", [{"objectID": "bar"}]
5151
)
5252
print(resp)
53+
except Exception as e:
54+
print(e)
5355
finally:
5456
client.close()
5557

playground/python/poetry.lock

Lines changed: 10 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

templates/python/api.mustache

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,18 +86,27 @@ class {{classname}}{{#isSyncClient}}Sync{{/isSyncClient}}:
8686
if transporter is None:
8787
transporter = Transporter{{#isSyncClient}}Sync{{/isSyncClient}}(config)
8888

89-
client = {{classname}}{{#isSyncClient}}Sync{{/isSyncClient}}(app_id=config.app_id, api_key=config.api_key, {{#hasRegionalHost}}region=config.region, {{/hasRegionalHost}}transporter=transporter, config=config)
90-
9189
{{#isSearchClient}}
90+
_ingestion_transporter: Optional[IngestionClient{{#isSyncClient}}Sync{{/isSyncClient}}] = None
91+
9292
if config.region is not None:
9393
ingestion_config = IngestionConfig(config.app_id, config.api_key, config.region)
9494

9595
if config.hosts is not None:
9696
ingestion_config.hosts = config.hosts
9797

98-
client._ingestion_transporter = IngestionClient{{#isSyncClient}}Sync{{/isSyncClient}}.create_with_config(ingestion_config)
98+
_ingestion_transporter = IngestionClient{{#isSyncClient}}Sync{{/isSyncClient}}.create_with_config(ingestion_config)
9999
{{/isSearchClient}}
100100

101+
config.set_default_hosts()
102+
103+
client = {{classname}}{{#isSyncClient}}Sync{{/isSyncClient}}(app_id=config.app_id, api_key=config.api_key, {{#hasRegionalHost}}region=config.region, {{/hasRegionalHost}}transporter=transporter, config=config)
104+
105+
{{#isSearchClient}}
106+
if _ingestion_transporter is not None:
107+
client._ingestion_transporter = _ingestion_transporter
108+
{{/isSearchClient}}
109+
101110
return client
102111

103112
{{^isSyncClient}}

templates/python/config.mustache

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -46,14 +46,30 @@ class {{#lambda.pascalcase}}{{client}}{{/lambda.pascalcase}}Config(BaseConfig):
4646
if https_proxy is not None:
4747
self.proxies["https"] = https_proxy
4848

49+
4950
{{#hasRegionalHost}}
5051
self.region = region
52+
{{/hasRegionalHost}}
53+
54+
{{#isSearchClient}}
55+
self.region = None
56+
57+
def set_transformation_region(self, region: str = ""):
58+
"This method is required to be called with the appropriate region of your Algolia application if you wish to leverage the *_with_transformation methods."
59+
self.region = region
60+
{{/isSearchClient}}
61+
62+
def set_default_hosts(self):
63+
if self.hosts is not None:
64+
return
65+
66+
{{#hasRegionalHost}}
5167
_regions = [{{#allowedRegions}}'{{.}}'{{^-last}},{{/-last}}{{/allowedRegions}}]
5268

53-
if {{^fallbackToAliasHost}}not region or {{/fallbackToAliasHost}}(region is not None and region not in _regions):
69+
if {{^fallbackToAliasHost}}not self.region or {{/fallbackToAliasHost}}(self.region is not None and self.region not in _regions):
5470
raise ValueError(f"`region` {{^fallbackToAliasHost}}is required and {{/fallbackToAliasHost}}must be one of the following: {', '.join(_regions)}")
5571

56-
self.hosts = HostsCollection([Host({{#fallbackToAliasHost}}"{{{hostWithFallback}}}" if region is None else {{/fallbackToAliasHost}} "{{{regionalHost}}}".replace("{region}", region or ""))])
72+
self.hosts = HostsCollection([Host({{#fallbackToAliasHost}}"{{{hostWithFallback}}}" if self.region is None else {{/fallbackToAliasHost}} "{{{regionalHost}}}".replace("{region}", self.region or ""))])
5773
{{/hasRegionalHost}}
5874

5975
{{^hasRegionalHost}}
@@ -76,12 +92,4 @@ class {{#lambda.pascalcase}}{{client}}{{/lambda.pascalcase}}Config(BaseConfig):
7692
reorder_hosts=True,
7793
{{/hostWithAppID}}
7894
)
79-
{{/hasRegionalHost}}
80-
81-
{{#isSearchClient}}
82-
self.region = None
83-
84-
def set_transformation_region(self, region: str = ""):
85-
"This method is required to be called with the appropriate region of your Algolia application if you wish to leverage the *_with_transformation methods."
86-
self.region = region
87-
{{/isSearchClient}}
95+
{{/hasRegionalHost}}

0 commit comments

Comments
 (0)