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.
Files changed (26) hide show
  1. {splent_feature_autodeploy-0.1.2/src/splent_feature_autodeploy.egg-info → splent_feature_autodeploy-0.2.0}/PKG-INFO +2 -1
  2. {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/pyproject.toml +8 -5
  3. {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0/src/splent_feature_autodeploy.egg-info}/PKG-INFO +2 -1
  4. {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/src/splent_feature_autodeploy.egg-info/SOURCES.txt +1 -0
  5. splent_feature_autodeploy-0.2.0/src/splent_feature_autodeploy.egg-info/requires.txt +1 -0
  6. splent_feature_autodeploy-0.2.0/src/splent_io/splent_feature_autodeploy/__init__.py +39 -0
  7. {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/src/splent_io/splent_feature_autodeploy/hooks.py +3 -0
  8. {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/src/splent_io/splent_feature_autodeploy/templates/autodeploy/index.html +1 -1
  9. splent_feature_autodeploy-0.1.2/src/splent_io/splent_feature_autodeploy/__init__.py +0 -14
  10. {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/COPYING +0 -0
  11. {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/COPYING.LESSER +0 -0
  12. {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/MANIFEST.in +0 -0
  13. {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/README.md +0 -0
  14. {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/setup.cfg +0 -0
  15. {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/src/splent_feature_autodeploy.egg-info/dependency_links.txt +0 -0
  16. {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/src/splent_feature_autodeploy.egg-info/top_level.txt +0 -0
  17. {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/src/splent_io/splent_feature_autodeploy/commands.py +0 -0
  18. {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/src/splent_io/splent_feature_autodeploy/config.py +0 -0
  19. {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/src/splent_io/splent_feature_autodeploy/forms.py +0 -0
  20. {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/src/splent_io/splent_feature_autodeploy/presenters.py +0 -0
  21. {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/src/splent_io/splent_feature_autodeploy/routes.py +0 -0
  22. {splent_feature_autodeploy-0.1.2 → splent_feature_autodeploy-0.2.0}/src/splent_io/splent_feature_autodeploy/services.py +0 -0
  23. {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
  24. {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
  25. {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
  26. {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.1.2
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.1.2"
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
- # Do not edit manually — re-run `splent feature:contract --write` to refresh.
33
- # Preserved across refreshes: description, category, tags, env,
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.1.2
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,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,4 +1,4 @@
1
- {% extends "base_template.html" %}
1
+ {% extends shell('app') %}
2
2
 
3
3
  {% block title %}{{ _('Deployments') }} - {{ _('Admin') }}{% endblock %}
4
4
 
@@ -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 {}