nc-py-api 0.21.1__py3-none-any.whl → 0.22.0__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 +18 -0
- nc_py_api/options.py +2 -0
- {nc_py_api-0.21.1.dist-info → nc_py_api-0.22.0.dist-info}/METADATA +1 -1
- {nc_py_api-0.21.1.dist-info → nc_py_api-0.22.0.dist-info}/RECORD +8 -8
- {nc_py_api-0.21.1.dist-info → nc_py_api-0.22.0.dist-info}/WHEEL +0 -0
- {nc_py_api-0.21.1.dist-info → nc_py_api-0.22.0.dist-info}/licenses/AUTHORS +0 -0
- {nc_py_api-0.21.1.dist-info → nc_py_api-0.22.0.dist-info}/licenses/LICENSE.txt +0 -0
nc_py_api/_version.py
CHANGED
|
@@ -61,6 +61,7 @@ def set_handlers(
|
|
|
61
61
|
default_init: bool = True,
|
|
62
62
|
models_to_fetch: dict[str, dict] | None = None,
|
|
63
63
|
map_app_static: bool = True,
|
|
64
|
+
trigger_handler: typing.Callable[[str], typing.Awaitable[None] | None] | None = None,
|
|
64
65
|
):
|
|
65
66
|
"""Defines handlers for the application.
|
|
66
67
|
|
|
@@ -93,6 +94,8 @@ def set_handlers(
|
|
|
93
94
|
:param map_app_static: Should be folders ``js``, ``css``, ``l10n``, ``img`` automatically mounted in FastAPI or not.
|
|
94
95
|
|
|
95
96
|
.. note:: First, presence of these directories in the current working dir is checked, then one directory higher.
|
|
97
|
+
|
|
98
|
+
:param trigger_handler: callback that is called for task processing `trigger` events with the id of the provider.
|
|
96
99
|
"""
|
|
97
100
|
if models_to_fetch is not None and default_init is False:
|
|
98
101
|
raise ValueError("`models_to_fetch` can be defined only with `default_init`=True.")
|
|
@@ -125,6 +128,21 @@ def set_handlers(
|
|
|
125
128
|
if map_app_static:
|
|
126
129
|
__map_app_static_folders(fast_api_app)
|
|
127
130
|
|
|
131
|
+
if trigger_handler:
|
|
132
|
+
if asyncio.iscoroutinefunction(trigger_handler):
|
|
133
|
+
|
|
134
|
+
@fast_api_app.post("/trigger")
|
|
135
|
+
async def trigger_callback(providerId: str): # pylint: disable=invalid-name
|
|
136
|
+
await trigger_handler(providerId)
|
|
137
|
+
return JSONResponse(content={})
|
|
138
|
+
|
|
139
|
+
else:
|
|
140
|
+
|
|
141
|
+
@fast_api_app.post("/trigger")
|
|
142
|
+
def trigger_callback(providerId: str): # pylint: disable=invalid-name
|
|
143
|
+
trigger_handler(providerId)
|
|
144
|
+
return JSONResponse(content={})
|
|
145
|
+
|
|
128
146
|
|
|
129
147
|
def __map_app_static_folders(fast_api_app: FastAPI):
|
|
130
148
|
"""Function to mount all necessary static folders to FastAPI."""
|
nc_py_api/options.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: nc-py-api
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.22.0
|
|
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=Y6sDBrFJc7lk8BoDUfjC_iwOfjSbPPNPpcSxsL1fyIM,
|
|
|
7
7
|
nc_py_api/_session.py,sha256=u45U4USdgbegBj3oAnm-OErFng2fAyleH1dWgshJSso,22018
|
|
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=hUeDIevdzurgTsk1Uo0m8u0An4IWucrh8zxG1wW377o,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=a2Q5EGf5_swWPYkUbHnoEg6h1S9KTEUQD7f7DljGHYY,1442
|
|
@@ -15,7 +15,7 @@ nc_py_api/loginflow_v2.py,sha256=QgR99Q59Q1My5U_PeLFkIAvEKhX_H7bIRrBZdddvmo4,576
|
|
|
15
15
|
nc_py_api/nextcloud.py,sha256=cKdsw0n_yFNdI-N8IIVIQKkSqmEzJnQtLBVqo24EVdM,22849
|
|
16
16
|
nc_py_api/notes.py,sha256=aM0SLVGKv8nBv_qI3z8sN08Z2721wLJUmEdwlo2EK1g,15112
|
|
17
17
|
nc_py_api/notifications.py,sha256=WgzV21TuLOhLk-UEjhBSbMsIi2isa5MmAx6cbe0pc2Y,9187
|
|
18
|
-
nc_py_api/options.py,sha256=
|
|
18
|
+
nc_py_api/options.py,sha256=fuAiua3HiFUZYLB7X3-6L7rp3oxYOJCLWCTyeA0nUIA,1751
|
|
19
19
|
nc_py_api/talk.py,sha256=OZFemYkDOaM6o4xAK3EvQbjMFiK75E5qnsCDyihIElg,29368
|
|
20
20
|
nc_py_api/talk_bot.py,sha256=QXaKKwIRRcOAnqoJgfzK3ub0aDPTUmTkagls-a0XZW0,16840
|
|
21
21
|
nc_py_api/user_status.py,sha256=I101nwYS8X1WvC8AnLa2f3qJUCPDPHrbq-ke0h1VT4E,13282
|
|
@@ -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=BxE7oMZ5q2D5mRjTsd7k9mZEU7XH2yYp8fQvBHHUWgc,13392
|
|
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
|
|
@@ -45,8 +45,8 @@ nc_py_api/files/_files.py,sha256=t7KBZE3fHmfVk0WZuQF9usCMY_b4rzX1ct1aIZx3RYw,143
|
|
|
45
45
|
nc_py_api/files/files.py,sha256=A05iT_s5cYMK1MtarqdjTZP9QA1l_SiINq805VLrzuY,24999
|
|
46
46
|
nc_py_api/files/files_async.py,sha256=GoTPswMgozcx3Vkbj4YSitNeP7vpPJ4lIbrCnj77rP4,25858
|
|
47
47
|
nc_py_api/files/sharing.py,sha256=VRZCl-TYK6dbu9rUHPs3_jcVozu1EO8bLGZwoRpiLsU,14439
|
|
48
|
-
nc_py_api-0.
|
|
49
|
-
nc_py_api-0.
|
|
50
|
-
nc_py_api-0.
|
|
51
|
-
nc_py_api-0.
|
|
52
|
-
nc_py_api-0.
|
|
48
|
+
nc_py_api-0.22.0.dist-info/METADATA,sha256=6CGpk5oqgcosb-sjxhP4RVmyHd92ratTVSZjbPaZL1E,8024
|
|
49
|
+
nc_py_api-0.22.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
50
|
+
nc_py_api-0.22.0.dist-info/licenses/AUTHORS,sha256=B2Q9q9XH3PAxJp0V3GiKQc1l0z7vtGDpDHqda-ISWKM,616
|
|
51
|
+
nc_py_api-0.22.0.dist-info/licenses/LICENSE.txt,sha256=OLEMh401fAumGHfRSna365MLIfnjdTcdOHZ6QOzMjkg,1551
|
|
52
|
+
nc_py_api-0.22.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|