lockss-turtles 0.6.0.dev19__py3-none-any.whl → 0.6.0.dev20__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.
- lockss/turtles/__init__.py +1 -1
- lockss/turtles/app.py +1 -1
- lockss/turtles/cli.py +7 -7
- lockss/turtles/plugin_registry.py +4 -4
- lockss/turtles/plugin_set.py +2 -2
- {lockss_turtles-0.6.0.dev19.dist-info → lockss_turtles-0.6.0.dev20.dist-info}/METADATA +2 -2
- lockss_turtles-0.6.0.dev20.dist-info/RECORD +15 -0
- lockss_turtles-0.6.0.dev19.dist-info/RECORD +0 -15
- {lockss_turtles-0.6.0.dev19.dist-info → lockss_turtles-0.6.0.dev20.dist-info}/LICENSE +0 -0
- {lockss_turtles-0.6.0.dev19.dist-info → lockss_turtles-0.6.0.dev20.dist-info}/WHEEL +0 -0
- {lockss_turtles-0.6.0.dev19.dist-info → lockss_turtles-0.6.0.dev20.dist-info}/entry_points.txt +0 -0
lockss/turtles/__init__.py
CHANGED
lockss/turtles/app.py
CHANGED
|
@@ -74,7 +74,7 @@ class TurtlesApp(object):
|
|
|
74
74
|
|
|
75
75
|
ETC_CONFIG_DIR: ClassVar[Path] = Path('/etc', CONFIG_DIR_NAME)
|
|
76
76
|
|
|
77
|
-
CONFIG_DIRS: ClassVar[tuple[Path, ...]] = (XDG_CONFIG_DIR,
|
|
77
|
+
CONFIG_DIRS: ClassVar[tuple[Path, ...]] = (XDG_CONFIG_DIR, ETC_CONFIG_DIR, USR_CONFIG_DIR)
|
|
78
78
|
|
|
79
79
|
PLUGIN_REGISTRY_CATALOG: ClassVar[str] = 'plugin-registry-catalog.yaml'
|
|
80
80
|
|
lockss/turtles/cli.py
CHANGED
|
@@ -52,10 +52,10 @@ from .util import file_or
|
|
|
52
52
|
|
|
53
53
|
|
|
54
54
|
class PluginBuildingOptions(BaseModel):
|
|
55
|
-
plugin_set: Optional[list[FilePath]] = Field(aliases=['-s'], description=f'(plugin sets) add one or more plugin set definition files to the loaded plugin sets')
|
|
56
|
-
plugin_set_catalog: Optional[list[FilePath]] = Field(aliases=['-S'], description=f'(plugin sets) add one or more plugin set catalogs to the loaded plugin set catalogs; if no plugin set catalogs or plugin sets are specified, load {file_or(TurtlesApp.default_plugin_set_catalog_choices())}')
|
|
57
|
-
plugin_signing_credentials: Optional[FilePath] = Field(aliases=['-c'], description=f'(plugin signing credentials) load the plugin signing credentials from the given file, or if none, from {file_or(TurtlesApp.default_plugin_signing_credentials_choices())}')
|
|
58
|
-
plugin_signing_password: Optional[str] = Field(description='(plugin signing credentials) set the plugin signing password, or if none, prompt interactively')
|
|
55
|
+
plugin_set: Optional[list[FilePath]] = Field(aliases=['-s'], title='Plugin Sets', description=f'(plugin sets) add one or more plugin set definition files to the loaded plugin sets')
|
|
56
|
+
plugin_set_catalog: Optional[list[FilePath]] = Field(aliases=['-S'], title='Plugin Set Catalogs', description=f'(plugin sets) add one or more plugin set catalogs to the loaded plugin set catalogs; if no plugin set catalogs or plugin sets are specified, load {file_or(TurtlesApp.default_plugin_set_catalog_choices())}')
|
|
57
|
+
plugin_signing_credentials: Optional[FilePath] = Field(aliases=['-c'], title='Plugin Signing Credentials', description=f'(plugin signing credentials) load the plugin signing credentials from the given file, or if none, from {file_or(TurtlesApp.default_plugin_signing_credentials_choices())}')
|
|
58
|
+
plugin_signing_password: Optional[str] = Field(title='Plugin Signing Password', description='(plugin signing credentials) set the plugin signing password, or if none, prompt interactively')
|
|
59
59
|
|
|
60
60
|
def get_plugin_sets(self) -> list[Path]:
|
|
61
61
|
return [path(p) for p in self.plugin_set or []]
|
|
@@ -119,7 +119,7 @@ class PluginIdentifierOptions(BaseModel):
|
|
|
119
119
|
return path(v)
|
|
120
120
|
|
|
121
121
|
def get_plugin_identifiers(self) -> list[str]:
|
|
122
|
-
ret = [*(self.plugin_identifier or []), *
|
|
122
|
+
ret = [*(self.plugin_identifier or []), *chain.from_iterable(file_lines(file_path) for file_path in self.plugin_identifiers or [])]
|
|
123
123
|
if ret:
|
|
124
124
|
return ret
|
|
125
125
|
raise ValueError('Empty list of plugin identifiers')
|
|
@@ -137,7 +137,7 @@ class PluginJarOptions(BaseModel):
|
|
|
137
137
|
return path(v)
|
|
138
138
|
|
|
139
139
|
def get_plugin_jars(self):
|
|
140
|
-
ret = [*(self.plugin_jar or []), *
|
|
140
|
+
ret = [*(self.plugin_jar or []), *chain.from_iterable(file_lines(file_path) for file_path in self.plugin_jars or [])]
|
|
141
141
|
if len(ret):
|
|
142
142
|
return ret
|
|
143
143
|
raise ValueError('Empty list of plugin JARs')
|
|
@@ -161,7 +161,7 @@ class ReleasePluginCommand(OutputFormatOptions, NonInteractiveOptions, PluginDep
|
|
|
161
161
|
|
|
162
162
|
class TurtlesCommand(BaseModel):
|
|
163
163
|
bp: Optional[BuildPluginCommand] = Field(description='synonym for: build-plugin')
|
|
164
|
-
build_plugin: Optional[BuildPluginCommand] = Field(description='build
|
|
164
|
+
build_plugin: Optional[BuildPluginCommand] = Field(description='build plugins', alias='build-plugin')
|
|
165
165
|
copyright: Optional[StringCommand.type(__copyright__)] = Field(description=COPYRIGHT_DESCRIPTION)
|
|
166
166
|
deploy_plugin: Optional[DeployPluginCommand] = Field(description='deploy plugins', alias='deploy-plugin')
|
|
167
167
|
dp: Optional[DeployPluginCommand] = Field(description='synonym for: deploy-plugin')
|
|
@@ -66,7 +66,7 @@ PluginRegistryLayoutFileNamingConvention = Literal['abbreviated', 'identifier',
|
|
|
66
66
|
class BasePluginRegistryLayout(BaseModel, ABC):
|
|
67
67
|
TYPE_FIELD: ClassVar[dict[str, str]] = dict(title='Plugin Registry Layout Type', description='A plugin registry layout type')
|
|
68
68
|
FILE_NAMING_CONVENTION_DEFAULT: ClassVar[PluginRegistryLayoutFileNamingConvention] = 'identifier'
|
|
69
|
-
FILE_NAMING_CONVENTION_FIELD: ClassVar[dict[str, str]] = dict(title='Plugin Registry Layout File Naming Convention', description='A file naming convention for the plugin registry layout'
|
|
69
|
+
FILE_NAMING_CONVENTION_FIELD: ClassVar[dict[str, str]] = dict(alias='file-naming-convention', title='Plugin Registry Layout File Naming Convention', description='A file naming convention for the plugin registry layout')
|
|
70
70
|
|
|
71
71
|
_plugin_registry: Optional[PluginRegistry]
|
|
72
72
|
|
|
@@ -213,13 +213,13 @@ PluginRegistryIdentifier = str
|
|
|
213
213
|
|
|
214
214
|
|
|
215
215
|
class PluginRegistry(BaseModelWithRoot):
|
|
216
|
-
kind: PluginRegistryKind = Field(description="This object's kind")
|
|
216
|
+
kind: PluginRegistryKind = Field(title='Kind', description="This object's kind")
|
|
217
217
|
id: PluginRegistryIdentifier = Field(title='Plugin Registry Identifier', description='An identifier for the plugin set')
|
|
218
218
|
name: str = Field(title='Plugin Registry Name', description='A name for the plugin set')
|
|
219
219
|
layout: PluginRegistryLayout = Field(title='Plugin Registry Layout', description='A layout for the plugin registry')
|
|
220
220
|
layers: list[PluginRegistryLayer] = Field(min_length=1, title='Plugin Registry Layers', description="A non-empty list of plugin registry layers")
|
|
221
|
-
plugin_identifiers: list[PluginIdentifier] = Field(min_length=1, title='Plugin Identifiers', description="A non-empty list of plugin identifiers"
|
|
222
|
-
suppressed_plugin_identifiers: list[PluginIdentifier] = Field([], title='Suppressed Plugin Identifiers', description="A list of suppressed plugin identifiers"
|
|
221
|
+
plugin_identifiers: list[PluginIdentifier] = Field(alias='plugin-identifiers', min_length=1, title='Plugin Identifiers', description="A non-empty list of plugin identifiers")
|
|
222
|
+
suppressed_plugin_identifiers: list[PluginIdentifier] = Field([], alias='suppressed-plugin-identifiers', title='Suppressed Plugin Identifiers', description="A list of suppressed plugin identifiers")
|
|
223
223
|
|
|
224
224
|
def get_id(self) -> PluginRegistryIdentifier:
|
|
225
225
|
return self.id
|
lockss/turtles/plugin_set.py
CHANGED
|
@@ -59,9 +59,9 @@ class PluginSetCatalog(BaseModelWithRoot):
|
|
|
59
59
|
plugin set catalog.
|
|
60
60
|
"""
|
|
61
61
|
#: This object's kind.
|
|
62
|
-
kind: PluginSetCatalogKind = Field(description="This object's kind")
|
|
62
|
+
kind: PluginSetCatalogKind = Field(title='Kind', description="This object's kind")
|
|
63
63
|
#: A non-empty list of plugin set files.
|
|
64
|
-
plugin_set_files: list[str] = Field(min_length=1, description="A non-empty list of plugin set files"
|
|
64
|
+
plugin_set_files: list[str] = Field(alias='plugin-set-files', min_length=1, title='Plugin Set Files', description="A non-empty list of plugin set files")
|
|
65
65
|
|
|
66
66
|
def get_plugin_set_files(self) -> list[Path]:
|
|
67
67
|
"""
|
|
@@ -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.dev20
|
|
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
|
|
@@ -34,7 +34,7 @@ Description-Content-Type: text/x-rst
|
|
|
34
34
|
Turtles
|
|
35
35
|
=======
|
|
36
36
|
|
|
37
|
-
.. |RELEASE| replace:: 0.6.0-
|
|
37
|
+
.. |RELEASE| replace:: 0.6.0-dev20
|
|
38
38
|
.. |RELEASE_DATE| replace:: ?
|
|
39
39
|
|
|
40
40
|
.. |HELP| replace:: ``--help/-h``
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
lockss/turtles/__init__.py,sha256=6c7aKfAeWBtkUI7Wkxha25Uo07VDn4hinKMzDi_Z47Q,1744
|
|
2
|
+
lockss/turtles/__main__.py,sha256=BqRTG3dejCgLh87UJ1Os9DD9unxnQkOdUQM6eqWS3Sg,1680
|
|
3
|
+
lockss/turtles/app.py,sha256=Rxbsq10A830D1r99a5tqLVYWM3bJZ2Org-JKjXD-2Mk,16689
|
|
4
|
+
lockss/turtles/cli.py,sha256=ZijrjwW1VXtmRvTDpfLnLvq9aL0CfK-F6mglk04RihI,20887
|
|
5
|
+
lockss/turtles/plugin.py,sha256=re44YVlzXVU8azDshxn7oHw1GdTQLLQgYwkvZlur-60,5384
|
|
6
|
+
lockss/turtles/plugin_registry.py,sha256=yyfTtB0yvWpBXYTSklroo0igdcLrUojjlpzPGxielAQ,11930
|
|
7
|
+
lockss/turtles/plugin_set.py,sha256=pYggWJ6JakL3NYCvdmbxFAaZ-1pWJTZ_CRW-tUxPVQk,15828
|
|
8
|
+
lockss/turtles/util.py,sha256=8EyWvzTLNycQM_ZKCtWm8FpKJSrwaCSWh8006UYq6vU,2498
|
|
9
|
+
unittest/lockss/turtles/__init__.py,sha256=hrgWx4GaP-hhPBuRlbLndJnOQmZicKCLaP-dQTCu1sQ,3162
|
|
10
|
+
unittest/lockss/turtles/test_plugin_set.py,sha256=q6JmooDR-wijAQ8x9DWKTNB6Of4EOr3Dgq8oaX0LTpQ,4179
|
|
11
|
+
lockss_turtles-0.6.0.dev20.dist-info/LICENSE,sha256=O9ONND4uDxY_jucI4jZDf2liAk05ScEJaYu-Al7EOdQ,1506
|
|
12
|
+
lockss_turtles-0.6.0.dev20.dist-info/METADATA,sha256=egDTHpN4pmE9U6o8wmwaguwAMn9IwOp3ozofufZxgEk,39692
|
|
13
|
+
lockss_turtles-0.6.0.dev20.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
14
|
+
lockss_turtles-0.6.0.dev20.dist-info/entry_points.txt,sha256=25BAVFSBRKWAWiXIGZgcr1ypt2mV7nj31Jl8WcNZZOk,51
|
|
15
|
+
lockss_turtles-0.6.0.dev20.dist-info/RECORD,,
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
lockss/turtles/__init__.py,sha256=cBj5LqZHvI7BaYdTG5wtlImMX8zdhImZFc0uXc_CIq0,1744
|
|
2
|
-
lockss/turtles/__main__.py,sha256=BqRTG3dejCgLh87UJ1Os9DD9unxnQkOdUQM6eqWS3Sg,1680
|
|
3
|
-
lockss/turtles/app.py,sha256=SAmd_k_2viX_SY2aiXNgQq0k1oPYMUwNBicsnzAo9e4,16689
|
|
4
|
-
lockss/turtles/cli.py,sha256=lNdRVP8RkY80lRNZny9v2VXL8lPt0jNOhOEdzCUd-XU,20749
|
|
5
|
-
lockss/turtles/plugin.py,sha256=re44YVlzXVU8azDshxn7oHw1GdTQLLQgYwkvZlur-60,5384
|
|
6
|
-
lockss/turtles/plugin_registry.py,sha256=G_CwTFgDV4om1W0-QY7Ww_7mneCbckXuEWMk7ZFOPW4,11916
|
|
7
|
-
lockss/turtles/plugin_set.py,sha256=XCIGmSKHZlSk-L0hhvzE38OU3JmWYgWFTI3V8Uaq1x0,15814
|
|
8
|
-
lockss/turtles/util.py,sha256=8EyWvzTLNycQM_ZKCtWm8FpKJSrwaCSWh8006UYq6vU,2498
|
|
9
|
-
unittest/lockss/turtles/__init__.py,sha256=hrgWx4GaP-hhPBuRlbLndJnOQmZicKCLaP-dQTCu1sQ,3162
|
|
10
|
-
unittest/lockss/turtles/test_plugin_set.py,sha256=q6JmooDR-wijAQ8x9DWKTNB6Of4EOr3Dgq8oaX0LTpQ,4179
|
|
11
|
-
lockss_turtles-0.6.0.dev19.dist-info/LICENSE,sha256=O9ONND4uDxY_jucI4jZDf2liAk05ScEJaYu-Al7EOdQ,1506
|
|
12
|
-
lockss_turtles-0.6.0.dev19.dist-info/METADATA,sha256=LAGhBiXHtJ_Ure1XKjdlVN8DOrFQvbSKjLXFym4CtG4,39692
|
|
13
|
-
lockss_turtles-0.6.0.dev19.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
14
|
-
lockss_turtles-0.6.0.dev19.dist-info/entry_points.txt,sha256=25BAVFSBRKWAWiXIGZgcr1ypt2mV7nj31Jl8WcNZZOk,51
|
|
15
|
-
lockss_turtles-0.6.0.dev19.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
{lockss_turtles-0.6.0.dev19.dist-info → lockss_turtles-0.6.0.dev20.dist-info}/entry_points.txt
RENAMED
|
File without changes
|