nc-py-api 0.20.0__py3-none-any.whl → 0.20.1__py3-none-any.whl
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/_version.py +1 -1
- nc_py_api/ex_app/integration_fastapi.py +1 -1
- nc_py_api/files/_files.py +13 -1
- {nc_py_api-0.20.0.dist-info → nc_py_api-0.20.1.dist-info}/METADATA +1 -1
- {nc_py_api-0.20.0.dist-info → nc_py_api-0.20.1.dist-info}/RECORD +8 -8
- {nc_py_api-0.20.0.dist-info → nc_py_api-0.20.1.dist-info}/WHEEL +0 -0
- {nc_py_api-0.20.0.dist-info → nc_py_api-0.20.1.dist-info}/licenses/AUTHORS +0 -0
- {nc_py_api-0.20.0.dist-info → nc_py_api-0.20.1.dist-info}/licenses/LICENSE.txt +0 -0
nc_py_api/_version.py
CHANGED
|
@@ -247,7 +247,7 @@ class AppAPIAuthMiddleware:
|
|
|
247
247
|
|
|
248
248
|
conn = HTTPConnection(scope)
|
|
249
249
|
url_path = conn.url.path.lstrip("/")
|
|
250
|
-
if not fnmatch.
|
|
250
|
+
if not any(fnmatch.fnmatch(url_path, i) for i in self._disable_for):
|
|
251
251
|
try:
|
|
252
252
|
scope["username"] = _request_sign_check(conn, AsyncNextcloudApp())
|
|
253
253
|
except HTTPException as exc:
|
nc_py_api/files/_files.py
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"""Helper functions for **FilesAPI** and **AsyncFilesAPI** classes."""
|
|
2
2
|
|
|
3
3
|
import enum
|
|
4
|
+
from datetime import datetime, timezone
|
|
4
5
|
from io import BytesIO
|
|
5
6
|
from json import dumps, loads
|
|
7
|
+
from typing import Any
|
|
6
8
|
from urllib.parse import unquote
|
|
7
9
|
from xml.etree import ElementTree
|
|
8
10
|
|
|
@@ -69,6 +71,16 @@ def get_propfind_properties(capabilities: dict) -> list:
|
|
|
69
71
|
return r
|
|
70
72
|
|
|
71
73
|
|
|
74
|
+
def _dav_literal(val: Any) -> str:
|
|
75
|
+
"""Return a string suitable for <d:literal>."""
|
|
76
|
+
if isinstance(val, datetime):
|
|
77
|
+
# make timezone-aware, force UTC, second precision
|
|
78
|
+
dt = val if val.tzinfo else val.replace(tzinfo=timezone.utc)
|
|
79
|
+
dt = dt.astimezone(timezone.utc).replace(microsecond=0)
|
|
80
|
+
return dt.isoformat().replace("+00:00", "Z") # 2025-03-10T12:34:56Z
|
|
81
|
+
return str(val)
|
|
82
|
+
|
|
83
|
+
|
|
72
84
|
def build_find_request(req: list, path: str | FsNode, user: str, capabilities: dict) -> ElementTree.Element:
|
|
73
85
|
path = path.user_path if isinstance(path, FsNode) else path
|
|
74
86
|
root = ElementTree.Element(
|
|
@@ -126,7 +138,7 @@ def build_search_req(xml_element_where, req: list) -> None:
|
|
|
126
138
|
ElementTree.SubElement(_, SEARCH_PROPERTIES_MAP[req.pop(0)])
|
|
127
139
|
_ = ElementTree.SubElement(_root, "d:literal")
|
|
128
140
|
value = req.pop(0)
|
|
129
|
-
_.text =
|
|
141
|
+
_.text = _dav_literal(value)
|
|
130
142
|
|
|
131
143
|
while len(req):
|
|
132
144
|
where_part = req.pop(0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: nc-py-api
|
|
3
|
-
Version: 0.20.
|
|
3
|
+
Version: 0.20.1
|
|
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/
|
|
@@ -7,7 +7,7 @@ nc_py_api/_preferences_ex.py,sha256=tThj6U0ZZMaBZ-jUkjrbaI0xDnafWsBowQKsC6gjOQs,
|
|
|
7
7
|
nc_py_api/_session.py,sha256=8CjrT0ZDTg8cugRkukxUHGA_O7UsiwleawZ_KyEI6n0,20664
|
|
8
8
|
nc_py_api/_talk_api.py,sha256=0Uo7OduYniuuX3UQPb468RyGJJ-PWBCgJ5HoPuz5Qa0,51068
|
|
9
9
|
nc_py_api/_theming.py,sha256=hTr3nuOemSuRFZaPy9iXNmBM7rDgQHECH43tHMWGqEY,1870
|
|
10
|
-
nc_py_api/_version.py,sha256=
|
|
10
|
+
nc_py_api/_version.py,sha256=Q5xW6t8Rh86vyfZhssRiT8pW_WocfV4apFQKI0-fcgE,52
|
|
11
11
|
nc_py_api/activity.py,sha256=t9VDSnnaXRNOvALqOSGCeXSQZ-426pCOMSfQ96JHys4,9574
|
|
12
12
|
nc_py_api/apps.py,sha256=Us2y2lszdxXlD8t6kxwd5_Nrrmazc0EvZXIH9O-ol80,9315
|
|
13
13
|
nc_py_api/calendar_api.py,sha256=-T6CJ8cRbJZTLtxSEDWuuYpD29DMJGCTfLONmtxZV9w,1445
|
|
@@ -25,7 +25,7 @@ nc_py_api/weather_status.py,sha256=wAkjuJPjxc0Rxe4za0BzfwB0XeUmkCXoisJtTH3-qdQ,7
|
|
|
25
25
|
nc_py_api/webhooks.py,sha256=BGHRtankgbUkcqBRJTFShjRLpaVoFNcjLsrVitoNziM,8083
|
|
26
26
|
nc_py_api/ex_app/__init__.py,sha256=6Lwid4bBXOSrZf_ocf5m8qkkO1OgYxG0GTs4q6Nw72o,691
|
|
27
27
|
nc_py_api/ex_app/defs.py,sha256=FaQInH3jLugKxDUqpwrXdkMT-lBxmoqWmXJXc11fa6A,727
|
|
28
|
-
nc_py_api/ex_app/integration_fastapi.py,sha256=
|
|
28
|
+
nc_py_api/ex_app/integration_fastapi.py,sha256=848ugedpEsQ-0vGPLfF5VlgQxETPMQl_aQN-erJf4CE,11058
|
|
29
29
|
nc_py_api/ex_app/logger.py,sha256=nAHLObuPvl3UBLrlqZulgoxxVaAJ661iP4F6bTW-V-Y,1475
|
|
30
30
|
nc_py_api/ex_app/misc.py,sha256=c7B0uE8isaIi4SQbxURGUuWjZaaXiLg3Ov6cqvRYplE,2298
|
|
31
31
|
nc_py_api/ex_app/occ_commands.py,sha256=hb2BJuvFKIigvLycSCyAe9v6hedq4Gfu2junQZTaK_M,5219
|
|
@@ -41,12 +41,12 @@ nc_py_api/ex_app/ui/settings.py,sha256=f0R17lGhBfo2JQULVw_hFxhpfoPw_CW7vBu0Rb1AB
|
|
|
41
41
|
nc_py_api/ex_app/ui/top_menu.py,sha256=oCgGtIoMYbp-5iN5aXEbT7Q88HtccR7hg6IBFgbbyX4,5118
|
|
42
42
|
nc_py_api/ex_app/ui/ui.py,sha256=OqFHKn6oIZli8T1wnv6YtQ4glNfeNb90WwGCvtWI1Z4,1632
|
|
43
43
|
nc_py_api/files/__init__.py,sha256=aN6Lhc0km5eAIGFA8YoG-xXDOzIJILV2izCzHeC-a78,17949
|
|
44
|
-
nc_py_api/files/_files.py,sha256=
|
|
44
|
+
nc_py_api/files/_files.py,sha256=0jJ1yoq_wZUiB6pXrEG4iUhImcANEO5gXoqmUrJF_ws,14297
|
|
45
45
|
nc_py_api/files/files.py,sha256=7x4hfnVa2y1R5bxK9f8cdggi1gPnpUYnsBj0e4p-4qc,24926
|
|
46
46
|
nc_py_api/files/files_async.py,sha256=nyDeWiGx_8CHuVrNThSgfZy0l-WlC4El-TzJONo0TsM,25773
|
|
47
47
|
nc_py_api/files/sharing.py,sha256=VRZCl-TYK6dbu9rUHPs3_jcVozu1EO8bLGZwoRpiLsU,14439
|
|
48
|
-
nc_py_api-0.20.
|
|
49
|
-
nc_py_api-0.20.
|
|
50
|
-
nc_py_api-0.20.
|
|
51
|
-
nc_py_api-0.20.
|
|
52
|
-
nc_py_api-0.20.
|
|
48
|
+
nc_py_api-0.20.1.dist-info/METADATA,sha256=EQFPCoHQlmZ9n3dBfVNflhf1KADl4p_nsOPpMASgQoU,8055
|
|
49
|
+
nc_py_api-0.20.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
50
|
+
nc_py_api-0.20.1.dist-info/licenses/AUTHORS,sha256=B2Q9q9XH3PAxJp0V3GiKQc1l0z7vtGDpDHqda-ISWKM,616
|
|
51
|
+
nc_py_api-0.20.1.dist-info/licenses/LICENSE.txt,sha256=OLEMh401fAumGHfRSna365MLIfnjdTcdOHZ6QOzMjkg,1551
|
|
52
|
+
nc_py_api-0.20.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|