lockss-turtles 0.6.0.dev1__tar.gz → 0.6.0.dev2__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.
- {lockss_turtles-0.6.0.dev1 → lockss_turtles-0.6.0.dev2}/CHANGELOG.rst +2 -0
- {lockss_turtles-0.6.0.dev1 → lockss_turtles-0.6.0.dev2}/PKG-INFO +4 -1
- {lockss_turtles-0.6.0.dev1 → lockss_turtles-0.6.0.dev2}/pyproject.toml +5 -1
- {lockss_turtles-0.6.0.dev1 → lockss_turtles-0.6.0.dev2}/src/lockss/turtles/__init__.py +1 -1
- {lockss_turtles-0.6.0.dev1 → lockss_turtles-0.6.0.dev2}/src/lockss/turtles/app.py +5 -7
- {lockss_turtles-0.6.0.dev1 → lockss_turtles-0.6.0.dev2}/LICENSE +0 -0
- {lockss_turtles-0.6.0.dev1 → lockss_turtles-0.6.0.dev2}/README.rst +0 -0
- {lockss_turtles-0.6.0.dev1 → lockss_turtles-0.6.0.dev2}/src/lockss/turtles/__main__.py +0 -0
- {lockss_turtles-0.6.0.dev1 → lockss_turtles-0.6.0.dev2}/src/lockss/turtles/cli.py +0 -0
- {lockss_turtles-0.6.0.dev1 → lockss_turtles-0.6.0.dev2}/src/lockss/turtles/plugin.py +0 -0
- {lockss_turtles-0.6.0.dev1 → lockss_turtles-0.6.0.dev2}/src/lockss/turtles/plugin_registry.py +0 -0
- {lockss_turtles-0.6.0.dev1 → lockss_turtles-0.6.0.dev2}/src/lockss/turtles/plugin_set.py +0 -0
- {lockss_turtles-0.6.0.dev1 → lockss_turtles-0.6.0.dev2}/src/lockss/turtles/resources/__init__.py +0 -0
- {lockss_turtles-0.6.0.dev1 → lockss_turtles-0.6.0.dev2}/src/lockss/turtles/resources/plugin-registry-catalog-schema.json +0 -0
- {lockss_turtles-0.6.0.dev1 → lockss_turtles-0.6.0.dev2}/src/lockss/turtles/resources/plugin-registry-schema.json +0 -0
- {lockss_turtles-0.6.0.dev1 → lockss_turtles-0.6.0.dev2}/src/lockss/turtles/resources/plugin-set-catalog-schema.json +0 -0
- {lockss_turtles-0.6.0.dev1 → lockss_turtles-0.6.0.dev2}/src/lockss/turtles/resources/plugin-set-schema.json +0 -0
- {lockss_turtles-0.6.0.dev1 → lockss_turtles-0.6.0.dev2}/src/lockss/turtles/resources/plugin-signing-credentials-schema.json +0 -0
- {lockss_turtles-0.6.0.dev1 → lockss_turtles-0.6.0.dev2}/src/lockss/turtles/util.py +0 -0
|
@@ -16,6 +16,8 @@ Released: ?
|
|
|
16
16
|
|
|
17
17
|
* **Changes**
|
|
18
18
|
|
|
19
|
+
* The configuration directory for Turtles in ``$XDG_CONFIG_HOME`` (by default ``$HOME/.config``), ``/usr/local/share``, and ``/etc`` is now called ``lockss-turtles`` instead of ``lockss.turtles``.
|
|
20
|
+
|
|
19
21
|
* Some long options have been renamed (the short options remain unchanged):
|
|
20
22
|
|
|
21
23
|
============ ================= =============
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: lockss-turtles
|
|
3
|
-
Version: 0.6.0.
|
|
3
|
+
Version: 0.6.0.dev2
|
|
4
4
|
Summary: Library and command line tool to manage LOCKSS plugin sets and LOCKSS plugin registries
|
|
5
5
|
License: BSD-3-Clause
|
|
6
6
|
Author: Thib Guicherd-Callin
|
|
@@ -24,7 +24,10 @@ Requires-Dist: lockss-pybasic (>=0.1.0,<0.2.0)
|
|
|
24
24
|
Requires-Dist: pydantic (>=2.11.7,<3.0.0)
|
|
25
25
|
Requires-Dist: pyyaml (>=6.0.0,<6.1.0)
|
|
26
26
|
Requires-Dist: xdg (>=6.0.0,<6.1.0)
|
|
27
|
+
Project-URL: Documentation, https://docs.lockss.org/en/latest/software/turtles
|
|
27
28
|
Project-URL: Repository, https://github.com/lockss/lockss-turtles
|
|
29
|
+
Project-URL: changelog, https://github.com/lockss/lockss-turtles/blob/main/CHANGELOG.rst
|
|
30
|
+
Project-URL: issues, https://github.com/lockss/lockss-turtles/issues
|
|
28
31
|
Description-Content-Type: text/x-rst
|
|
29
32
|
|
|
30
33
|
=======
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
|
|
29
29
|
[project]
|
|
30
30
|
name = "lockss-turtles"
|
|
31
|
-
version = "0.6.0-
|
|
31
|
+
version = "0.6.0-dev2" # Always change in __init__.py, and at release time in README.rst and CHANGELOG.rst
|
|
32
32
|
description = "Library and command line tool to manage LOCKSS plugin sets and LOCKSS plugin registries"
|
|
33
33
|
license = { text = "BSD-3-Clause" }
|
|
34
34
|
readme = "README.rst"
|
|
@@ -60,7 +60,11 @@ classifiers = [
|
|
|
60
60
|
"Topic :: Utilities",
|
|
61
61
|
]
|
|
62
62
|
|
|
63
|
+
# See https://docs.pypi.org/project_metadata/
|
|
63
64
|
[project.urls]
|
|
65
|
+
changelog = "https://github.com/lockss/lockss-turtles/blob/main/CHANGELOG.rst"
|
|
66
|
+
documentation = "https://docs.lockss.org/en/latest/software/turtles"
|
|
67
|
+
issues = "https://github.com/lockss/lockss-turtles/issues"
|
|
64
68
|
repository = "https://github.com/lockss/lockss-turtles"
|
|
65
69
|
|
|
66
70
|
[tool.poetry]
|
|
@@ -45,11 +45,13 @@ from .util import YamlT, load_and_validate
|
|
|
45
45
|
|
|
46
46
|
class TurtlesApp(object):
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
CONFIG_DIR_NAME = 'lockss-turtles'
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
XDG_CONFIG_DIR: Path = xdg.xdg_config_home().joinpath(CONFIG_DIR_NAME)
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
USR_CONFIG_DIR: Path = Path('/usr/local/share', CONFIG_DIR_NAME)
|
|
53
|
+
|
|
54
|
+
ETC_CONFIG_DIR: Path = Path('/etc', CONFIG_DIR_NAME)
|
|
53
55
|
|
|
54
56
|
CONFIG_DIRS: List[Path] = [XDG_CONFIG_DIR, USR_CONFIG_DIR, ETC_CONFIG_DIR]
|
|
55
57
|
|
|
@@ -71,7 +73,6 @@ class TurtlesApp(object):
|
|
|
71
73
|
def build_plugin(self, plugin_ids: List[str]) -> Dict[str, Tuple[str, Path, Plugin]]:
|
|
72
74
|
return {plugin_id: self._build_one_plugin(plugin_id) for plugin_id in plugin_ids}
|
|
73
75
|
|
|
74
|
-
# Returns (src_path, plugin_id) -> list of (registry_id, layer_id, dst_path, plugin)
|
|
75
76
|
def deploy_plugin(self, src_paths: List[Path], layer_ids: List[str], interactive: bool=False) -> Dict[Tuple[Path, str], List[Tuple[str, str, Optional[Path], Optional[Plugin]]]]:
|
|
76
77
|
plugin_ids = [Plugin.id_from_jar(src_path) for src_path in src_paths]
|
|
77
78
|
return {(src_path, plugin_id): self._deploy_one_plugin(src_path,
|
|
@@ -99,7 +100,6 @@ class TurtlesApp(object):
|
|
|
99
100
|
with IR.path(__resources__, TurtlesApp.PLUGIN_SIGNING_CREDENTIALS_SCHEMA) as plugin_signing_credentials_schema_path:
|
|
100
101
|
self._plugin_signing_credentials = load_and_validate(plugin_signing_credentials_schema_path, plugin_signing_credentials_path)
|
|
101
102
|
|
|
102
|
-
# Returns plugin_id -> list of (registry_id, layer_id, dst_path, plugin)
|
|
103
103
|
def release_plugin(self, plugin_ids: List[str], layer_ids: List[str], interactive: bool=False) -> Dict[str, List[Tuple[str, str, Path, Plugin]]]:
|
|
104
104
|
# ... plugin_id -> (set_id, jar_path, plugin)
|
|
105
105
|
ret1 = self.build_plugin(plugin_ids)
|
|
@@ -122,7 +122,6 @@ class TurtlesApp(object):
|
|
|
122
122
|
def set_password(self, pw: Union[Callable[[], str], str]) -> None:
|
|
123
123
|
self._password = pw if callable(pw) else lambda: pw
|
|
124
124
|
|
|
125
|
-
# Returns (set_id, jar_path, plugin)
|
|
126
125
|
def _build_one_plugin(self, plugin_id: str) -> Tuple[str, Optional[Path], Optional[Plugin]]:
|
|
127
126
|
for plugin_set in self._plugin_sets:
|
|
128
127
|
if plugin_set.has_plugin(plugin_id):
|
|
@@ -133,7 +132,6 @@ class TurtlesApp(object):
|
|
|
133
132
|
return plugin_set.get_id(), bp[0] if bp else None, bp[1] if bp else None
|
|
134
133
|
raise Exception(f'{plugin_id}: not found in any plugin set')
|
|
135
134
|
|
|
136
|
-
# Returns list of (registry_id, layer_id, dst_path, plugin)
|
|
137
135
|
def _deploy_one_plugin(self, src_jar: Path, plugin_id: str, layer_ids: List[str], interactive: bool=False) -> List[Tuple[str, str, Optional[Path], Optional[Plugin]]]:
|
|
138
136
|
ret = list()
|
|
139
137
|
for plugin_registry in self._plugin_registries:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lockss_turtles-0.6.0.dev1 → lockss_turtles-0.6.0.dev2}/src/lockss/turtles/plugin_registry.py
RENAMED
|
File without changes
|
|
File without changes
|
{lockss_turtles-0.6.0.dev1 → lockss_turtles-0.6.0.dev2}/src/lockss/turtles/resources/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|