splent-feature-autodeploy 0.1.2__tar.gz → 0.2.0__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.
- {splent_feature_autodeploy-0.1.2/src/splent_feature_autodeploy.egg-info → splent_feature_autodeploy-0.2.0}/PKG-INFO +2 -1
- {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/pyproject.toml +8 -5
- {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0/src/splent_feature_autodeploy.egg-info}/PKG-INFO +2 -1
- {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/src/splent_feature_autodeploy.egg-info/SOURCES.txt +1 -0
- splent_feature_autodeploy-0.2.0/src/splent_feature_autodeploy.egg-info/requires.txt +1 -0
- splent_feature_autodeploy-0.2.0/src/splent_io/splent_feature_autodeploy/__init__.py +39 -0
- {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/src/splent_io/splent_feature_autodeploy/hooks.py +3 -0
- {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/src/splent_io/splent_feature_autodeploy/templates/autodeploy/index.html +1 -1
- splent_feature_autodeploy-0.1.2/src/splent_io/splent_feature_autodeploy/__init__.py +0 -14
- {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/COPYING +0 -0
- {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/COPYING.LESSER +0 -0
- {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/MANIFEST.in +0 -0
- {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/README.md +0 -0
- {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/setup.cfg +0 -0
- {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/src/splent_feature_autodeploy.egg-info/dependency_links.txt +0 -0
- {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/src/splent_feature_autodeploy.egg-info/top_level.txt +0 -0
- {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/src/splent_io/splent_feature_autodeploy/commands.py +0 -0
- {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/src/splent_io/splent_feature_autodeploy/config.py +0 -0
- {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/src/splent_io/splent_feature_autodeploy/forms.py +0 -0
- {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/src/splent_io/splent_feature_autodeploy/presenters.py +0 -0
- {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/src/splent_io/splent_feature_autodeploy/routes.py +0 -0
- {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/src/splent_io/splent_feature_autodeploy/services.py +0 -0
- {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/src/splent_io/splent_feature_autodeploy/templates/hooks/sidebar_deployments.html +0 -0
- {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/src/splent_io/splent_feature_autodeploy/translations/es/LC_MESSAGES/messages.mo +0 -0
- {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/src/splent_io/splent_feature_autodeploy/translations/es/LC_MESSAGES/messages.po +0 -0
- {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/src/splent_io/splent_feature_autodeploy/translations/messages.pot +0 -0
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: splent_feature_autodeploy
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
4
4
|
License-Expression: LGPL-3.0-or-later
|
|
5
5
|
Requires-Python: >=3.13
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
7
7
|
License-File: COPYING
|
|
8
8
|
License-File: COPYING.LESSER
|
|
9
|
+
Requires-Dist: splent_framework>=1.20.0
|
|
9
10
|
Dynamic: license-file
|
|
10
11
|
|
|
11
12
|
# splent_feature_autodeploy
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "splent_feature_autodeploy"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.2.0"
|
|
8
8
|
readme = "README.md"
|
|
9
9
|
requires-python = ">=3.13"
|
|
10
10
|
license = "LGPL-3.0-or-later"
|
|
@@ -14,7 +14,9 @@ license-files = ["COPYING", "COPYING.LESSER"]
|
|
|
14
14
|
# dependency (docker-py) is installed in its image by docker/Dockerfile and
|
|
15
15
|
# is not needed here.
|
|
16
16
|
dependencies = [
|
|
17
|
-
|
|
17
|
+
# The page's entry goes through the framework's menu registry and the
|
|
18
|
+
# page extends shell('app'), both in the framework since 1.20.0.
|
|
19
|
+
"splent_framework>=1.20.0",
|
|
18
20
|
]
|
|
19
21
|
|
|
20
22
|
[tool.setuptools]
|
|
@@ -29,9 +31,10 @@ exclude = ["*.tests", "*.tests.*"]
|
|
|
29
31
|
cli_version = "1.28.2"
|
|
30
32
|
|
|
31
33
|
# ── Feature Contract (auto-generated) ────────────────────────────────────────
|
|
32
|
-
#
|
|
33
|
-
#
|
|
34
|
-
# requires.features_manual (dependencies invisible to static analysis)
|
|
34
|
+
# Run `splent feature:contract --write` to refresh it from the source.
|
|
35
|
+
# A refresh keeps description, category, tags, env,
|
|
36
|
+
# requires.features_manual (dependencies invisible to static analysis),
|
|
37
|
+
# requires.features_optional (what the scan infers is added to it)
|
|
35
38
|
# and provides.routes_manual (routes built from configuration at
|
|
36
39
|
# registration time, which have no literal path to find in source).
|
|
37
40
|
[tool.splent.contract]
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: splent_feature_autodeploy
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
4
4
|
License-Expression: LGPL-3.0-or-later
|
|
5
5
|
Requires-Python: >=3.13
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
7
7
|
License-File: COPYING
|
|
8
8
|
License-File: COPYING.LESSER
|
|
9
|
+
Requires-Dist: splent_framework>=1.20.0
|
|
9
10
|
Dynamic: license-file
|
|
10
11
|
|
|
11
12
|
# splent_feature_autodeploy
|
|
@@ -6,6 +6,7 @@ pyproject.toml
|
|
|
6
6
|
src/splent_feature_autodeploy.egg-info/PKG-INFO
|
|
7
7
|
src/splent_feature_autodeploy.egg-info/SOURCES.txt
|
|
8
8
|
src/splent_feature_autodeploy.egg-info/dependency_links.txt
|
|
9
|
+
src/splent_feature_autodeploy.egg-info/requires.txt
|
|
9
10
|
src/splent_feature_autodeploy.egg-info/top_level.txt
|
|
10
11
|
src/splent_io/splent_feature_autodeploy/__init__.py
|
|
11
12
|
src/splent_io/splent_feature_autodeploy/commands.py
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
splent_framework>=1.20.0
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
from splent_framework.blueprints.base_blueprint import create_blueprint
|
|
2
|
+
from splent_framework.services.service_locator import register_service
|
|
3
|
+
|
|
4
|
+
from splent_io.splent_feature_autodeploy.services import AutodeployService
|
|
5
|
+
|
|
6
|
+
autodeploy_bp = create_blueprint(__name__)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def init_feature(app):
|
|
10
|
+
register_service(app, "AutodeployService", AutodeployService)
|
|
11
|
+
_register_menu()
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def _register_menu():
|
|
15
|
+
"""The Deployments page's entry in the Administration section.
|
|
16
|
+
|
|
17
|
+
No roles here: the entry takes the ones role_required gives the page
|
|
18
|
+
(the admin feature's ADMIN_ROLES), so it shows to exactly the accounts
|
|
19
|
+
the page lets in. Like the hook, it never calls the agent. The
|
|
20
|
+
layout.authenticated_sidebar hook in hooks.py draws the same entry for
|
|
21
|
+
the shells that still render slots; it stays for one minor, and a shell
|
|
22
|
+
draws one or the other, never both.
|
|
23
|
+
"""
|
|
24
|
+
from flask_babel import lazy_gettext as _l
|
|
25
|
+
from splent_framework.nav.menu_registry import register_menu_item
|
|
26
|
+
|
|
27
|
+
register_menu_item(
|
|
28
|
+
"autodeploy",
|
|
29
|
+
_l("Deployments"),
|
|
30
|
+
endpoint="autodeploy.index",
|
|
31
|
+
icon="upload-cloud",
|
|
32
|
+
section="admin",
|
|
33
|
+
order=80,
|
|
34
|
+
match="autodeploy.",
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def inject_context_vars(app):
|
|
39
|
+
return {}
|
|
@@ -26,4 +26,7 @@ def deployments_sidebar_item():
|
|
|
26
26
|
return render_template("hooks/sidebar_deployments.html")
|
|
27
27
|
|
|
28
28
|
|
|
29
|
+
# The same entry is in the menu registry (see _register_menu in __init__.py).
|
|
30
|
+
# This hook stays for one minor, for the shells that still render the slot
|
|
31
|
+
# instead of the registry.
|
|
29
32
|
register_template_hook("layout.authenticated_sidebar", deployments_sidebar_item)
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
from splent_framework.blueprints.base_blueprint import create_blueprint
|
|
2
|
-
from splent_framework.services.service_locator import register_service
|
|
3
|
-
|
|
4
|
-
from splent_io.splent_feature_autodeploy.services import AutodeployService
|
|
5
|
-
|
|
6
|
-
autodeploy_bp = create_blueprint(__name__)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
def init_feature(app):
|
|
10
|
-
register_service(app, "AutodeployService", AutodeployService)
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
def inject_context_vars(app):
|
|
14
|
-
return {}
|
|
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
|