kaqing 2.0.57__py3-none-any.whl → 2.0.59__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 CHANGED
@@ -72,7 +72,8 @@ class Cd(Command):
72
72
  if not state.sts:
73
73
  ss_and_ns = dir.split('@')
74
74
  state.sts = ss_and_ns[0]
75
- state.namespace = ss_and_ns[1]
75
+ if len(ss_and_ns) > 1:
76
+ state.namespace = ss_and_ns[1]
76
77
  elif not state.pod:
77
78
  p, _ = KubeContext.is_pod_name(dir)
78
79
  if p:
adam/commands/ls.py CHANGED
@@ -86,7 +86,7 @@ class Ls(Command):
86
86
  return state
87
87
 
88
88
  def show_statefulsets(self):
89
- ss = StatefulSets.list_sts_names(show_namespace=not KubeContext.in_cluster_namespace())
89
+ ss = StatefulSets.list_sts_names()
90
90
  if len(ss) == 0:
91
91
  log2('No cassandra statefulsets found.')
92
92
  return
adam/k8s_utils/secrets.py CHANGED
@@ -10,6 +10,8 @@ from adam.utils import log2
10
10
  # utility collection on secrets; methods are all static
11
11
  class Secrets:
12
12
  def list_secrets(namespace: str = None, name_pattern: str = None):
13
+ Config().wait_log('Inspecting Cassandra Instances...')
14
+
13
15
  secrets_names = []
14
16
 
15
17
  v1 = client.CoreV1Api()
@@ -28,8 +28,8 @@ class StatefulSets:
28
28
  def list_sts_name_and_ns():
29
29
  return [(statefulset.metadata.name, statefulset.metadata.namespace) for statefulset in StatefulSets.list_sts()]
30
30
 
31
- def list_sts_names(show_namespace = True):
32
- if show_namespace:
31
+ def list_sts_names():
32
+ if not KubeContext.in_cluster_namespace():
33
33
  return [f"{sts}@{ns}" for sts, ns in StatefulSets.list_sts_name_and_ns()]
34
34
  else:
35
35
  return [f"{sts}" for sts, _ in StatefulSets.list_sts_name_and_ns()]
adam/repl.py CHANGED
@@ -61,26 +61,30 @@ def enter_repl(state: ReplState):
61
61
  return f"{msg}$ " if state.bash_session else f"{msg}> "
62
62
 
63
63
  Log.log2(f'kaqing {__version__}')
64
- ss = StatefulSets.list_sts_name_and_ns()
65
64
 
66
65
  if state.device == ReplState.C:
66
+ ss = StatefulSets.list_sts_name_and_ns()
67
67
  if not ss:
68
68
  raise Exception("no Cassandra clusters found")
69
- elif len(ss) == 1 and Config().get('repl.auto-enter-only-cluster', True):
69
+ elif not state.sts and len(ss) == 1 and Config().get('repl.auto-enter-only-cluster', True):
70
70
  cluster = ss[0]
71
71
  state.sts = cluster[0]
72
72
  state.namespace = cluster[1]
73
- Config().wait_log(f'Moving to the only Cassandra cluster: {state.sts}@{state.namespace}...')
73
+ if KubeContext().in_cluster_namespace:
74
+ Config().wait_log(f'Moving to the only Cassandra cluster: {state.sts}...')
75
+ else:
76
+ Config().wait_log(f'Moving to the only Cassandra cluster: {state.sts}@{state.namespace}...')
74
77
  elif state.device == ReplState.A:
75
- if app := Config().get('repl.auto-enter-app', 'c3/c3'):
76
- if app != 'no':
77
- ea = app.split('/')
78
- state.app_env = ea[0]
79
- if len(ea) > 1:
80
- state.app_app = ea[1]
81
- Config().wait_log(f'Moving to {state.app_env}/{state.app_app}...')
82
- else:
83
- Config().wait_log(f'Moving to {state.app_env}...')
78
+ if not state.app_env:
79
+ if app := Config().get('repl.auto-enter-app', 'c3/c3'):
80
+ if app != 'no':
81
+ ea = app.split('/')
82
+ state.app_env = ea[0]
83
+ if len(ea) > 1:
84
+ state.app_app = ea[1]
85
+ Config().wait_log(f'Moving to {state.app_env}/{state.app_app}...')
86
+ else:
87
+ Config().wait_log(f'Moving to {state.app_env}...')
84
88
 
85
89
  kb = KeyBindings()
86
90
 
adam/repl_state.py CHANGED
@@ -1,5 +1,6 @@
1
1
  import copy
2
2
  from enum import Enum
3
+ import re
3
4
 
4
5
  from adam.commands.postgres.postgres_session import PostgresSession
5
6
  from adam.k8s_utils.cassandra_clusters import CassandraClusters
@@ -128,8 +129,30 @@ class ReplState:
128
129
  if index < 6:
129
130
  state = copy.copy(state)
130
131
 
131
- if arg in [f'{ReplState.A}:', f'{ReplState.C}:', f'{ReplState.P}:']:
132
- state.device = arg.strip(':')
132
+ groups = re.match(r'^([a|c|p]):(.*)$', arg)
133
+ if groups:
134
+ if groups[1] == 'p':
135
+ state.device = 'p'
136
+ state.pg_path = groups[2]
137
+ elif groups[1] == 'c':
138
+ state.device = 'c'
139
+ if path := groups[2]:
140
+ p_and_ns = path.split('@')
141
+ sts_and_pod = p_and_ns[0].split('/')
142
+ state.sts = sts_and_pod[0]
143
+ if len(sts_and_pod) > 1:
144
+ state.pod = sts_and_pod[1]
145
+ if len(p_and_ns) > 1:
146
+ state.namespace = p_and_ns[1]
147
+ elif ns := KubeContext.in_cluster_namespace():
148
+ state.namespace = ns
149
+ else:
150
+ state.device = 'a'
151
+ if path := groups[2]:
152
+ env_and_app = path.split('/')
153
+ state.app_env = env_and_app[0]
154
+ if len(env_and_app) > 1:
155
+ state.app_app = env_and_app[1]
133
156
  else:
134
157
  new_args.append(arg)
135
158
  else:
adam/sql/sql_completer.py CHANGED
@@ -181,7 +181,7 @@ class SqlCompleter(Completer):
181
181
  elif state == "select_where_":
182
182
  completer = columns
183
183
  elif state in ["select_where_a", "select_where_a_"]:
184
- completer = TermCompleter(['=', '<', '<=', '>', '>=', '<>', 'like', 'not'])
184
+ completer = TermCompleter(['=', '<', '<=', '>', '>=', '<>', 'like', 'not', 'in'])
185
185
  elif state == "select_where_a_not_":
186
186
  completer = TermCompleter(['like', 'in'])
187
187
  elif state == "select_where_a_op":
adam/version.py CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env python
2
2
  # -*- coding: utf-8 -*-
3
3
 
4
- __version__ = "2.0.57" #: the working version
4
+ __version__ = "2.0.59" #: the working version
5
5
  __release__ = "1.0.0" #: the release version
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kaqing
3
- Version: 2.0.57
3
+ Version: 2.0.59
4
4
  Summary: UNKNOWN
5
5
  Home-page: UNKNOWN
6
6
  License: UNKNOWN
@@ -9,12 +9,12 @@ 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=X9ga1iZFIXADQxBXvztFyVNBrfBRxiFLxTUYkm11img,7328
12
+ adam/repl.py,sha256=hY1IC7GMy5268BL5i7EUlsKDBiRnqVnYjqmToMooXKE,7580
13
13
  adam/repl_commands.py,sha256=WA90Rl27Juctzr3U3kfCDk5N-oYMKlfWbZeafUgk7k0,4723
14
14
  adam/repl_session.py,sha256=uIogcvWBh7wd8QQ-p_JgLsyJ8YJgINw5vOd6JIsd7Vo,472
15
- adam/repl_state.py,sha256=591d7gV6uQSFtm7IWdlIYAHjfAzs9bdvIkwlIAeKddE,7540
15
+ adam/repl_state.py,sha256=nZO5CucSIGz68f4JreadGphRzMXPUzkTn-4XcoJJOug,8643
16
16
  adam/utils.py,sha256=2DoWsrcaioFFH0-RjT30qelVRPUJqCGTfz_ucfE7F8g,7406
17
- adam/version.py,sha256=kXINOe-uvId2Kbv9pAAleFVyJC-tHoAx6EmOAUzCUjY,139
17
+ adam/version.py,sha256=bZLF2XO6ZZlVFi6gyU2Pd1pWbqtTja4dmETU3w93K4k,139
18
18
  adam/checks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  adam/checks/check.py,sha256=Qopr3huYcMu2bzQgb99dEUYjFzkjKHRI76S6KA9b9Rk,702
20
20
  adam/checks/check_context.py,sha256=FEHkQ32jY1EDopQ2uYWqy9v7aEEX1orLpJWhopwAlh4,402
@@ -51,7 +51,7 @@ adam/commands/alter_tables.py,sha256=Q5vXHE4_1_6v6wtYwqST7_QwpXINb1xq0Sm448Z2Y7Q
51
51
  adam/commands/app.py,sha256=7alV8wK801t67_rUe6EmhtHJTl-6K7fGCm6Uz1dDgpM,1963
52
52
  adam/commands/app_ping.py,sha256=Xk7cfefphXM2w-UvpnhNUTZ3BU38f0deehUb2FEyLCI,1337
53
53
  adam/commands/bash.py,sha256=1O9cCl9JHQdttqNAgdB44rO0NjCqHzHv4psAEQMJcjw,2714
54
- adam/commands/cd.py,sha256=wJdfCzA2939PpGx4xKsfDxiu-64OC9SecgPDb7nd4O0,4582
54
+ adam/commands/cd.py,sha256=3Iaerv88wPe5DgiRBIVRmKb8TIjEZrUHz8gx88WOA6s,4633
55
55
  adam/commands/check.py,sha256=853FPfgTMGxQXI_5UaPAtzaSWB_BvEVm48EkJhsHe4w,2181
56
56
  adam/commands/cli_commands.py,sha256=PEEyrG9yz7RAEZwHbbuFpyE3fVi8vrIWbr0d1H0Gp9o,3620
57
57
  adam/commands/command.py,sha256=Ph7IduCTGQ04dcwNegl1ekYbqCzOwAOYeWZVIRWnKyU,3958
@@ -64,7 +64,7 @@ adam/commands/help.py,sha256=Ey3R1X8w_CMhdADI0t8dSQ28euhDHheJm7NermiGni4,1645
64
64
  adam/commands/issues.py,sha256=VS-PC7e-2lywsa-lbmoUX8IY77OPGzFudwbw1g8XmQc,2599
65
65
  adam/commands/login.py,sha256=bj95WWIF7mJDJhnyS9T8xvaZUGL37dj7GlH8TgmODbk,1877
66
66
  adam/commands/logs.py,sha256=T-O9DYXmWEm4G1I5SM6MwyeRwq2aT-WMqNW0XA2MWmo,1165
67
- adam/commands/ls.py,sha256=ZOhY_vEjOEbvI5n8c9ha-SqmJwK2b7sF94G1gDoQ5Y0,5576
67
+ adam/commands/ls.py,sha256=u81ICKedZAqOmgY3-BaYBPnMAcQdriQnP-nDf_mg5lM,5523
68
68
  adam/commands/nodetool.py,sha256=HV9yDzMhRjS4lw6UfV7Hc1pcmeSx5a1jU6cAEKSZ1Bg,2334
69
69
  adam/commands/nodetool_commands.py,sha256=5IgWC3rmeDD1cgwqQjiiWzi-wJpJ3n_8pAzz_9phXuk,2635
70
70
  adam/commands/param_get.py,sha256=kPAAppK2T0tEFRnSIVFLDPIIGHhgLA7drJhn8TRyvvE,1305
@@ -158,13 +158,13 @@ adam/k8s_utils/ingresses.py,sha256=ul3Z6fDGc_Cxcn-ExP0vXhZatoShCUZFtpwtCY4Qx7o,3
158
158
  adam/k8s_utils/jobs.py,sha256=gJpBpjcZ_FlkWJJIlavbHC_bqdmvv-GMVo8UZVh0sOQ,2610
159
159
  adam/k8s_utils/kube_context.py,sha256=xJF_72vUJu-X9MpIYzOIfnj7KEWU7a_sLBR-H3994Y0,3311
160
160
  adam/k8s_utils/pods.py,sha256=ljn5tB-j8bdof6X_YWS9Hf5cjAzwmYw61I9_0bwIjCc,10540
161
- adam/k8s_utils/secrets.py,sha256=pYaVKXTpx3-QgFtBjznWFq0N6ZcBdxnx21FRe5nBCCo,2305
161
+ adam/k8s_utils/secrets.py,sha256=V8SAsGwIfJCrbARf6gtbsCNKeqobu_x8hdJ-ckNyr1M,2369
162
162
  adam/k8s_utils/service_accounts.py,sha256=v2oQSqCrNvt2uRnKlNwR3fjtpUG7oF5nqgzEB7NnT-U,6349
163
163
  adam/k8s_utils/services.py,sha256=EOJJGACVbbRvu5T3rMKqIJqgYic1_MSJ17EA0TJ6UOk,3156
164
- adam/k8s_utils/statefulsets.py,sha256=hiBOmJZ3KTI6_naAFzNoW1NoYnnBG35BZ7RMdPhNC6o,4664
164
+ adam/k8s_utils/statefulsets.py,sha256=5g7KxGRHgEewT8rnZneDTaJDylUf-dHH2edWJEoorr8,4667
165
165
  adam/k8s_utils/volumes.py,sha256=RIBmlOSWM3V3QVXLCFT0owVOyh4rGG1ETp521a-6ndo,1137
166
166
  adam/sql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
167
- adam/sql/sql_completer.py,sha256=BAg1Ogn_q1JSjpQhN-2jVzIuMoH1FpFzn_xpMRvB-TQ,35882
167
+ adam/sql/sql_completer.py,sha256=eYkW0WYV0mEMUgGcKvxTRbI6vO-q3rJ7dUWjqaOGfHc,35888
168
168
  adam/sql/term_completer.py,sha256=VCCMPUzvh_9lwIOwqQmeijM0V2JPADkBbNV4HQIqDCw,2538
169
169
  adam/sso/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
170
170
  adam/sso/authenticator.py,sha256=BCm16L9zf5aLU47-sTCnudn2zLPwd8M2wwRminJfsqw,615
@@ -176,8 +176,8 @@ adam/sso/idp.py,sha256=fvcwUw_URTgsO6ySaqTIw0zQT2qRO1IPSGhf6rPtybo,5804
176
176
  adam/sso/idp_login.py,sha256=QAtCUeDTVWliJy40RK_oac8Vgybr13xH8wzeBoxPaa8,1754
177
177
  adam/sso/idp_session.py,sha256=9BUHNRf70u4rVKrVY1HKPOEmOviXvkjam8WJxmXSKIM,1735
178
178
  adam/sso/sso_config.py,sha256=5N8WZgIJQBtHUy585XLRWKjpU87_v6QluyNK9E27D5s,2459
179
- kaqing-2.0.57.dist-info/METADATA,sha256=AJUgGbSTZ4aZy5vdBdNW076Iv-L5SKzR00IFzWOtDUk,132
180
- kaqing-2.0.57.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
181
- kaqing-2.0.57.dist-info/entry_points.txt,sha256=SkzhuQJUWsXOzHeZ5TgQ2c3_g53UGK23zzJU_JTZOZI,39
182
- kaqing-2.0.57.dist-info/top_level.txt,sha256=8_2PZkwBb-xDcnc8a2rAbQeJhXKXskc7zTP7pSPa1fw,5
183
- kaqing-2.0.57.dist-info/RECORD,,
179
+ kaqing-2.0.59.dist-info/METADATA,sha256=was_BfF57P67JzKL4YjCWWXifFOLUENpUpudmhb1Z_8,132
180
+ kaqing-2.0.59.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
181
+ kaqing-2.0.59.dist-info/entry_points.txt,sha256=SkzhuQJUWsXOzHeZ5TgQ2c3_g53UGK23zzJU_JTZOZI,39
182
+ kaqing-2.0.59.dist-info/top_level.txt,sha256=8_2PZkwBb-xDcnc8a2rAbQeJhXKXskc7zTP7pSPa1fw,5
183
+ kaqing-2.0.59.dist-info/RECORD,,