nc-py-api 0.18.1__tar.gz → 0.18.2__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.
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/CHANGELOG.md +7 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/PKG-INFO +2 -1
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/_session.py +3 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/_version.py +1 -1
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/options.py +12 -1
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/pyproject.toml +1 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/.gitignore +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/AUTHORS +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/LICENSE.txt +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/README.md +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/__init__.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/_deffered_error.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/_exceptions.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/_misc.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/_preferences.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/_preferences_ex.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/_talk_api.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/_theming.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/activity.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/apps.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/calendar.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/ex_app/__init__.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/ex_app/defs.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/ex_app/events_listener.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/ex_app/integration_fastapi.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/ex_app/logging.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/ex_app/misc.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/ex_app/occ_commands.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/ex_app/persist_transformers_cache.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/ex_app/providers/__init__.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/ex_app/providers/providers.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/ex_app/providers/task_processing.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/ex_app/ui/__init__.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/ex_app/ui/files_actions.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/ex_app/ui/resources.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/ex_app/ui/settings.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/ex_app/ui/top_menu.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/ex_app/ui/ui.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/ex_app/uvicorn_fastapi.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/files/__init__.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/files/_files.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/files/files.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/files/files_async.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/files/sharing.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/loginflow_v2.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/nextcloud.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/notes.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/notifications.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/talk.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/talk_bot.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/user_status.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/users.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/users_groups.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/weather_status.py +0 -0
- {nc_py_api-0.18.1 → nc_py_api-0.18.2}/nc_py_api/webhooks.py +0 -0
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.18.2 - 2025-01-19]
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- Default "User-Agent" for ExApps now set to `ExApp/appid/version (httpx/version)`. #329
|
|
10
|
+
- `System Trust Store` from now are used by default. #328
|
|
11
|
+
|
|
5
12
|
## [0.18.1 - 2025-01-14]
|
|
6
13
|
|
|
7
14
|
### Fixed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: nc-py-api
|
|
3
|
-
Version: 0.18.
|
|
3
|
+
Version: 0.18.2
|
|
4
4
|
Summary: Nextcloud Python Framework
|
|
5
5
|
Project-URL: Changelog, https://github.com/cloud-py-api/nc_py_api/blob/main/CHANGELOG.md
|
|
6
6
|
Project-URL: Documentation, https://cloud-py-api.github.io/nc_py_api/
|
|
@@ -34,6 +34,7 @@ Requires-Dist: fastapi>=0.109.2
|
|
|
34
34
|
Requires-Dist: httpx>=0.25.2
|
|
35
35
|
Requires-Dist: pydantic>=2.1.1
|
|
36
36
|
Requires-Dist: python-dotenv>=1
|
|
37
|
+
Requires-Dist: truststore==0.10
|
|
37
38
|
Requires-Dist: xmltodict>=0.13
|
|
38
39
|
Provides-Extra: app
|
|
39
40
|
Requires-Dist: uvicorn[standard]>=0.23.2; extra == 'app'
|
|
@@ -12,6 +12,7 @@ from json import loads
|
|
|
12
12
|
from os import environ
|
|
13
13
|
|
|
14
14
|
from httpx import AsyncClient, Client, Headers, Limits, ReadTimeout, Request, Response
|
|
15
|
+
from httpx import __version__ as httpx_version
|
|
15
16
|
from starlette.requests import HTTPConnection
|
|
16
17
|
|
|
17
18
|
from . import options
|
|
@@ -511,6 +512,7 @@ class NcSessionApp(NcSessionAppBasic, NcSessionBasic):
|
|
|
511
512
|
"AA-VERSION": self.cfg.aa_version,
|
|
512
513
|
"EX-APP-ID": self.cfg.app_name,
|
|
513
514
|
"EX-APP-VERSION": self.cfg.app_version,
|
|
515
|
+
"user-agent": f"ExApp/{self.cfg.app_name}/{self.cfg.app_version} (httpx/{httpx_version})",
|
|
514
516
|
},
|
|
515
517
|
)
|
|
516
518
|
|
|
@@ -535,6 +537,7 @@ class AsyncNcSessionApp(NcSessionAppBasic, AsyncNcSessionBasic):
|
|
|
535
537
|
"AA-VERSION": self.cfg.aa_version,
|
|
536
538
|
"EX-APP-ID": self.cfg.app_name,
|
|
537
539
|
"EX-APP-VERSION": self.cfg.app_version,
|
|
540
|
+
"User-Agent": f"ExApp/{self.cfg.app_name}/{self.cfg.app_version} (httpx/{httpx_version})",
|
|
538
541
|
},
|
|
539
542
|
)
|
|
540
543
|
|
|
@@ -33,11 +33,22 @@ NPA_NC_CERT: bool | str
|
|
|
33
33
|
SSL certificates (a.k.a CA bundle) used to verify the identity of requested hosts. Either **True** (default CA bundle),
|
|
34
34
|
a path to an SSL certificate file, or **False** (which will disable verification)."""
|
|
35
35
|
str_val = environ.get("NPA_NC_CERT", "True")
|
|
36
|
-
|
|
36
|
+
# https://github.com/encode/httpx/issues/302
|
|
37
|
+
# when "httpx" will switch to use "truststore" by default - uncomment next line
|
|
38
|
+
# NPA_NC_CERT = True
|
|
37
39
|
if str_val.lower() in ("false", "0"):
|
|
38
40
|
NPA_NC_CERT = False
|
|
39
41
|
elif str_val.lower() not in ("true", "1"):
|
|
40
42
|
NPA_NC_CERT = str_val
|
|
43
|
+
else:
|
|
44
|
+
# Temporary workaround, see comment above.
|
|
45
|
+
# Use system certificate stores
|
|
46
|
+
|
|
47
|
+
import ssl
|
|
48
|
+
|
|
49
|
+
import truststore
|
|
50
|
+
|
|
51
|
+
NPA_NC_CERT = truststore.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
|
|
41
52
|
|
|
42
53
|
CHUNKED_UPLOAD_V2 = environ.get("CHUNKED_UPLOAD_V2", True)
|
|
43
54
|
"""Option to enable/disable **version 2** chunked upload(better Object Storages support).
|
|
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
|
|
File without changes
|