python3-commons 0.18.1__tar.gz → 0.18.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {python3_commons-0.18.1/src/python3_commons.egg-info → python3_commons-0.18.3}/PKG-INFO +1 -1
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/soap_client.py +42 -2
- {python3_commons-0.18.1 → python3_commons-0.18.3/src/python3_commons.egg-info}/PKG-INFO +1 -1
- {python3_commons-0.18.1 → python3_commons-0.18.3}/.coveragerc +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/.devcontainer/Dockerfile +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/.devcontainer/devcontainer.json +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/.devcontainer/docker-compose.yml +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/.env_template +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/.github/workflows/checks.yml +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/.github/workflows/python-publish.yaml +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/.github/workflows/release-on-tag-push.yml +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/.gitignore +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/.pre-commit-config.yaml +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/.python-version +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/AUTHORS.rst +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/CHANGELOG.rst +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/LICENSE +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/README.md +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/README.rst +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/docs/Makefile +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/docs/_static/.gitignore +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/docs/authors.rst +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/docs/changelog.rst +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/docs/conf.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/docs/index.rst +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/docs/license.rst +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/pyproject.toml +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/setup.cfg +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/__init__.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/api_client.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/async_functools.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/audit.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/auth.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/cache.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/conf.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/db/__init__.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/db/helpers.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/db/models/__init__.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/db/models/auth.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/db/models/common.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/db/models/rbac.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/db/models/users.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/exceptions.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/fs.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/generators.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/helpers.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/log/__init__.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/log/filters.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/log/formatters.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/object_storage.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/permissions.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/serializers/__init__.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/serializers/common.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/serializers/json.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/serializers/msgpack.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/serializers/msgspec.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons.egg-info/SOURCES.txt +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons.egg-info/dependency_links.txt +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons.egg-info/requires.txt +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons.egg-info/top_level.txt +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/tests/__init__.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/tests/integration/__init__.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/tests/integration/test_cache.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/tests/integration/test_osc.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/tests/unit/__init__.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/tests/unit/conftest.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/tests/unit/log/__init__.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/tests/unit/log/test_formatters.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/tests/unit/test_async_functools.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/tests/unit/test_audit.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/tests/unit/test_helpers.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/tests/unit/test_msgpack.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/tests/unit/test_msgspec.py +0 -0
- {python3_commons-0.18.1 → python3_commons-0.18.3}/uv.lock +0 -0
|
@@ -4,6 +4,8 @@ Async SOAP client built on aiohttp + zeep.
|
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
7
|
+
import asyncio
|
|
8
|
+
import concurrent.futures
|
|
7
9
|
import logging
|
|
8
10
|
from collections.abc import AsyncIterator, Sequence
|
|
9
11
|
from contextlib import asynccontextmanager
|
|
@@ -165,6 +167,40 @@ class AsyncTransport(Transport):
|
|
|
165
167
|
|
|
166
168
|
return await _fetch()
|
|
167
169
|
|
|
170
|
+
def load(self, url: str) -> bytes:
|
|
171
|
+
"""Sync entry-point zeep calls during WSDL document init."""
|
|
172
|
+
if not url:
|
|
173
|
+
return b""
|
|
174
|
+
|
|
175
|
+
async def _fetch() -> bytes:
|
|
176
|
+
connector = TCPConnector(ssl=self._config.verify_ssl)
|
|
177
|
+
|
|
178
|
+
async with ClientSession(
|
|
179
|
+
connector=connector,
|
|
180
|
+
timeout=ClientTimeout(total=self._config.timeout),
|
|
181
|
+
headers={"User-Agent": f"Zeep/{get_version()} (www.python-zeep.org)"},
|
|
182
|
+
) as session:
|
|
183
|
+
async with session.get(url, proxy=self._config.proxy) as resp:
|
|
184
|
+
content = await resp.read()
|
|
185
|
+
|
|
186
|
+
if resp.status >= 400:
|
|
187
|
+
raise TransportError(
|
|
188
|
+
status_code=resp.status,
|
|
189
|
+
message=content.decode(errors="ignore"),
|
|
190
|
+
)
|
|
191
|
+
|
|
192
|
+
return content
|
|
193
|
+
|
|
194
|
+
try:
|
|
195
|
+
loop = asyncio.get_event_loop()
|
|
196
|
+
|
|
197
|
+
return loop.run_until_complete(_fetch())
|
|
198
|
+
except RuntimeError:
|
|
199
|
+
with concurrent.futures.ThreadPoolExecutor(max_workers=1) as pool:
|
|
200
|
+
future = pool.submit(asyncio.run, _fetch())
|
|
201
|
+
|
|
202
|
+
return future.result()
|
|
203
|
+
|
|
168
204
|
async def post(
|
|
169
205
|
self,
|
|
170
206
|
address: str,
|
|
@@ -256,5 +292,9 @@ async def soap_client(
|
|
|
256
292
|
"""
|
|
257
293
|
transport = AsyncTransport.from_config(config, session=session)
|
|
258
294
|
|
|
259
|
-
|
|
260
|
-
|
|
295
|
+
try:
|
|
296
|
+
client = build_soap_client(wsdl_url, transport, plugins) # WSDL loaded here (sync via load())
|
|
297
|
+
|
|
298
|
+
yield client
|
|
299
|
+
finally:
|
|
300
|
+
await transport.aclose()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/serializers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/serializers/msgpack.py
RENAMED
|
File without changes
|
{python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons/serializers/msgspec.py
RENAMED
|
File without changes
|
|
File without changes
|
{python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
{python3_commons-0.18.1 → python3_commons-0.18.3}/src/python3_commons.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|