kaqing 2.0.41__py3-none-any.whl → 2.0.43__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.
- adam/commands/cd.py +2 -1
- adam/commands/cql_utils.py +1 -1
- adam/commands/ls.py +3 -8
- adam/commands/postgres/postgres.py +8 -15
- adam/commands/postgres/postgres_session.py +0 -8
- adam/commands/postgres/postgres_utils.py +23 -0
- adam/commands/preview_table.py +2 -18
- adam/commands/reaper/reaper_session.py +1 -1
- adam/k8s_utils/statefulsets.py +1 -0
- adam/repl.py +8 -4
- adam/repl_completer.py +74 -0
- adam/version.py +1 -1
- {kaqing-2.0.41.dist-info → kaqing-2.0.43.dist-info}/METADATA +1 -1
- {kaqing-2.0.41.dist-info → kaqing-2.0.43.dist-info}/RECORD +17 -15
- {kaqing-2.0.41.dist-info → kaqing-2.0.43.dist-info}/WHEEL +0 -0
- {kaqing-2.0.41.dist-info → kaqing-2.0.43.dist-info}/entry_points.txt +0 -0
- {kaqing-2.0.41.dist-info → kaqing-2.0.43.dist-info}/top_level.txt +0 -0
adam/commands/cd.py
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
from adam.commands.command import Command
|
2
|
+
from adam.commands.postgres.postgres_utils import pg_database_names
|
2
3
|
from adam.commands.postgres.postgres_session import PostgresSession
|
3
4
|
from adam.k8s_utils.cassandra_clusters import CassandraClusters
|
4
5
|
from adam.k8s_utils.kube_context import KubeContext
|
@@ -91,7 +92,7 @@ class Cd(Command):
|
|
91
92
|
if pg and pg.db:
|
92
93
|
return {Cd.COMMAND: {'..': None}}
|
93
94
|
elif pg and pg.host:
|
94
|
-
return {Cd.COMMAND: {'..': None} | {p
|
95
|
+
return {Cd.COMMAND: {'..': None} | {p: None for p in pg_database_names(state.namespace, pg.directory())}}
|
95
96
|
else:
|
96
97
|
return {Cd.COMMAND: {p: None for p in PostgresSession.hosts(state.namespace)}}
|
97
98
|
elif state.device == ReplState.A:
|
adam/commands/cql_utils.py
CHANGED
@@ -11,7 +11,7 @@ from adam.utils import log2
|
|
11
11
|
|
12
12
|
@functools.lru_cache()
|
13
13
|
def keyspaces(state: ReplState, on_any=False):
|
14
|
-
Config().wait_log(
|
14
|
+
Config().wait_log('Inspecting Cassandra Keyspaces...')
|
15
15
|
|
16
16
|
r: list[PodExecResult] = run_cql(state, 'describe keyspaces', show_out=False, on_any=on_any)
|
17
17
|
if not r:
|
adam/commands/ls.py
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
import copy
|
2
|
-
import re
|
3
2
|
|
4
3
|
from adam.commands.command import Command
|
5
4
|
from adam.commands.commands_utils import show_pods, show_rollout
|
6
5
|
from adam.commands.cqlsh import Cqlsh
|
6
|
+
from adam.commands.postgres.postgres_utils import pg_database_names, pg_table_names
|
7
7
|
from adam.commands.postgres.postgres_session import PostgresSession
|
8
8
|
from adam.config import Config
|
9
9
|
from adam.k8s_utils.custom_resources import CustomResources
|
10
10
|
from adam.k8s_utils.ingresses import Ingresses
|
11
11
|
from adam.k8s_utils.kube_context import KubeContext
|
12
|
-
from adam.k8s_utils.services import Services
|
13
12
|
from adam.k8s_utils.statefulsets import StatefulSets
|
14
13
|
from adam.pod_exec_result import PodExecResult
|
15
14
|
from adam.repl_state import ReplState
|
@@ -123,14 +122,10 @@ class Ls(Command):
|
|
123
122
|
log(lines_to_tabular(lines, 'NAME,NAMESPACE,ENDPOINT,USERNAME,PASSWORD', separator=','))
|
124
123
|
|
125
124
|
def show_pg_databases(self, pg: PostgresSession):
|
126
|
-
|
127
|
-
|
128
|
-
log(lines_to_tabular(lines, 'DATABASE', separator=','))
|
125
|
+
log(lines_to_tabular(pg_database_names(pg.namespace, pg.directory()), 'DATABASE', separator=','))
|
129
126
|
|
130
127
|
def show_pg_tables(self, pg: PostgresSession):
|
131
|
-
|
132
|
-
|
133
|
-
log(lines_to_tabular(lines, 'NAME', separator=','))
|
128
|
+
log(lines_to_tabular(pg_table_names(pg.namespace, pg.directory()), 'NAME', separator=','))
|
134
129
|
|
135
130
|
def completion(self, state: ReplState):
|
136
131
|
if state.pod:
|
@@ -2,6 +2,7 @@ import functools
|
|
2
2
|
import click
|
3
3
|
|
4
4
|
from adam.commands.command import Command
|
5
|
+
from adam.commands.postgres.postgres_utils import pg_table_names
|
5
6
|
from .postgres_ls import PostgresLs
|
6
7
|
from .postgres_preview import PostgresPreview
|
7
8
|
from .postgres_session import PostgresSession
|
@@ -67,19 +68,20 @@ class Postgres(Command):
|
|
67
68
|
leaf = {}
|
68
69
|
session = PostgresSession(state.namespace, state.pg_path)
|
69
70
|
if session.db:
|
70
|
-
|
71
|
+
if pg_table_names(state.namespace, state.pg_path):
|
72
|
+
ts = f'<pg_tables:{state.namespace}:{state.pg_path}>'
|
71
73
|
leaf = {
|
72
74
|
'\h': None,
|
73
75
|
'\d': None,
|
74
76
|
'\dt': None,
|
75
77
|
'\du': None,
|
76
|
-
'delete': {'from': {
|
77
|
-
'insert': {'into': {
|
78
|
-
'select': {'*': {'from': {
|
78
|
+
'delete': {'from': {ts: {'where': {'id': {'=': None}}}}},
|
79
|
+
'insert': {'into': {ts: {'values': None}}},
|
80
|
+
'select': {'*': {'from': {ts: {
|
79
81
|
'limit': {'1': None},
|
80
82
|
'where': {'id': {'=': None}}
|
81
|
-
}
|
82
|
-
'update': {
|
83
|
+
}}}},
|
84
|
+
'update': {ts: {'set': None}},
|
83
85
|
}
|
84
86
|
elif state.pg_path:
|
85
87
|
leaf = {
|
@@ -92,15 +94,6 @@ class Postgres(Command):
|
|
92
94
|
else:
|
93
95
|
return {}
|
94
96
|
|
95
|
-
# TODO fix cache
|
96
|
-
# @functools.lru_cache()
|
97
|
-
def tables(self, ns: str, pg_path: str):
|
98
|
-
session = PostgresSession(ns, pg_path)
|
99
|
-
if session.db:
|
100
|
-
return [f'{t["schema"]}.{t["name"]}' for t in session.tables()]
|
101
|
-
|
102
|
-
return []
|
103
|
-
|
104
97
|
def help(self, _: ReplState):
|
105
98
|
return f'[{Postgres.COMMAND}] <sql-statements>\t run psql with queries'
|
106
99
|
|
@@ -25,13 +25,6 @@ class PostgresSession:
|
|
25
25
|
if len(tks) > 1:
|
26
26
|
self.db = tks[1]
|
27
27
|
|
28
|
-
# works only for databases()
|
29
|
-
def __eq__(self, other: 'PostgresSession'):
|
30
|
-
return self.host == other.host
|
31
|
-
|
32
|
-
def __hash__(self):
|
33
|
-
return hash(self.host)
|
34
|
-
|
35
28
|
def find_namespace(self, arg: str):
|
36
29
|
if arg:
|
37
30
|
tks = arg.split('@')
|
@@ -82,7 +75,6 @@ class PostgresSession:
|
|
82
75
|
|
83
76
|
return [s for s in ss if not excludes(s)]
|
84
77
|
|
85
|
-
@functools.lru_cache()
|
86
78
|
def databases(self):
|
87
79
|
dbs = []
|
88
80
|
# List of databases
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import functools
|
2
|
+
|
3
|
+
from adam.commands.postgres.postgres_session import PostgresSession
|
4
|
+
from adam.config import Config
|
5
|
+
|
6
|
+
@functools.lru_cache()
|
7
|
+
def pg_database_names(ns: str, pg_path: str):
|
8
|
+
Config().wait_log('Inspecting Postgres Databases...')
|
9
|
+
|
10
|
+
pg = PostgresSession(ns, pg_path)
|
11
|
+
return [db['name'] for db in pg.databases() if db['owner'] == PostgresSession.default_owner()]
|
12
|
+
|
13
|
+
@functools.lru_cache()
|
14
|
+
def pg_table_names(ns: str, pg_path: str):
|
15
|
+
Config().wait_log('Inspecting Postgres Database...')
|
16
|
+
return [table['name'] for table in pg_tables(ns, pg_path) if table['schema'] == PostgresSession.default_schema()]
|
17
|
+
|
18
|
+
def pg_tables(ns: str, pg_path: str):
|
19
|
+
pg = PostgresSession(ns, pg_path)
|
20
|
+
if pg.db:
|
21
|
+
return pg.tables()
|
22
|
+
|
23
|
+
return []
|
adam/commands/preview_table.py
CHANGED
@@ -4,7 +4,6 @@ from adam.commands.command import Command
|
|
4
4
|
from adam.commands.cql_utils import run_cql, tables
|
5
5
|
from adam.commands.postgres.postgres_session import PostgresSession
|
6
6
|
from adam.config import Config
|
7
|
-
from adam.pod_exec_result import PodExecResult
|
8
7
|
from adam.repl_state import ReplState, RequiredState
|
9
8
|
from adam.utils import lines_to_tabular, log, log2
|
10
9
|
|
@@ -72,8 +71,7 @@ class PreviewTable(Command):
|
|
72
71
|
|
73
72
|
def completion(self, state: ReplState):
|
74
73
|
if state.device == ReplState.P:
|
75
|
-
|
76
|
-
return {PreviewTable.COMMAND: {db["name"]: None for db in tables if db["schema"] == PostgresSession.default_schema()}}
|
74
|
+
return {PreviewTable.COMMAND: {f'<pg_tables:{state.namespace}:{state.pg_path}>': None}}
|
77
75
|
elif state.sts:
|
78
76
|
tables = PreviewTable.cql_tables(state)
|
79
77
|
return {PreviewTable.COMMAND: {f'{k}.{t}': None for k, ts in tables.items() for t in ts}}
|
@@ -88,18 +86,4 @@ class PreviewTable(Command):
|
|
88
86
|
if state.pod:
|
89
87
|
return tables(state)
|
90
88
|
|
91
|
-
return tables(state, on_any=True)
|
92
|
-
|
93
|
-
# r: list[PodExecResult] = run_cql(state, 'describe tables', show_out=False, on_any=True)
|
94
|
-
# if not r:
|
95
|
-
# return []
|
96
|
-
|
97
|
-
# return parse_cql_desc_tables(r[0].stdout)
|
98
|
-
|
99
|
-
@functools.lru_cache()
|
100
|
-
def pg_tables(ns: str, pg_path: str):
|
101
|
-
pg = PostgresSession(ns, pg_path)
|
102
|
-
if pg.db:
|
103
|
-
return pg.tables()
|
104
|
-
|
105
|
-
return None
|
89
|
+
return tables(state, on_any=True)
|
@@ -149,7 +149,7 @@ class ReaperSession:
|
|
149
149
|
return ReaperSession.schedules_ids_by_cluster[state.sts]
|
150
150
|
|
151
151
|
if reaper := ReaperSession.create(state):
|
152
|
-
Config().wait_log(
|
152
|
+
Config().wait_log('Inspecting Cassandra Reaper...')
|
153
153
|
|
154
154
|
schedules = reaper.schedule_ids(state, show_output = False)
|
155
155
|
ReaperSession.schedules_ids_by_cluster[state.sts] = schedules
|
adam/k8s_utils/statefulsets.py
CHANGED
adam/repl.py
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
import json
|
1
2
|
import os
|
2
3
|
import re
|
3
4
|
import time
|
@@ -16,6 +17,7 @@ from adam.k8s_utils.kube_context import KubeContext
|
|
16
17
|
from adam.k8s_utils.statefulsets import StatefulSets
|
17
18
|
from adam.log import Log
|
18
19
|
from adam.repl_commands import ReplCommands
|
20
|
+
from adam.repl_completer import CompleterContext, ReplCompleter
|
19
21
|
from adam.repl_session import ReplSession
|
20
22
|
from adam.repl_state import ReplState
|
21
23
|
from adam.utils import deep_merge_dicts, deep_sort_dict, lines_to_tabular, log2
|
@@ -92,7 +94,7 @@ def enter_repl(state: ReplState):
|
|
92
94
|
sorted_cmds = sorted(cmd_list, key=lambda cmd: cmd.command())
|
93
95
|
while True:
|
94
96
|
try:
|
95
|
-
completer =
|
97
|
+
completer = ReplCompleter.from_nested_dict({})
|
96
98
|
if not state.bash_session:
|
97
99
|
completions = {}
|
98
100
|
# app commands are available only on a: drive
|
@@ -105,9 +107,10 @@ def enter_repl(state: ReplState):
|
|
105
107
|
completions = deep_sort_dict(deep_merge_dicts(completions, cmd.completion(state)))
|
106
108
|
finally:
|
107
109
|
if Config().get('debugs.timings', False):
|
108
|
-
|
110
|
+
log2(f'Timing auto-completion-calc {cmd.command()}: {time.time() - s1:.2f}')
|
109
111
|
|
110
|
-
|
112
|
+
# print(json.dumps(completions, indent=4))
|
113
|
+
completer = ReplCompleter.from_nested_dict(completions)
|
111
114
|
|
112
115
|
cmd = session.prompt(prompt_msg(), completer=completer, key_bindings=kb)
|
113
116
|
s0 = time.time()
|
@@ -151,9 +154,10 @@ def enter_repl(state: ReplState):
|
|
151
154
|
log2(e)
|
152
155
|
Config().debug(traceback.format_exc())
|
153
156
|
finally:
|
157
|
+
CompleterContext().reset()
|
154
158
|
Config().clear_wait_log_flag()
|
155
159
|
if Config().get('debugs.timings', False) and 'cmd' in locals() and 's0' in locals():
|
156
|
-
|
160
|
+
log2(f'Timing command {cmd}: {time.time() - s0:.2f}')
|
157
161
|
|
158
162
|
@cli.command(context_settings=dict(ignore_unknown_options=True, allow_extra_args=True), cls=ClusterCommandHelper, help="Enter interactive shell.")
|
159
163
|
@click.option('--kubeconfig', '-k', required=False, metavar='path', help='path to kubeconfig file')
|
adam/repl_completer.py
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
import re
|
2
|
+
|
3
|
+
from typing import Iterable
|
4
|
+
from prompt_toolkit.completion import CompleteEvent, Completion, NestedCompleter, WordCompleter
|
5
|
+
from prompt_toolkit.document import Document
|
6
|
+
|
7
|
+
from adam.commands.postgres.postgres_utils import pg_table_names
|
8
|
+
|
9
|
+
class CompleterContext:
|
10
|
+
# the singleton pattern
|
11
|
+
def __new__(cls, *args, **kwargs):
|
12
|
+
if not hasattr(cls, 'instance'): cls.instance = super(CompleterContext, cls).__new__(cls)
|
13
|
+
|
14
|
+
return cls.instance
|
15
|
+
|
16
|
+
def __init__(self):
|
17
|
+
if not hasattr(self, 'table_resolver'):
|
18
|
+
self.table_resolver = None
|
19
|
+
self.tables = []
|
20
|
+
|
21
|
+
def produce(self, word: str):
|
22
|
+
if match := re.match(r'^<pg_tables:(.*?):(.*?)>$', word):
|
23
|
+
self.table_resolver = word
|
24
|
+
self.tables = pg_table_names(match.group(1), match.group(2))
|
25
|
+
|
26
|
+
return self.tables
|
27
|
+
|
28
|
+
return None
|
29
|
+
|
30
|
+
def is_table(self, word: str):
|
31
|
+
if word in self.tables and self.table_resolver:
|
32
|
+
return self.table_resolver
|
33
|
+
|
34
|
+
return None
|
35
|
+
|
36
|
+
def reset(self):
|
37
|
+
self.table_resolver = None
|
38
|
+
self.tables = []
|
39
|
+
|
40
|
+
|
41
|
+
class ReplCompleter(NestedCompleter):
|
42
|
+
def get_completions(
|
43
|
+
self, document: Document, complete_event: CompleteEvent
|
44
|
+
) -> Iterable[Completion]:
|
45
|
+
text = document.text_before_cursor.lstrip()
|
46
|
+
stripped_len = len(document.text_before_cursor) - len(text)
|
47
|
+
|
48
|
+
if " " in text:
|
49
|
+
first_term = text.split()[0]
|
50
|
+
completer = self.options.get(first_term)
|
51
|
+
if table_resolver := CompleterContext().is_table(first_term):
|
52
|
+
completer = self.options.get(table_resolver)
|
53
|
+
|
54
|
+
if completer is not None:
|
55
|
+
remaining_text = text[len(first_term) :].lstrip()
|
56
|
+
move_cursor = len(text) - len(remaining_text) + stripped_len
|
57
|
+
|
58
|
+
new_document = Document(
|
59
|
+
remaining_text,
|
60
|
+
cursor_position=document.cursor_position - move_cursor,
|
61
|
+
)
|
62
|
+
|
63
|
+
for c in completer.get_completions(new_document, complete_event):
|
64
|
+
if words := CompleterContext().produce(c.text):
|
65
|
+
for w in words:
|
66
|
+
yield Completion(w)
|
67
|
+
else:
|
68
|
+
yield c
|
69
|
+
else:
|
70
|
+
completer = WordCompleter(
|
71
|
+
list(self.options.keys()), ignore_case=self.ignore_case
|
72
|
+
)
|
73
|
+
for c in completer.get_completions(document, complete_event):
|
74
|
+
yield c
|
adam/version.py
CHANGED
@@ -9,12 +9,13 @@ adam/embedded_apps.py,sha256=lKPx63mKzJbNmwz0rgL4gF76M9fDGxraYTtNAIGnZ_s,419
|
|
9
9
|
adam/embedded_params.py,sha256=_9tBKpkSzBfzm-s3tUgZs8DcSVBnPA1iumG0ZRCbZIs,4586
|
10
10
|
adam/log.py,sha256=gg5DK52wLPc9cjykeh0WFHyAk1qI3HEpGaAK8W2dzXY,1146
|
11
11
|
adam/pod_exec_result.py,sha256=nq0xnCNOpUGBSijGF0H-YNrwBc9vUQs4DkvLMIFS5LQ,951
|
12
|
-
adam/repl.py,sha256=
|
12
|
+
adam/repl.py,sha256=y2jNMYewfo2o36wB9Zknh_MLGzSRHPY0USNU3LOO_7U,7439
|
13
13
|
adam/repl_commands.py,sha256=aH7xxbsQGrpL9Ozk9QF54iToK6wbDT3Pu9rMyw9sDBY,4719
|
14
|
+
adam/repl_completer.py,sha256=8OWLEb5UbGwOX5vcJaigR68XxVr9lRBlt8ByVCD7O7Y,2528
|
14
15
|
adam/repl_session.py,sha256=uIogcvWBh7wd8QQ-p_JgLsyJ8YJgINw5vOd6JIsd7Vo,472
|
15
16
|
adam/repl_state.py,sha256=591d7gV6uQSFtm7IWdlIYAHjfAzs9bdvIkwlIAeKddE,7540
|
16
17
|
adam/utils.py,sha256=2DoWsrcaioFFH0-RjT30qelVRPUJqCGTfz_ucfE7F8g,7406
|
17
|
-
adam/version.py,sha256=
|
18
|
+
adam/version.py,sha256=eU0CKlIirO6upyKMED0IV0w12H69CmesNmCqalyxx5k,139
|
18
19
|
adam/checks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
19
20
|
adam/checks/check.py,sha256=Qopr3huYcMu2bzQgb99dEUYjFzkjKHRI76S6KA9b9Rk,702
|
20
21
|
adam/checks/check_context.py,sha256=FEHkQ32jY1EDopQ2uYWqy9v7aEEX1orLpJWhopwAlh4,402
|
@@ -51,14 +52,14 @@ adam/commands/alter_tables.py,sha256=Y5cWg0Ow93rIDusbHgxQcC7sSB64LmULTlDxPLybiVM
|
|
51
52
|
adam/commands/app.py,sha256=7alV8wK801t67_rUe6EmhtHJTl-6K7fGCm6Uz1dDgpM,1963
|
52
53
|
adam/commands/app_ping.py,sha256=Xk7cfefphXM2w-UvpnhNUTZ3BU38f0deehUb2FEyLCI,1337
|
53
54
|
adam/commands/bash.py,sha256=1O9cCl9JHQdttqNAgdB44rO0NjCqHzHv4psAEQMJcjw,2714
|
54
|
-
adam/commands/cd.py,sha256=
|
55
|
+
adam/commands/cd.py,sha256=wJdfCzA2939PpGx4xKsfDxiu-64OC9SecgPDb7nd4O0,4582
|
55
56
|
adam/commands/check.py,sha256=853FPfgTMGxQXI_5UaPAtzaSWB_BvEVm48EkJhsHe4w,2181
|
56
57
|
adam/commands/cli_commands.py,sha256=PEEyrG9yz7RAEZwHbbuFpyE3fVi8vrIWbr0d1H0Gp9o,3620
|
57
58
|
adam/commands/command.py,sha256=Ph7IduCTGQ04dcwNegl1ekYbqCzOwAOYeWZVIRWnKyU,3958
|
58
59
|
adam/commands/command_helpers.py,sha256=leOJJK1UXczNTJHN9TGMCbIpUpmpreULvQ-TvnsYS7w,1134
|
59
60
|
adam/commands/commands_utils.py,sha256=ShUcxtDSd9B3NM0GDj3NBvKdmjCGY8qXgeUJpzNF63E,3122
|
60
61
|
adam/commands/cp.py,sha256=dyQViRDPNqsKRkxPb7WyEVIBNw7YB6IfYa2q3VtfzyA,3107
|
61
|
-
adam/commands/cql_utils.py,sha256=
|
62
|
+
adam/commands/cql_utils.py,sha256=q5hzAUVh7h8iVVH2s0M4E76zWqaMUDXULMn412mfHII,3893
|
62
63
|
adam/commands/cqlsh.py,sha256=PknA1I13E4L6leSq6TC3fsyJw_bugo6376q0FE0Ufz0,3088
|
63
64
|
adam/commands/devices.py,sha256=_f8j6aQzTL8_pFlWYawRuG2Ju1zPjYSPcRIlLnZng10,2397
|
64
65
|
adam/commands/exit.py,sha256=5MWUAmzYBlsrp0CoiTDB13SUkX9Ya18UlGeOIPia6TA,798
|
@@ -66,12 +67,12 @@ adam/commands/help.py,sha256=Ey3R1X8w_CMhdADI0t8dSQ28euhDHheJm7NermiGni4,1645
|
|
66
67
|
adam/commands/issues.py,sha256=VS-PC7e-2lywsa-lbmoUX8IY77OPGzFudwbw1g8XmQc,2599
|
67
68
|
adam/commands/login.py,sha256=bj95WWIF7mJDJhnyS9T8xvaZUGL37dj7GlH8TgmODbk,1877
|
68
69
|
adam/commands/logs.py,sha256=T-O9DYXmWEm4G1I5SM6MwyeRwq2aT-WMqNW0XA2MWmo,1165
|
69
|
-
adam/commands/ls.py,sha256
|
70
|
+
adam/commands/ls.py,sha256=X_dSitiwMsKh6wi5P6OdF50a5eUCFv_-Huem7Qzff_s,5572
|
70
71
|
adam/commands/nodetool.py,sha256=HV9yDzMhRjS4lw6UfV7Hc1pcmeSx5a1jU6cAEKSZ1Bg,2334
|
71
72
|
adam/commands/nodetool_commands.py,sha256=5IgWC3rmeDD1cgwqQjiiWzi-wJpJ3n_8pAzz_9phXuk,2635
|
72
73
|
adam/commands/param_get.py,sha256=kPAAppK2T0tEFRnSIVFLDPIIGHhgLA7drJhn8TRyvvE,1305
|
73
74
|
adam/commands/param_set.py,sha256=QDIuqfU80aWCB16OK49yf7XRaRTWwiLkwMsJuVikq9I,1271
|
74
|
-
adam/commands/preview_table.py,sha256=
|
75
|
+
adam/commands/preview_table.py,sha256=UOquEHPg5Oj5VuzB6WVldicU0WTNqPVqEf6rPdfDB2o,2971
|
75
76
|
adam/commands/pwd.py,sha256=VlgFjxFl66I7Df1YI6cuiEeY6Q13lEavMKfrzHLESKo,2340
|
76
77
|
adam/commands/report.py,sha256=Ky45LIzSlB_X4V12JZWjU3SA2u4_FKRencRTq7psOWU,1944
|
77
78
|
adam/commands/restart.py,sha256=Hik1t5rjH2ATZv4tzwrGB3e44b3dNuATgY327_Nb8Bs,2044
|
@@ -104,10 +105,11 @@ adam/commands/medusa/medusa_restore.py,sha256=MU47bmozrjfGJ6GVkj_OVgLH6Uz_fGh03M
|
|
104
105
|
adam/commands/medusa/medusa_show_backupjobs.py,sha256=QekHpKezVJdgfa9hOxfgyx-y4D08tmHzyu_AAa8QPR0,1756
|
105
106
|
adam/commands/medusa/medusa_show_restorejobs.py,sha256=wgPonSmC6buDIp3k3WUY-Yu2MyP1xyE3Q_XhvAwpnx4,1651
|
106
107
|
adam/commands/postgres/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
107
|
-
adam/commands/postgres/postgres.py,sha256=
|
108
|
+
adam/commands/postgres/postgres.py,sha256=SFy8nj4BCna_MDyrBAujeM7ojGPGJwYRfQPHdJiZ1ow,3475
|
108
109
|
adam/commands/postgres/postgres_ls.py,sha256=HwZTgwGKXUqHX33S8aQPF6FqCrLqtoz4cLyJV2SpoE0,1186
|
109
110
|
adam/commands/postgres/postgres_preview.py,sha256=MLzdEc4mvNj6V1Q8jO5OPznXyYELJHgd35_eQgLlNIU,1274
|
110
|
-
adam/commands/postgres/postgres_session.py,sha256=
|
111
|
+
adam/commands/postgres/postgres_session.py,sha256=RcqkCgtA78M-9LKTwG6pp8n9JwjmURXgf1FknIIPl9g,9305
|
112
|
+
adam/commands/postgres/postgres_utils.py,sha256=fdE-fZrT-fY5Ehdfhf6b0yuRs-uYmkKONXGhrNMBSbc,757
|
111
113
|
adam/commands/reaper/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
112
114
|
adam/commands/reaper/reaper.py,sha256=83R0ZRitEwaYKKssfKxn3zAzLnWIP9QKd1mA6awceS8,1908
|
113
115
|
adam/commands/reaper/reaper_forward.py,sha256=mUp409MzT91cVXGxoPfBGceaR3qZ0rVdWKGdyzPNzSA,3177
|
@@ -120,7 +122,7 @@ adam/commands/reaper/reaper_schedule_activate.py,sha256=HbwaSeKaDoR2qgiWgglwM5gm
|
|
120
122
|
adam/commands/reaper/reaper_schedule_start.py,sha256=oDwH99QVyeKgu-jk5-pB7BzUH_rablCbtumNHXjBnpU,1940
|
121
123
|
adam/commands/reaper/reaper_schedule_stop.py,sha256=_Ld5BRX5pqfIis5i1KG8yif0q5u9RTaFBmmQwkZuOMY,1929
|
122
124
|
adam/commands/reaper/reaper_schedules.py,sha256=-b7eKl0wJT7zMru8qKcLqG5JF0-LfeTcNmlxut9t93E,1263
|
123
|
-
adam/commands/reaper/reaper_session.py,sha256=
|
125
|
+
adam/commands/reaper/reaper_session.py,sha256=LfPbE9Czr3bwBnnk4Pvf4btnuqEzPbDw2GPDKYp_2dI,6650
|
124
126
|
adam/commands/reaper/reaper_status.py,sha256=g3Uep1AVYOThAaZoFjn4bWTKHElZnCleJyYYHP9HayY,1967
|
125
127
|
adam/commands/repair/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
126
128
|
adam/commands/repair/repair.py,sha256=Z284AKjUupQ-Uul5xDVr_ljfiXJ0VmAXsrlhLPjRp5A,1315
|
@@ -155,7 +157,7 @@ adam/k8s_utils/pods.py,sha256=ljn5tB-j8bdof6X_YWS9Hf5cjAzwmYw61I9_0bwIjCc,10540
|
|
155
157
|
adam/k8s_utils/secrets.py,sha256=pYaVKXTpx3-QgFtBjznWFq0N6ZcBdxnx21FRe5nBCCo,2305
|
156
158
|
adam/k8s_utils/service_accounts.py,sha256=v2oQSqCrNvt2uRnKlNwR3fjtpUG7oF5nqgzEB7NnT-U,6349
|
157
159
|
adam/k8s_utils/services.py,sha256=EOJJGACVbbRvu5T3rMKqIJqgYic1_MSJ17EA0TJ6UOk,3156
|
158
|
-
adam/k8s_utils/statefulsets.py,sha256=
|
160
|
+
adam/k8s_utils/statefulsets.py,sha256=hiBOmJZ3KTI6_naAFzNoW1NoYnnBG35BZ7RMdPhNC6o,4664
|
159
161
|
adam/k8s_utils/volumes.py,sha256=RIBmlOSWM3V3QVXLCFT0owVOyh4rGG1ETp521a-6ndo,1137
|
160
162
|
adam/sso/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
161
163
|
adam/sso/authenticator.py,sha256=BCm16L9zf5aLU47-sTCnudn2zLPwd8M2wwRminJfsqw,615
|
@@ -167,8 +169,8 @@ adam/sso/idp.py,sha256=fvcwUw_URTgsO6ySaqTIw0zQT2qRO1IPSGhf6rPtybo,5804
|
|
167
169
|
adam/sso/idp_login.py,sha256=QAtCUeDTVWliJy40RK_oac8Vgybr13xH8wzeBoxPaa8,1754
|
168
170
|
adam/sso/idp_session.py,sha256=9BUHNRf70u4rVKrVY1HKPOEmOviXvkjam8WJxmXSKIM,1735
|
169
171
|
adam/sso/sso_config.py,sha256=5N8WZgIJQBtHUy585XLRWKjpU87_v6QluyNK9E27D5s,2459
|
170
|
-
kaqing-2.0.
|
171
|
-
kaqing-2.0.
|
172
|
-
kaqing-2.0.
|
173
|
-
kaqing-2.0.
|
174
|
-
kaqing-2.0.
|
172
|
+
kaqing-2.0.43.dist-info/METADATA,sha256=BAor1KUFI33TgafSbpLCWAgi0_431eYOpMIDDH1XPqA,132
|
173
|
+
kaqing-2.0.43.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
174
|
+
kaqing-2.0.43.dist-info/entry_points.txt,sha256=SkzhuQJUWsXOzHeZ5TgQ2c3_g53UGK23zzJU_JTZOZI,39
|
175
|
+
kaqing-2.0.43.dist-info/top_level.txt,sha256=8_2PZkwBb-xDcnc8a2rAbQeJhXKXskc7zTP7pSPa1fw,5
|
176
|
+
kaqing-2.0.43.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|