Skip to content

Commit d166bcd

Browse files
committed
dev 0.0.30 [ci skip]
Signed-off-by: Alexander Piskun <[email protected]>
1 parent e514f26 commit d166bcd

File tree

13 files changed

+94
-57
lines changed

13 files changed

+94
-57
lines changed

.run/Skeleton.run.xml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<component name="ProjectRunConfigurationManager">
2+
<configuration default="false" name="Skeleton" type="PythonConfigurationType" factoryName="Python">
3+
<module name="nc_py_api" />
4+
<option name="INTERPRETER_OPTIONS" value="" />
5+
<option name="PARENT_ENVS" value="true" />
6+
<envs>
7+
<env name="APP_ID" value="skeleton" />
8+
<env name="APP_PORT" value="9030" />
9+
<env name="APP_SECRET" value="12345" />
10+
<env name="APP_VERSION" value="1.0.0" />
11+
<env name="NEXTCLOUD_URL" value="http://nextcloud.local/index.php" />
12+
<env name="PYTHONUNBUFFERED" value="1" />
13+
</envs>
14+
<option name="SDK_HOME" value="" />
15+
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
16+
<option name="IS_MODULE_SDK" value="true" />
17+
<option name="ADD_CONTENT_ROOTS" value="true" />
18+
<option name="ADD_SOURCE_ROOTS" value="true" />
19+
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
20+
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/examples/as_app/skeleton/src/main.py" />
21+
<option name="PARAMETERS" value="" />
22+
<option name="SHOW_COMMAND_LINE" value="false" />
23+
<option name="EMULATE_TERMINAL" value="false" />
24+
<option name="MODULE_MODE" value="false" />
25+
<option name="REDIRECT_INPUT" value="false" />
26+
<option name="INPUT_FILE" value="" />
27+
<method v="2" />
28+
</configuration>
29+
</component>

.run/to_gif.run.xml renamed to .run/ToGif.run.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
<component name="ProjectRunConfigurationManager">
2-
<configuration default="false" name="to_gif" type="PythonConfigurationType" factoryName="Python">
2+
<configuration default="false" name="ToGif" type="PythonConfigurationType" factoryName="Python">
33
<module name="nc_py_api" />
44
<option name="INTERPRETER_OPTIONS" value="" />
55
<option name="PARENT_ENVS" value="true" />
66
<envs>
7-
<env name="PYTHONUNBUFFERED" value="1" />
87
<env name="APP_ID" value="to_gif" />
9-
<env name="APP_PORT" value="9029" />
8+
<env name="APP_PORT" value="9031" />
109
<env name="APP_SECRET" value="12345" />
1110
<env name="APP_VERSION" value="1.0.0" />
1211
<env name="NEXTCLOUD_URL" value="http://nextcloud.local/index.php" />
12+
<env name="PYTHONUNBUFFERED" value="1" />
1313
</envs>
1414
<option name="SDK_HOME" value="" />
1515
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />

.run/register.run.xml renamed to .run/register_nc_py_api.run.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
<component name="ProjectRunConfigurationManager">
2-
<configuration default="false" name="register" type="PythonConfigurationType" factoryName="Python">
2+
<configuration default="false" name="register_nc_py_api" type="PythonConfigurationType" factoryName="Python">
33
<module name="nc_py_api" />
44
<option name="INTERPRETER_OPTIONS" value="" />
55
<option name="PARENT_ENVS" value="true" />
66
<envs>
7+
<env name="PYTHONUNBUFFERED" value="1" />
78
<env name="APP_ID" value="nc_py_api" />
89
<env name="APP_PORT" value="9009" />
910
<env name="APP_SECRET" value="12345" />
1011
<env name="APP_VERSION" value="1.0.0" />
1112
<env name="NEXTCLOUD_URL" value="http://nextcloud.local/index.php" />
12-
<env name="PYTHONUNBUFFERED" value="1" />
1313
</envs>
1414
<option name="SDK_HOME" value="" />
1515
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/tests" />

CHANGELOG.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,15 @@
22

33
All notable changes to this project will be documented in this file.
44

5-
## [0.0.30 - 2023-08-17]
5+
## [0.0.30 - 2023-08-15]
66

77
### Added
88

99
- `Nextcloud.response_headers` property, to get headers from last response.
10+
1011
### Changed
1112

12-
- Reworked `External API` declarations, skeleton made much simpler.
13+
- Reworked skeleton for the applications, added skeleton to examples.
1314

1415
## [0.0.29 - 2023-08-13]
1516

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
.PHONY: docs
44
.PHONY: html
55
docs html:
6+
rm -rf docs/_build
67
$(MAKE) -C docs html
78

89
.PHONY: help

examples/as_app/skeleton/Makefile

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,45 +2,45 @@
22

33
.PHONY: help
44
help:
5-
@echo "Welcome to app_python_skeleton example. Please use \`make <target>\` where <target> is one of"
5+
@echo "Welcome to Skeleton example. Please use \`make <target>\` where <target> is one of"
66
@echo " "
77
@echo " Next commands are only for dev environment with nextcloud-docker-dev!"
88
@echo " They should run from the host you are developing on(with activated venv) and not in the container with Nextcloud!"
99
@echo " "
1010
@echo " build-push build image and upload to ghcr.io"
1111
@echo " "
12-
@echo " deploy deploy example to registered 'docker_dev'"
12+
@echo " deploy deploy Skeleton to registered 'docker_dev'"
1313
@echo " "
14-
@echo " run28 install app_python_skeleton for Nextcloud 28"
15-
@echo " run27 install app_python_skeleton for Nextcloud 27"
14+
@echo " run28 install Skeleton for Nextcloud 28"
15+
@echo " run27 install Skeleton for Nextcloud 27"
1616
@echo " "
1717
@echo " For development of this example use PyCharm run configurations. Development is always set for last Nextcloud."
18-
@echo " First run 'app_python_skeleton' and then 'make manual_register', after that you can use/debug/develop it and easy test."
18+
@echo " First run 'Skeleton' and then 'make manual_register', after that you can use/debug/develop it and easy test."
1919
@echo " "
20-
@echo " manual_register perform registration of running 'app_python_skeleton' into 'manual_install' deploy daemon."
20+
@echo " manual_register perform registration of running Skeleton into the 'manual_install' deploy daemon."
2121

2222
.PHONY: build-push
2323
build-push:
2424
docker login ghcr.io
25-
docker buildx build --push --platform linux/arm64/v8,linux/amd64 --tag ghcr.io/cloud-py-api/py_app_v2-skeleton:latest .
25+
docker buildx build --push --platform linux/arm64/v8,linux/amd64 --tag ghcr.io/cloud-py-api/skeleton:latest .
2626

2727
.PHONY: deploy
2828
deploy:
29-
docker exec master-nextcloud-1 sudo -u www-data php occ app_ecosystem_v2:app:deploy app_python_skeleton docker_dev \
29+
docker exec master-nextcloud-1 sudo -u www-data php occ app_ecosystem_v2:app:deploy skeleton docker_dev \
3030
--info-xml https://raw.githubusercontent.com/cloud-py-api/nc_py_api/main/examples/as_app/skeleton/appinfo/info.xml
3131

3232
.PHONY: run28
3333
run28:
34-
docker exec master-nextcloud-1 sudo -u www-data php occ app_ecosystem_v2:app:unregister app_python_skeleton --silent || true
35-
docker exec master-nextcloud-1 sudo -u www-data php occ app_ecosystem_v2:app:register app_python_skeleton docker_dev -e --force-scopes
34+
docker exec master-nextcloud-1 sudo -u www-data php occ app_ecosystem_v2:app:unregister skeleton --silent || true
35+
docker exec master-nextcloud-1 sudo -u www-data php occ app_ecosystem_v2:app:register skeleton docker_dev -e --force-scopes
3636

3737
.PHONY: run27
3838
run27:
39-
docker exec master-stable27-1 sudo -u www-data php occ app_ecosystem_v2:app:unregister app_python_skeleton --silent || true
40-
docker exec master-nextcloud-1 sudo -u www-data php occ app_ecosystem_v2:app:register app_python_skeleton docker_dev -e --force-scopes
39+
docker exec master-stable27-1 sudo -u www-data php occ app_ecosystem_v2:app:unregister skeleton --silent || true
40+
docker exec master-nextcloud-1 sudo -u www-data php occ app_ecosystem_v2:app:register skeleton docker_dev -e --force-scopes
4141

4242
.PHONY: manual_register
4343
manual_register:
44-
docker exec master-nextcloud-1 sudo -u www-data php occ app_ecosystem_v2:app:register app_python_skeleton manual_install --json-info \
45-
"{\"appid\":\"app_python_skeleton\",\"name\":\"App Python Skeleton\",\"daemon_config_name\":\"manual_install\",\"version\":\"1.0.0\",\"secret\":\"12345\",\"host\":\"host.docker.internal\",\"port\":9029,\"scopes\":{\"required\":[],\"optional\":[]},\"protocol\":\"http\",\"system_app\":0}" \
44+
docker exec master-nextcloud-1 sudo -u www-data php occ app_ecosystem_v2:app:register skeleton manual_install --json-info \
45+
"{\"appid\":\"skeleton\",\"name\":\"App Skeleton\",\"daemon_config_name\":\"manual_install\",\"version\":\"1.0.0\",\"secret\":\"12345\",\"host\":\"host.docker.internal\",\"port\":9030,\"scopes\":{\"required\":[],\"optional\":[]},\"protocol\":\"http\",\"system_app\":0}" \
4646
-e --force-scopes

examples/as_app/skeleton/appinfo/info.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<?xml version="1.0"?>
22
<info>
3-
<id>app_python_skeleton</id>
4-
<name>App Python Skeleton</name>
3+
<id>skeleton</id>
4+
<name>App Skeleton</name>
55
<summary>Nextcloud Python Application Skeleton</summary>
66
<description>
7-
<![CDATA[Example of the Nextcloud application written in python]]>
7+
<![CDATA[Simplest skeleton of the Nextcloud application written in python]]>
88
</description>
99
<version>1.0.0</version>
1010
<licence>MIT</licence>
@@ -21,7 +21,7 @@
2121
<ex-app>
2222
<docker-install>
2323
<registry>ghcr.io</registry>
24-
<image>cloud-py-api/py_app_v2-skeleton</image>
24+
<image>cloud-py-api/skeleton</image>
2525
<image-tag>latest</image-tag>
2626
</docker-install>
2727
<scopes>

examples/as_app/skeleton/src/main.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from fastapi import FastAPI
66

77
from nc_py_api import NextcloudApp
8-
from nc_py_api.ex_app import LogLvl, run_app
8+
from nc_py_api.ex_app import LogLvl, run_app, set_handlers
99

1010
APP = FastAPI()
1111

@@ -23,5 +23,10 @@ def enabled_handler(enabled: bool, nc: NextcloudApp) -> str:
2323
return ""
2424

2525

26+
@APP.on_event("startup")
27+
def initialization():
28+
set_handlers(APP, enabled_handler)
29+
30+
2631
if __name__ == "__main__":
27-
run_app(APP, enabled_handler, "main:APP", log_level="trace")
32+
run_app("main:APP", log_level="trace")

examples/as_app/to_gif/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ help:
1717
@echo " For development of this example use PyCharm run configurations. Development is always set for last Nextcloud."
1818
@echo " First run 'to_gif' and then 'make manual_register', after that you can use/debug/develop it and easy test."
1919
@echo " "
20-
@echo " manual_register perform registration of running 'to_gif' into 'manual_install' deploy daemon."
20+
@echo " manual_register perform registration of running 'to_gif' into the 'manual_install' deploy daemon."
2121

2222
.PHONY: build-push
2323
build-push:
@@ -42,5 +42,5 @@ run27:
4242
.PHONY: manual_register
4343
manual_register:
4444
docker exec master-nextcloud-1 sudo -u www-data php occ app_ecosystem_v2:app:register to_gif manual_install --json-info \
45-
"{\"appid\":\"to_gif\",\"name\":\"to_gif\",\"daemon_config_name\":\"manual_install\",\"version\":\"1.0.0\",\"secret\":\"12345\",\"host\":\"host.docker.internal\",\"port\":9029,\"scopes\":{\"required\":[10],\"optional\":[32]},\"protocol\":\"http\",\"system_app\":0}" \
45+
"{\"appid\":\"to_gif\",\"name\":\"to_gif\",\"daemon_config_name\":\"manual_install\",\"version\":\"1.0.0\",\"secret\":\"12345\",\"host\":\"host.docker.internal\",\"port\":9030,\"scopes\":{\"required\":[10],\"optional\":[32]},\"protocol\":\"http\",\"system_app\":0}" \
4646
-e --force-scopes

nc_py_api/ex_app/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
"""All possible ExApp stuff for NextcloudApp that can be used."""
22
from .defs import ApiScope, LogLvl
3-
from .integration_fastapi import nc_app
3+
from .integration_fastapi import nc_app, set_handlers
44
from .ui.files import UiActionFileInfo, UiFileActionHandlerInfo
55
from .uvicorn_fastapi import run_app

0 commit comments

Comments
 (0)