kaqing 2.0.174__py3-none-any.whl → 2.0.186__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.

Potentially problematic release.


This version of kaqing might be problematic. Click here for more details.

Files changed (134) hide show
  1. adam/app_session.py +2 -2
  2. adam/apps.py +18 -4
  3. adam/batch.py +1 -1
  4. adam/checks/check_utils.py +3 -1
  5. adam/commands/__init__.py +4 -2
  6. adam/commands/app/__init__.py +0 -0
  7. adam/commands/app/app.py +38 -0
  8. adam/commands/app/app_ping.py +38 -0
  9. adam/commands/app/show_app_actions.py +49 -0
  10. adam/commands/app/show_app_id.py +44 -0
  11. adam/commands/app/show_app_queues.py +38 -0
  12. adam/commands/app/utils_app.py +106 -0
  13. adam/commands/audit/audit.py +9 -27
  14. adam/commands/audit/audit_repair_tables.py +5 -7
  15. adam/commands/audit/audit_run.py +1 -1
  16. adam/commands/audit/completions_l.py +15 -0
  17. adam/commands/audit/show_last10.py +2 -14
  18. adam/commands/audit/show_slow10.py +2 -13
  19. adam/commands/audit/show_top10.py +2 -11
  20. adam/commands/audit/utils_show_top10.py +14 -1
  21. adam/commands/bash/bash.py +1 -1
  22. adam/commands/cat.py +3 -7
  23. adam/commands/check.py +2 -2
  24. adam/commands/cli_commands.py +6 -1
  25. adam/commands/{cp.py → clipboard_copy.py} +18 -12
  26. adam/commands/code.py +2 -2
  27. adam/commands/command.py +61 -11
  28. adam/commands/commands_utils.py +19 -12
  29. adam/commands/cql/completions_c.py +28 -0
  30. adam/commands/cql/cqlsh.py +3 -7
  31. adam/commands/cql/utils_cql.py +22 -58
  32. adam/commands/deploy/deploy_pg_agent.py +2 -2
  33. adam/commands/deploy/undeploy_pg_agent.py +2 -2
  34. adam/commands/devices/device.py +39 -8
  35. adam/commands/devices/device_app.py +18 -28
  36. adam/commands/devices/device_auit_log.py +3 -3
  37. adam/commands/devices/device_cass.py +16 -22
  38. adam/commands/devices/device_export.py +6 -3
  39. adam/commands/devices/device_postgres.py +79 -63
  40. adam/commands/download_file.py +47 -0
  41. adam/commands/export/clean_up_all_export_sessions.py +3 -3
  42. adam/commands/export/clean_up_export_sessions.py +5 -10
  43. adam/commands/export/completions_x.py +11 -0
  44. adam/commands/export/download_export_session.py +40 -0
  45. adam/commands/export/export.py +0 -16
  46. adam/commands/export/export_databases.py +26 -9
  47. adam/commands/export/export_select.py +9 -58
  48. adam/commands/export/export_sessions.py +90 -5
  49. adam/commands/export/export_use.py +13 -10
  50. adam/commands/export/export_x_select.py +48 -0
  51. adam/commands/export/exporter.py +60 -22
  52. adam/commands/export/import_files.py +44 -0
  53. adam/commands/export/import_session.py +8 -4
  54. adam/commands/export/importer.py +7 -0
  55. adam/commands/export/importer_athena.py +101 -34
  56. adam/commands/export/importer_sqlite.py +30 -5
  57. adam/commands/export/show_column_counts.py +11 -11
  58. adam/commands/export/show_export_databases.py +5 -3
  59. adam/commands/export/show_export_session.py +5 -6
  60. adam/commands/export/show_export_sessions.py +4 -11
  61. adam/commands/export/utils_export.py +42 -14
  62. adam/commands/find_files.py +51 -0
  63. adam/commands/find_processes.py +76 -0
  64. adam/commands/head.py +36 -0
  65. adam/commands/help.py +2 -2
  66. adam/commands/intermediate_command.py +6 -3
  67. adam/commands/ls.py +1 -1
  68. adam/commands/medusa/medusa_backup.py +12 -14
  69. adam/commands/medusa/medusa_restore.py +20 -15
  70. adam/commands/medusa/medusa_show_backupjobs.py +6 -4
  71. adam/commands/medusa/medusa_show_restorejobs.py +5 -3
  72. adam/commands/medusa/utils_medusa.py +15 -0
  73. adam/commands/nodetool.py +3 -8
  74. adam/commands/param_get.py +2 -3
  75. adam/commands/param_set.py +1 -1
  76. adam/commands/postgres/completions_p.py +22 -0
  77. adam/commands/postgres/postgres.py +14 -21
  78. adam/commands/postgres/postgres_databases.py +270 -0
  79. adam/commands/postgres/utils_postgres.py +29 -20
  80. adam/commands/preview_table.py +3 -1
  81. adam/commands/pwd.py +3 -3
  82. adam/commands/reaper/reaper_forward.py +2 -2
  83. adam/commands/reaper/reaper_runs.py +3 -3
  84. adam/commands/reaper/reaper_schedule_activate.py +6 -2
  85. adam/commands/reaper/reaper_schedule_start.py +1 -2
  86. adam/commands/reaper/reaper_schedule_stop.py +1 -2
  87. adam/commands/reaper/utils_reaper.py +13 -6
  88. adam/commands/repair/repair_scan.py +0 -2
  89. adam/commands/repair/repair_stop.py +0 -1
  90. adam/commands/shell.py +7 -5
  91. adam/commands/show/show.py +1 -1
  92. adam/commands/show/show_adam.py +3 -3
  93. adam/commands/show/show_cassandra_repairs.py +5 -3
  94. adam/commands/show/show_cassandra_status.py +27 -20
  95. adam/commands/show/{show_commands.py → show_cli_commands.py} +2 -2
  96. adam/commands/show/show_login.py +2 -2
  97. adam/commands/show/show_params.py +2 -5
  98. adam/commands/show/show_processes.py +15 -14
  99. adam/commands/show/show_storage.py +9 -8
  100. adam/config.py +1 -0
  101. adam/embedded_params.py +1 -1
  102. adam/repl.py +16 -9
  103. adam/repl_commands.py +16 -9
  104. adam/repl_session.py +8 -1
  105. adam/repl_state.py +33 -10
  106. adam/sql/lark_completer.py +280 -0
  107. adam/sql/lark_parser.py +604 -0
  108. adam/sql/sql_state_machine.py +8 -2
  109. adam/utils.py +116 -29
  110. adam/utils_athena.py +7 -8
  111. adam/utils_issues.py +2 -2
  112. adam/utils_k8s/app_clusters.py +2 -2
  113. adam/utils_k8s/app_pods.py +5 -2
  114. adam/utils_k8s/cassandra_clusters.py +11 -3
  115. adam/utils_k8s/cassandra_nodes.py +2 -2
  116. adam/utils_k8s/k8s.py +9 -0
  117. adam/utils_k8s/kube_context.py +2 -2
  118. adam/utils_k8s/pods.py +23 -5
  119. adam/utils_k8s/statefulsets.py +5 -2
  120. adam/utils_local.py +4 -0
  121. adam/utils_repl/appendable_completer.py +6 -0
  122. adam/utils_repl/repl_completer.py +128 -2
  123. adam/utils_sqlite.py +2 -2
  124. adam/version.py +1 -1
  125. {kaqing-2.0.174.dist-info → kaqing-2.0.186.dist-info}/METADATA +1 -1
  126. kaqing-2.0.186.dist-info/RECORD +250 -0
  127. adam/commands/cql/cql_completions.py +0 -32
  128. adam/commands/export/export_select_x.py +0 -54
  129. adam/commands/postgres/postgres_context.py +0 -272
  130. adam/commands/postgres/psql_completions.py +0 -10
  131. kaqing-2.0.174.dist-info/RECORD +0 -230
  132. {kaqing-2.0.174.dist-info → kaqing-2.0.186.dist-info}/WHEEL +0 -0
  133. {kaqing-2.0.174.dist-info → kaqing-2.0.186.dist-info}/entry_points.txt +0 -0
  134. {kaqing-2.0.174.dist-info → kaqing-2.0.186.dist-info}/top_level.txt +0 -0
@@ -1,14 +1,58 @@
1
+ from concurrent.futures import ThreadPoolExecutor
2
+ import copy
3
+ import inspect
1
4
  import re
2
- from typing import Iterable, TypeVar
3
- from prompt_toolkit.completion import CompleteEvent, Completion, NestedCompleter, WordCompleter
5
+ import threading
6
+ import traceback
7
+ from typing import Iterable, TypeVar, cast
8
+ from prompt_toolkit.completion import CompleteEvent, Completer, Completion, NestedCompleter, WordCompleter
4
9
  from prompt_toolkit.document import Document
5
10
 
11
+ from adam.utils import debug, debug_complete, log2, log_timing
12
+ from adam.utils_repl.appendable_completer import AppendableCompleter
13
+
14
+ import nest_asyncio
15
+ nest_asyncio.apply()
16
+
17
+ import asyncio
18
+
6
19
  __all__ = [
7
20
  "ReplCompleter",
8
21
  ]
9
22
 
10
23
  T = TypeVar('T')
11
24
 
25
+ def merge_completions(dict1, dict2):
26
+ if isinstance(dict1, dict):
27
+ target = dict1.copy()
28
+ else:
29
+ target = copy.copy(dict1)
30
+
31
+ try:
32
+ for key, value in dict2.items():
33
+ if key in target:
34
+ debug_complete(f'[{key}] {type(dict2)} is being merged to {type(target[key])} completions')
35
+ if isinstance(value, dict):
36
+ if isinstance(target[key], dict):
37
+ target[key] = merge_completions(target[key], value)
38
+ elif isinstance(target[key], AppendableCompleter):
39
+ cast(AppendableCompleter, target[key]).append_completions(key, value)
40
+ elif isinstance(value, AppendableCompleter):
41
+ if isinstance(target[key], dict):
42
+ cast(AppendableCompleter, value).append_completions(key, target[key])
43
+ target[key] = value
44
+ else:
45
+ log2(f'* {key} of {type(value)} is overriding existing {type(target[key])} completions')
46
+ else:
47
+ target[key] = value
48
+ else:
49
+ target[key] = value
50
+
51
+ except Exception as e:
52
+ traceback.print_exc()
53
+
54
+ return target
55
+
12
56
  class ReplCompleter(NestedCompleter):
13
57
  def get_completions(
14
58
  self, document: Document, complete_event: CompleteEvent
@@ -42,5 +86,87 @@ class ReplCompleter(NestedCompleter):
42
86
  # Allow dot in the middle or a word
43
87
  list(self.options.keys()), ignore_case=self.ignore_case, pattern=re.compile(r"([a-zA-Z0-9_\.\@\&]+|[^a-zA-Z0-9_\.\@\&\s]+)")
44
88
  )
89
+ for c in completer.get_completions(document, complete_event):
90
+ yield c
91
+
92
+ lock = threading.Lock()
93
+ in_queue = set()
94
+
95
+ def preload(action: callable, log_key: str = None):
96
+ with lock:
97
+ if not LazyNestedCompleter.loop:
98
+ LazyNestedCompleter.loop = asyncio.new_event_loop()
99
+ LazyNestedCompleter.async_exec = ThreadPoolExecutor(max_workers=6, thread_name_prefix='async')
100
+ LazyNestedCompleter.loop.set_default_executor(LazyNestedCompleter.async_exec)
101
+
102
+ # some lib does not handle asyncio loop properly, as sync exec submit does not work, use another async loop
103
+ async def a():
104
+ try:
105
+ arg_needed = len(action.__code__.co_varnames)
106
+
107
+ if log_key:
108
+ with log_timing(log_key):
109
+ r = action(None) if arg_needed else action()
110
+ else:
111
+ r = action(None) if arg_needed else action()
112
+ if inspect.isawaitable(r):
113
+ await r
114
+
115
+ in_queue.remove(log_key)
116
+ except Exception as e:
117
+ log2('preloading error', e, inspect.getsourcelines(action)[0][0])
118
+ traceback.print_exc()
119
+
120
+ if log_key not in in_queue:
121
+ in_queue.add(log_key)
122
+ LazyNestedCompleter.async_exec.submit(lambda: LazyNestedCompleter.loop.run_until_complete(a()))
123
+
124
+ class LazyNestedCompleter(NestedCompleter):
125
+ loop: asyncio.AbstractEventLoop = None
126
+ async_exec: ThreadPoolExecutor = None
127
+
128
+ def __init__(self, name: str, options_lambda: callable, ignore_case: bool = True, auto: str = 'lazy') -> None:
129
+ super().__init__(None, ignore_case)
130
+ self.options_lambda = options_lambda
131
+ if auto == 'lazy':
132
+ preload(options_lambda, log_key=name)
133
+
134
+ def __repr__(self) -> str:
135
+ return "LazyNestedCompleter(%r, ignore_case=%r)" % (self.options, self.ignore_case)
136
+
137
+ def get_completions(
138
+ self, document: Document, complete_event: CompleteEvent
139
+ ) -> Iterable[Completion]:
140
+ if not self.options:
141
+ self.options = self.options_lambda()
142
+
143
+ # Split document.
144
+ text = document.text_before_cursor.lstrip()
145
+ stripped_len = len(document.text_before_cursor) - len(text)
146
+
147
+ # If there is a space, check for the first term, and use a
148
+ # subcompleter.
149
+ if " " in text:
150
+ first_term = text.split()[0]
151
+ completer = self.options.get(first_term)
152
+
153
+ # If we have a sub completer, use this for the completions.
154
+ if completer is not None:
155
+ remaining_text = text[len(first_term) :].lstrip()
156
+ move_cursor = len(text) - len(remaining_text) + stripped_len
157
+
158
+ new_document = Document(
159
+ remaining_text,
160
+ cursor_position=document.cursor_position - move_cursor,
161
+ )
162
+
163
+ for c in completer.get_completions(new_document, complete_event):
164
+ yield c
165
+
166
+ # No space in the input: behave exactly like `WordCompleter`.
167
+ else:
168
+ completer = WordCompleter(
169
+ list(self.options.keys()), ignore_case=self.ignore_case
170
+ )
45
171
  for c in completer.get_completions(document, complete_event):
46
172
  yield c
adam/utils_sqlite.py CHANGED
@@ -7,7 +7,7 @@ import sqlite3
7
7
  import pandas
8
8
 
9
9
  from adam.config import Config
10
- from adam.utils import lines_to_tabular, log, wait_log
10
+ from adam.utils import tabulize, log, wait_log
11
11
 
12
12
  class CursorHandler:
13
13
  def __init__(self, conn: sqlite3.Connection):
@@ -122,7 +122,7 @@ class SQLite:
122
122
 
123
123
  df = SQLite.query(conn, query)
124
124
  lines = ['\t'.join(map(str, line)) for line in df.values.tolist()]
125
- out = lines_to_tabular(lines, header='\t'.join(df.columns.tolist()), separator='\t')
125
+ out = tabulize(lines, header='\t'.join(df.columns.tolist()), separator='\t', to=0)
126
126
  if output:
127
127
  log_file = output(out)
128
128
  else:
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.174" #: the working version
4
+ __version__ = "2.0.186" #: 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.174
3
+ Version: 2.0.186
4
4
  Summary: UNKNOWN
5
5
  Home-page: UNKNOWN
6
6
  License: UNKNOWN
@@ -0,0 +1,250 @@
1
+ adam/__init__.py,sha256=is7iqn2nhRzPymhTEajITEFVyvROZ9GWfNsZX3L5g_o,45
2
+ adam/app_session.py,sha256=4bRs1uYvaFWnWlTyQctSeR3BE2Dk0bVe509LbqvX9iE,6841
3
+ adam/apps.py,sha256=f1qsIOYjn4fdpCvMfOBns5YEiA5fMm7yZu3cQrK6z2M,7049
4
+ adam/batch.py,sha256=c1FgH3-glAqBdAXMEGBe9MTHnqGFUXfsgLB1Mw9LV60,24041
5
+ adam/cli.py,sha256=03pIZdomAu7IL-GSP6Eun_PKwwISShRAmfx6eVRPGC0,458
6
+ adam/cli_group.py,sha256=W3zy1BghCtVcEXizq8fBH-93ZRVVwgAyGPzy0sHno1Y,593
7
+ adam/config.py,sha256=snozVzu-jaws8PFMNH489Iv-43ptYa5pp4aGeTKRQnw,2778
8
+ adam/embedded_apps.py,sha256=lKPx63mKzJbNmwz0rgL4gF76M9fDGxraYTtNAIGnZ_s,419
9
+ adam/embedded_params.py,sha256=hHFebMjFpWuviGC6n6AsLDxm4nC8fsqEcCg1mvyUa8c,6429
10
+ adam/log.py,sha256=vcJ1Q8LLnt3NSXqpVcKjAI2OZE6KaD3PEi1kfu_D8qs,1156
11
+ adam/pod_exec_result.py,sha256=85jy_5dS6TEEk5ijU0B62YfUycxmD3dG8mhIHFPipc8,1260
12
+ adam/repl.py,sha256=_GVboHyXRcpr0l0gQAgiQ5LNTXgH3cXSvvC_aNxQmDw,7574
13
+ adam/repl_commands.py,sha256=tU37MMbs1Pqjde3mTFm02E_haSeLM1wjjypy6ayMBTc,6910
14
+ adam/repl_session.py,sha256=vo_dpl2UF-u6Kyl0jozYS_o70CL0Qx7OEo5XJdOwyYs,730
15
+ adam/repl_state.py,sha256=6YXK1hnRWfpfmgP_mU7-oiimdIQAQjs1dU6GjZ-NcoI,16057
16
+ adam/utils.py,sha256=-3ptZSOIg4f8Uv_k8d9Qt-iuDoyYotUeJL5LQsTAh_Q,22374
17
+ adam/utils_athena.py,sha256=13ZtBlOIDhIvZYRGRLtDrKrEcn4VIq87IZVrIkM1mAM,5389
18
+ adam/utils_audits.py,sha256=lZ2U1AcROxLB4652auG091QFTPs_YNzbtdXBiK6bY_Y,4063
19
+ adam/utils_issues.py,sha256=nWhzUXmD2IfbT8MzjdyvuvpKrtUoieF74O2joaWFpUU,1438
20
+ adam/utils_local.py,sha256=3RIvP5ZluJhOl-z9qi5U4bLFP5_vuYGnjcY-koO40lE,109
21
+ adam/utils_net.py,sha256=byEtNVr8iG9UaD7dM77dN2WEBClB7YNKult7LKFTCOc,428
22
+ adam/utils_sqlite.py,sha256=z34AxQL1HZBcv704NXZsMerWt-BPtnCUUw1rZHQB9Bw,4330
23
+ adam/version.py,sha256=hUfNKxhSPSB0USqdoJrnbKI5GTxNGYyhIVYwoyw1oSE,140
24
+ adam/checks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
+ adam/checks/check.py,sha256=Qopr3huYcMu2bzQgb99dEUYjFzkjKHRI76S6KA9b9Rk,702
26
+ adam/checks/check_context.py,sha256=FEHkQ32jY1EDopQ2uYWqy9v7aEEX1orLpJWhopwAlh4,402
27
+ adam/checks/check_result.py,sha256=5_DVNgkCC9t7xFJYNsjd9bfXA1I4vYb6K3kmN8cdMrA,669
28
+ adam/checks/check_utils.py,sha256=oF4nOTqHY_ynf8M3kvDqzSzxA7-vScobxP9W_oWp8No,2736
29
+ adam/checks/compactionstats.py,sha256=NFi9RcRImZqCJBZs3LH851RHmlu4BO0s_QOsvkdUxKQ,2304
30
+ adam/checks/cpu.py,sha256=j1CFzDO77uTpnYW7xUbx0OzHkQksc2IEXLPXenDo2wE,2978
31
+ adam/checks/cpu_metrics.py,sha256=ymDxof0l4PdRp527nFAJae7Yzn7zjAOvDMZiBwS50QY,2023
32
+ adam/checks/disk.py,sha256=pmjNUEF4rrYtQGcHfv9K78q8cCbAsZeg6qE3KN-IbBU,5215
33
+ adam/checks/gossip.py,sha256=60PeVkhtMWziiYILPwMKfesFjOanIn-nxeZZL5nUHQs,3119
34
+ adam/checks/issue.py,sha256=u3E6yCpDGGJiveKXdpkrKq7HQRTrG7aR2XLCoO-ys7U,498
35
+ adam/checks/memory.py,sha256=1TPoC_eL7QmMMJfaclW3hoSxudsUc4qvrzzb0Z4f5Kw,3056
36
+ adam/checks/status.py,sha256=4IFCesrovCbGKgbJxLr0VxjGGWmmF23ZQNfHUFb5Kyg,2140
37
+ adam/columns/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
+ adam/columns/column.py,sha256=O_5ptfx136BKdLo8enDvSL3HlId1dkjMM2XUumg1tNA,956
39
+ adam/columns/columns.py,sha256=AqUhIdu8dlaZuA96rWW3TBnR6SdbvQkr02ZGyHZKKmU,1708
40
+ adam/columns/compactions.py,sha256=ybIEYTkDuRTBLIUNurGhu1jhVnf1UEpJ0abo3GTgmKw,928
41
+ adam/columns/cpu.py,sha256=b_kFLUwBFxAkZXmqu-L7stuJDT_5bbEUZPLiTOQaBKg,585
42
+ adam/columns/cpu_metrics.py,sha256=4CWz-hwJhAW00Yd-7jKWRYIPviyjY4THp_FulMW6otc,711
43
+ adam/columns/dir_data.py,sha256=gDLcrwMZ6dEVTmpvc35yX3iNY97mQ5q0eQojm8tZ2so,545
44
+ adam/columns/dir_snapshots.py,sha256=OSseuf7gAvT-_ujLvGt43jF-q7QVJNDcvqOK47QSJbk,451
45
+ adam/columns/gossip.py,sha256=KKUycFG-8YxMh9VYUrYOFwPVvnh-0i19k---DrpW93g,656
46
+ adam/columns/host_id.py,sha256=oqesvFCzUu0utkcH5mhYg0vx7lAW2EIDoezgY_CCP_Y,350
47
+ adam/columns/memory.py,sha256=yUjHcdhoiivJQB2kVimCSuzkhZTiPSugwtJ8invoub0,706
48
+ adam/columns/node_address.py,sha256=PqSm2FtR0NAhc-R17sPRJJ3c6eWlJLHPctu8RsCslcM,355
49
+ adam/columns/node_load.py,sha256=Oc-kdfezYBP5eWDug-ijgM48x6XRNjwxxoQDZt_MbQc,349
50
+ adam/columns/node_owns.py,sha256=Iv5FDYV0m3ZM2JK05Fl485ZxDgOxZHDIN9KYNJc6Zdg,349
51
+ adam/columns/node_status.py,sha256=im52GfdETXVJVM00fU5OjJM2FvLZrgqpLkWKCwWhjAs,353
52
+ adam/columns/node_tokens.py,sha256=38D9xJ3uA48gzEYBtIiIUbZJcteM1H4KryzJNn01uZ8,353
53
+ adam/columns/node_utils.py,sha256=ql2StXmASC7equuabZVZEQ_BPTu2KkS99gY_3JXpIvU,774
54
+ adam/columns/pod_name.py,sha256=IYw0ZKA7Fb9LaGXENqzZTiTgL98tahwFRtfy0KkKh2Q,280
55
+ adam/columns/volume_cassandra.py,sha256=9KRNOzjNYganI9avN6zaA5_-7yxD4rV-KNxro9CSUg4,753
56
+ adam/columns/volume_root.py,sha256=29ujLoCAf9LO75u62LxEaPD58s6ihV-tcK17OeLSOM0,556
57
+ adam/commands/__init__.py,sha256=xMC9cRhdshstKEgmu5-euiAE53vvWItKqUzlKhTteAg,1302
58
+ adam/commands/alter_tables.py,sha256=yNqIYDoZd2xZEl3hc8E6V1Br6_BEM3X7DCnXFGuR1pQ,3216
59
+ adam/commands/cat.py,sha256=6Gn3Veo-UJe6AaMexVcTPOxvzC-N4FfET4Y94gFL_B4,1290
60
+ adam/commands/cd.py,sha256=g6GGHqg72pfxjVL_s5KFne2GL8taikWRWgCEU1nDRqg,1338
61
+ adam/commands/check.py,sha256=5aa4DAIMB24HNY-zYwHGthQM_9qwB-vlKpzeaq65HBs,2314
62
+ adam/commands/cli_commands.py,sha256=sbGi1AoSlZsgUmaZ1p5Jk5gQ0VlkET9czUWq-Ars93w,3765
63
+ adam/commands/clipboard_copy.py,sha256=2FOBPbrb59D3unNUaKJhkEPJQ7f09O0JQkqqP567_a4,3171
64
+ adam/commands/code.py,sha256=q95MN9Ts7xjCAUZB50Q8MJYNPzny-4FeI2LdwMBzozQ,1890
65
+ adam/commands/command.py,sha256=LVwWTATJd9-chHHfB2IblXSNjYK6JBoZqG6XAPb9x0U,9808
66
+ adam/commands/command_helpers.py,sha256=leOJJK1UXczNTJHN9TGMCbIpUpmpreULvQ-TvnsYS7w,1134
67
+ adam/commands/commands_utils.py,sha256=ZGREsrhVvj4nEKm6i6MAEK0BUR2t1VAYIYtHfddu9zA,3169
68
+ adam/commands/download_file.py,sha256=LcJIjPpEdEGs1XmGeKIQMhoV0Ywy6qwkc7nBbvLUCAo,1855
69
+ adam/commands/exit.py,sha256=T7bCEShd6MXQ8rXak7vGZTvqEOejPOUPtbdfy7d8WWA,753
70
+ adam/commands/find_files.py,sha256=2yx-RhOHvok0y0wxYf-OChWghEQc_pnp3B_nASt33zk,1480
71
+ adam/commands/find_processes.py,sha256=_nF4YVBjg9RcvjPVpNtoFNeBLA5rjyuioE8Dr1RDQ3w,2916
72
+ adam/commands/head.py,sha256=o0Yq5QT8YJTFflp4PwcjNiN7wIn1sYc0Xs8IAb0aXZM,1296
73
+ adam/commands/help.py,sha256=SYaJL-7mApfSlfkDvY2uKl7onyr54ntDmMSQ18sfaZw,1886
74
+ adam/commands/intermediate_command.py,sha256=vT802djwMyMgcidZufa98GnFiWHgmNKU1XFp7Y_ovhU,1784
75
+ adam/commands/issues.py,sha256=5evrVBzc4sCMHwQ9LmuGAgoPBINr-OCa9FZMJVJDwH8,1431
76
+ adam/commands/kubectl.py,sha256=kCXIl_9vNDW6CBirCeowQjJ2UhidlCEDBP8XOVIloF8,993
77
+ adam/commands/login.py,sha256=rY8P3wpWZOBN-68QRZfDfBvd0wjLUkwbTNPduqAOoVA,2073
78
+ adam/commands/logs.py,sha256=CS4eh5JWzoXboYSXXpiE6CDsky1Jsu61Q1MZAqGjOB8,1142
79
+ adam/commands/ls.py,sha256=hv8EGlvoS0lgApapp2_IetZekYQy6fDZRqOdLc14VK4,1290
80
+ adam/commands/nodetool.py,sha256=kVbE-XlqcICoH2Kcye13645rATI75HvG0cvtzGFEW8E,2028
81
+ adam/commands/nodetool_commands.py,sha256=5IgWC3rmeDD1cgwqQjiiWzi-wJpJ3n_8pAzz_9phXuk,2635
82
+ adam/commands/param_get.py,sha256=3IpAn4_T-_NlSkEXyv0jkBJ_aHE-e9hdY5YVaZlIKBI,1357
83
+ adam/commands/param_set.py,sha256=v1oKyr7Efv7YpnwuXj-dm4M_vo9F1FNIdQHSb6F_t1o,1351
84
+ adam/commands/preview_table.py,sha256=sw2vqItIo4YuaawFOecS5lYl-cMfYiLgeR0fKG23o4A,1255
85
+ adam/commands/pwd.py,sha256=aQKMHEONxTM2h1nv3dT9rj6cUl3WUZC6SD8nrfNYrZI,1427
86
+ adam/commands/report.py,sha256=IESGEq6akUY2IznKUZV90_5s2gRM4npexFQH7Pa3rAI,2086
87
+ adam/commands/restart.py,sha256=CUjHxdWznqgY2BdYcHHKH2eolj3cPeE5xbMjkIiyJ2A,2202
88
+ adam/commands/rollout.py,sha256=BmlvnVffPGCERfXxdJJFnxtU3yDILp5016N7C-EWCOE,3032
89
+ adam/commands/shell.py,sha256=UQs4TEIDiZOjJrVsZJ_O9DDtn_k3K7-ifg1ZBsJFnsU,1155
90
+ adam/commands/watch.py,sha256=q3kJd6YSO_ZxQ107EeIWZsW8m2X7YIGT3QPXjKloTIo,2459
91
+ adam/commands/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
92
+ adam/commands/app/app.py,sha256=4N1bkXItOkuw_uXQNyB24eZ7vqUIbafbKRnf1DociSw,1152
93
+ adam/commands/app/app_ping.py,sha256=VOPaWE2DQjAXlN1uonH2chNItiTUt7HqltQDA2LkwrU,1207
94
+ adam/commands/app/show_app_actions.py,sha256=A2voQ4cKZatQLNaTCf05Z0I7U77UPmtzoxeCaURiiYU,1731
95
+ adam/commands/app/show_app_id.py,sha256=4Y4uTZa7J5NJI6W8OTqtS5ynCoflYiPVz98c-h3hNBo,1359
96
+ adam/commands/app/show_app_queues.py,sha256=F6qFqnUqiNocvWROj8oXQmmLYU9e8S51N8ao6P0wp-Y,1234
97
+ adam/commands/app/utils_app.py,sha256=ukzlaktcTyJ9mmTkhNhBrIzSXDlrFqRmFeYNiCGPasU,3335
98
+ adam/commands/audit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
+ adam/commands/audit/audit.py,sha256=ifo7A9h5H_nQASQVdAH9lg0WugSgd6Nt6x1gRqaMN38,2442
100
+ adam/commands/audit/audit_repair_tables.py,sha256=m2GKLoGw2TuwPmfMQxN0t9h1V3q-RHylVpPafQjUNkk,2577
101
+ adam/commands/audit/audit_run.py,sha256=cXpFKAcyuuiHmfd0HT43P_n7cvpykElkCJe4onHokc0,1675
102
+ adam/commands/audit/completions_l.py,sha256=TVCxj4lCEsWKNH6XUYtrwLSR7mwQGaeTgZmVrg0AiRM,627
103
+ adam/commands/audit/show_last10.py,sha256=80pEzxV5N6XYRx7wWUAOwMa7NXV2l2D6ebc1Wnd2Sf8,1040
104
+ adam/commands/audit/show_slow10.py,sha256=a0KU9Z6Z93eWqcrnJ-Ssz1U2488aUk62dLOZcnM5pFg,1040
105
+ adam/commands/audit/show_top10.py,sha256=7uqgkdrEfK0-ucsQrpyaa6_9i3nOpWJ116sNL-fkKUA,1033
106
+ adam/commands/audit/utils_show_top10.py,sha256=o37sWLEJD16eoWPM3Rql_H-noLHVMp4DH1VeTpnFeNA,2354
107
+ adam/commands/bash/__init__.py,sha256=K4BBF_T-6czi7uqBN-WQg3eNvG-ePJF3IPp8eyGyqmk,163
108
+ adam/commands/bash/bash.py,sha256=hgrpQBRz4RXpOpyK7jYCU73nunktE5_6zqMX-H_3XwM,1216
109
+ adam/commands/bash/bash_completer.py,sha256=IStUg5LLTqc3vjupw33WtXUG9zRQ37BctjDYGDyYEXU,3883
110
+ adam/commands/bash/utils_bash.py,sha256=LmpTVPaM0aEMDqKPFnyEp5EidAyQQiiUkcvRjvOu-20,433
111
+ adam/commands/cql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
112
+ adam/commands/cql/completions_c.py,sha256=JvVfySI-88PpIpR24_ikd4tTxUc3IYiatBZ5diOQcVg,1558
113
+ adam/commands/cql/cqlsh.py,sha256=UpMQlCabsRwICebd37S655lRlPekHuv_dlXExlqNJ4k,2164
114
+ adam/commands/cql/utils_cql.py,sha256=-sawz2Kaj6FpnYbbWXCkqZeTT2teyaSE9h_gU7SuTzI,11665
115
+ adam/commands/deploy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
116
+ adam/commands/deploy/code_start.py,sha256=0h8AIPjThC7uxa4HVkYMdC-7qCNXk0QXO1zDrzIOA4s,1335
117
+ adam/commands/deploy/code_stop.py,sha256=R9zvNVD4NLUD3J6ktZ53Rsalzn-t0ZxEpeyOoiizfgU,1153
118
+ adam/commands/deploy/code_utils.py,sha256=H0XgKxVV1Rt3JRjZlssUHwkttuRQ0n6JjjsYw-jn5kI,3285
119
+ adam/commands/deploy/deploy.py,sha256=TmJbWS6JPts8mfPakguTMA88xjstdiUgYfA2aacLA2E,821
120
+ adam/commands/deploy/deploy_frontend.py,sha256=msfDZW8aAlL8E5ve36VkWthuqmXONGRVe7djqLo3i7g,1689
121
+ adam/commands/deploy/deploy_pg_agent.py,sha256=BeM1jpGVHzcpTl4Bs2LaVfyHeqYo0tYRdqnst0AYuas,1150
122
+ adam/commands/deploy/deploy_pod.py,sha256=as7E-2bO1v7IY_3G8iOhrGajFxrGQFYfWebJKMWx16s,4541
123
+ adam/commands/deploy/deploy_utils.py,sha256=P_Z-8tY_ZZuucsHL-8r5rt1c0LfIM-CYpvPsTiM4oe8,1241
124
+ adam/commands/deploy/undeploy.py,sha256=QblQDQOjesNbMfi0Rx_D3oxC93LEPfTVqDj5sLAc84g,873
125
+ adam/commands/deploy/undeploy_frontend.py,sha256=khgxZ94bXlQ8c737B_J-gE0pNBA0GaIQmxCapnkI98c,1210
126
+ adam/commands/deploy/undeploy_pg_agent.py,sha256=X73_0dadpn_DFW1rQMQssE3NQbmovllEXkxFDAunPms,1259
127
+ adam/commands/deploy/undeploy_pod.py,sha256=Pc5xpU4z5_CHrtz3cAzReT4Qxyks2kQ-uWSRUnAYiJ4,1907
128
+ adam/commands/devices/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
129
+ adam/commands/devices/device.py,sha256=j6HK9WJ9QXqPorcs5C7GpuKPWwUyJI_b20K1K3McyhM,4372
130
+ adam/commands/devices/device_app.py,sha256=ib32_a4qK3BOu2jCzedG5IZFua1OvZmXdVj_aforoxE,6373
131
+ adam/commands/devices/device_auit_log.py,sha256=kOP5QwDixwVPupd1A0PG2RY0fq_aeEdx4MRWegnj2Ow,1560
132
+ adam/commands/devices/device_cass.py,sha256=45tEDKETZF20Bj3lPyFLkcJ7VDmGVB8mVtBWq8YGcps,6754
133
+ adam/commands/devices/device_export.py,sha256=vaKpGtAhBpmBACw_bP7RwarWQoloUofRyfpEbjidSzE,2998
134
+ adam/commands/devices/device_postgres.py,sha256=u-A4uE_jN-3mqbwT9Oc51iEl3RERs10PWrbPvW9lT5U,5823
135
+ adam/commands/devices/devices.py,sha256=-VV8nU-Qcebx2g2ftOywmgrn8wW7-teCpxFQjU9wBR4,965
136
+ adam/commands/export/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
137
+ adam/commands/export/clean_up_all_export_sessions.py,sha256=YpGBrOMYY2n_G-fQMpJPZSEHIC9zArWayYWbaOHOkY8,1161
138
+ adam/commands/export/clean_up_export_sessions.py,sha256=AaYaMG8x0lRCzOs8-vAH1J76Y-iLX1QOkwC4rMu8nXw,1328
139
+ adam/commands/export/completions_x.py,sha256=0jHdSI8fyAqinZzgw8KBgDfJUTzVeiGPxrlXPePhIMA,572
140
+ adam/commands/export/download_export_session.py,sha256=hy8WJZZJhdaZta6VCUZicdCEcJGtuKXMBbdYc-RWwUc,1513
141
+ adam/commands/export/drop_export_database.py,sha256=3S6yj0OuMknPZ1MpPad7eCm1V6BdDn6enHcjRC_fjek,1232
142
+ adam/commands/export/drop_export_databases.py,sha256=WzOm4Ykf1O_ZRjF8oZn_PaKTuIzxFeRJhqWfsENCstg,1095
143
+ adam/commands/export/export.py,sha256=MaEPS_QKmI9SGnLbwJRNKguk4ODx-YsbAziUYjf0_Dw,1293
144
+ adam/commands/export/export_databases.py,sha256=gI8OMwYup9K-AO13F-dQHNhH0o7NyXAZyRWgbVJMjw4,8240
145
+ adam/commands/export/export_select.py,sha256=tfy6JYEobbJ86-HRd5I02OnRqB_xEVtSIQaPYK6UThQ,984
146
+ adam/commands/export/export_sessions.py,sha256=ZGixNge-xCDf5qNIPM9hGEJnQw16vM8AVKClURDONmY,7420
147
+ adam/commands/export/export_use.py,sha256=H7F43ub944sCPxwd2Z0KpDiUhACg049BBak3uhQcT68,1412
148
+ adam/commands/export/export_x_select.py,sha256=kHDOd_RIz3JucXE-RGNpX9eBVaaBzwefEok5pdcroAM,1656
149
+ adam/commands/export/exporter.py,sha256=Oh---HyjjgeyX9h9flvmEvh4DXkziWwfZTnndnqo0j4,15222
150
+ adam/commands/export/import_files.py,sha256=nSgez-i1tO8sPQV4mlfplFy-cRBC3ETCJi-oU_EBnaY,1629
151
+ adam/commands/export/import_session.py,sha256=qv2wlzNkUu-lm7apBAbwf8rImnsyOvRpxGPhsOmCzvQ,1644
152
+ adam/commands/export/importer.py,sha256=QI_SH3PvIJWQtC8wo5cjz_0IEZ1ts760zGazXw2Kj4A,2726
153
+ adam/commands/export/importer_athena.py,sha256=x3onD5dKvUq1Dn429AZfD72tD0aNWk_NKJN-b4aHxoM,6290
154
+ adam/commands/export/importer_sqlite.py,sha256=t0zYiV5pp3X22eO7wKGc4MbP9Gp4AWTVAaGJMzuexR0,2713
155
+ adam/commands/export/show_column_counts.py,sha256=3kvS0tO2A-FOG2IM2N55mkOdUdxLucDcjGNbBikljJ4,1855
156
+ adam/commands/export/show_export_databases.py,sha256=zSjZ8tuMXj1dZ6iIXwFVqVk7hokH1hbnYwkXLZE7Sjk,1277
157
+ adam/commands/export/show_export_session.py,sha256=hrUJFIaycnCpcv5wZ8bxCbYtzvdRm-JIswm_gvjzk4g,1291
158
+ adam/commands/export/show_export_sessions.py,sha256=s5m9oGlrJe3NWE-TQZszis0WGbKBs4T6C_NeihfYdxs,1130
159
+ adam/commands/export/utils_export.py,sha256=c3gMuQq8mvhwdG7BcK14_0NAQgifAaT97R0OBWGhBGY,12464
160
+ adam/commands/medusa/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
161
+ adam/commands/medusa/medusa.py,sha256=Ey2kJpoKqPFP6m623B3ciMoLur5SVcHEBYsvW7G7aAY,958
162
+ adam/commands/medusa/medusa_backup.py,sha256=n-caJjd3WObm2tplVKUG-GahWoOwDS2pk_MZKQl0S7Q,1812
163
+ adam/commands/medusa/medusa_restore.py,sha256=MiFy7jxWbgR-M1nqdbqqa8yp9AWrkNBjStjlVOe1wT8,3541
164
+ adam/commands/medusa/medusa_show_backupjobs.py,sha256=rYP5r_NXAQcWrsstv4UngAb4gbQ8xOuyH9EFs1K00hA,1795
165
+ adam/commands/medusa/medusa_show_restorejobs.py,sha256=rgNg-fy0EbTBd2PghOM-w16PrtqL9QCE0Z0vhIcK8CE,1584
166
+ adam/commands/medusa/utils_medusa.py,sha256=7uwIFJDGYBATnl46coO24tGw4a-07mVLB82Os4pTkKo,594
167
+ adam/commands/postgres/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
168
+ adam/commands/postgres/completions_p.py,sha256=I4E88nKBzSegm0EY0qRcQq4pkz4iEQnS48CFXK9AXYU,727
169
+ adam/commands/postgres/postgres.py,sha256=kfqFYdcEdev8p9yjAxYXsTzC3hKrazge2zPBXHF37uw,3311
170
+ adam/commands/postgres/postgres_databases.py,sha256=QRlL976pQgKuWjSbNc3jWWBCTogOZCMFc70lrP7KSNo,11444
171
+ adam/commands/postgres/postgres_ls.py,sha256=yT-V1mGnvImaIr4s75FUsV5klcrOB7HHJwWbY6h1Kpk,1111
172
+ adam/commands/postgres/postgres_preview.py,sha256=Bmw3YC98tFdjUx2CRHOakcvLHCOLtEiKxvNDjlDoRo0,1174
173
+ adam/commands/postgres/utils_postgres.py,sha256=XpcpX6ht_YsXgsvh-0UPZhaVmhu5oEN_k7X0LO6k7-E,2434
174
+ adam/commands/reaper/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
175
+ adam/commands/reaper/reaper.py,sha256=Xrfjvqtn5txnaMwofBb77yEsmSYLO_-Bi43ABq2ZmaQ,1398
176
+ adam/commands/reaper/reaper_forward.py,sha256=O5L4SnZdeFMtJqc5SHYVCYQcfkQ2-JnDN9rEX7u_8Xg,3307
177
+ adam/commands/reaper/reaper_forward_session.py,sha256=CfKMYQPDZYQBtYQjxcPs7ns5e8AGZj9Q0LD8dOxvLl0,160
178
+ adam/commands/reaper/reaper_forward_stop.py,sha256=a8i6Zp4rYKFt6qC7iqpf57gDZTMAtZy1H1PXq5tTOHM,1375
179
+ adam/commands/reaper/reaper_restart.py,sha256=Ms3OWhV6pqEtmQiupvKO9ArTVBPlniPtg4BwPCgaFq8,1173
180
+ adam/commands/reaper/reaper_run_abort.py,sha256=f3D2EhtiPiLXBOx0vY-XmBivDrgLbppb4dgnStucNVk,1276
181
+ adam/commands/reaper/reaper_runs.py,sha256=DjD-K2XCGQyekLf3QfoidApr-S5yI2lb9dSo51042sk,3045
182
+ adam/commands/reaper/reaper_runs_abort.py,sha256=ykY8D5fcZwqMRebM2JxFClVksjeDIBTIQe5nSk5oyp0,2058
183
+ adam/commands/reaper/reaper_schedule_activate.py,sha256=KjPK_0ZSk8JPUBw1P5VyTlLlcqWosa9S5WjBaHVUSxs,1544
184
+ adam/commands/reaper/reaper_schedule_start.py,sha256=fUKVCJePYNWglDGKlBMND5LC5lUfyk0N2QWMW2_cVd0,1473
185
+ adam/commands/reaper/reaper_schedule_stop.py,sha256=MvMInlYLWnmpC0jNw7opRrkQBBIgpl9gNuXOpdv4Lk4,1465
186
+ adam/commands/reaper/reaper_schedules.py,sha256=vbvt0JojQecWCo5i4M-3HenWSnJU68F1MAoWcPhp8bo,1071
187
+ adam/commands/reaper/reaper_status.py,sha256=IuRbQwlZB4pDZu4iuPk5TXdTqvzBTMtAl68tHiiPZM0,1801
188
+ adam/commands/reaper/utils_reaper.py,sha256=1Hl-9w6ub3RuQESiwMm7MGgtN7SSSAL4AQoJkvYwB94,7644
189
+ adam/commands/repair/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
190
+ adam/commands/repair/repair.py,sha256=tNNJk01Bo8KYeogoUO0oGzwErCfFZz_aW7CmzP81Fs4,830
191
+ adam/commands/repair/repair_log.py,sha256=UCdcTE_4gdZxgQ-suDPk5uKMEDytubzucT_zEMUQ6Ck,1063
192
+ adam/commands/repair/repair_run.py,sha256=l78BWpa8wcuSPvYoweVDko57e2fFP6u0ZYbMHQE4FsM,2560
193
+ adam/commands/repair/repair_scan.py,sha256=DZ5NYMs6HmN2QwVbtFXVa8GOiCSrKxxgFXHX2FZZ_Hs,2411
194
+ adam/commands/repair/repair_stop.py,sha256=gaOZVty4ylv7b3TXdhCzEuEbTuLBtPGXZueD0B2du-M,1066
195
+ adam/commands/show/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
196
+ adam/commands/show/show.py,sha256=h8AAGyiilZ_Wc_SJvR1gT8Ie8RKQprZfNa07zy2e2lg,1728
197
+ adam/commands/show/show_adam.py,sha256=zmzgIvWo9hg0v6YyA26N-xGZipVome22AtrZ9iI6oSw,1298
198
+ adam/commands/show/show_cassandra_repairs.py,sha256=ygdUkiFgvaYxTEoJaJEONfpDOEzZLOPMXz1n_VZaiwc,1306
199
+ adam/commands/show/show_cassandra_status.py,sha256=CM6VgfUaZ1TQRpV6lXWt2UshQ8KVeeBglP2i10Lh1eU,5366
200
+ adam/commands/show/show_cassandra_version.py,sha256=O-vTwnK5mSyhFNRDGQ2c-3YNAbW0TZo1pndvD6kMRMo,1144
201
+ adam/commands/show/show_cli_commands.py,sha256=G391M-hQkB7fSOmjYqyYfNu3qb0Mglx9iBqLvqSuhzY,1884
202
+ adam/commands/show/show_host.py,sha256=b7UrC_n9qRp9jHuQqint1YDEmBbC2dZUjHr59Wff-nM,868
203
+ adam/commands/show/show_login.py,sha256=l5vwFvNQ9WcppSJU_f6xVKGznz32OYd76EImFdR0xEo,1816
204
+ adam/commands/show/show_params.py,sha256=6rM9IgHusa5MrqLdHOBzBMOh1mOnlkFDbZeFGdXLnKk,939
205
+ adam/commands/show/show_processes.py,sha256=bkdFF8fvnNCZ1YTe1ucxtKDTt40w1lLOHbx8FcshyEI,2378
206
+ adam/commands/show/show_storage.py,sha256=AfqOn9ypo4G762aN8a5ZWW4IUpPDehM6R3QByGCpMFk,1734
207
+ adam/sql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
208
+ adam/sql/lark_completer.py,sha256=X8ZzYHzUy8ATsA6a4c84t9D_Jya1BGKKpvOxtKr5pvk,12309
209
+ adam/sql/lark_parser.py,sha256=oNuPKfVTS1QBJ0wB3OXhBydmzgdCDED3LAheRM5cbiM,21378
210
+ adam/sql/sql_completer.py,sha256=RO-S4OiBuDPUL8EWiymB8JexIwgwNXx1QzErDxuL3y4,3939
211
+ adam/sql/sql_state_machine.py,sha256=3m8JsIg_tojwaHY5AdPl6UEE4ZnB5hbhOOApFfozhVo,39144
212
+ adam/sql/term_completer.py,sha256=HZjOV4fEV9LraoMjkk8lHxNvzRtSIYsGUJhSMOhuoHY,2599
213
+ adam/sso/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
214
+ adam/sso/authenticator.py,sha256=BCm16L9zf5aLU47-sTCnudn2zLPwd8M2wwRminJfsqw,615
215
+ adam/sso/authn_ad.py,sha256=FQbOJOT_goH7YSr2iqnHh8Ao-WL0jPaE3KyIe3T7g7Y,5786
216
+ adam/sso/authn_okta.py,sha256=e4DjNvCDw646L0SM0aWt_lT2q69MqtzTJiYQpo_EuAQ,4505
217
+ adam/sso/cred_cache.py,sha256=9c-Cdz4xlJ3FakqVmVkBVfQ0XLweDivdlu3kdIMLbFs,2039
218
+ adam/sso/id_token.py,sha256=wmVZ8S0sjScnOxmSvOKlIEKgnvdWqhsgq9XjFe355O4,744
219
+ adam/sso/idp.py,sha256=Fml1IwP2n3e-j3SFtH3uqL8h9dhQ62J3oM4d37svIu8,5775
220
+ adam/sso/idp_login.py,sha256=QAtCUeDTVWliJy40RK_oac8Vgybr13xH8wzeBoxPaa8,1754
221
+ adam/sso/idp_session.py,sha256=9BUHNRf70u4rVKrVY1HKPOEmOviXvkjam8WJxmXSKIM,1735
222
+ adam/sso/sso_config.py,sha256=5N8WZgIJQBtHUy585XLRWKjpU87_v6QluyNK9E27D5s,2459
223
+ adam/utils_k8s/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
224
+ adam/utils_k8s/app_clusters.py,sha256=TGqJxlZ0JLqBW806gKDxRxr1BMsCBa6ni8CxEusNgU0,1220
225
+ adam/utils_k8s/app_pods.py,sha256=sWt8c04UtViEPn_7hOZy6sJ5lWlIFrCEE5cWbROaNB8,1539
226
+ adam/utils_k8s/cassandra_clusters.py,sha256=0jJ5-5PJoJKEf4ZiGwdmZi0h3_SakjUPawj3etQ2N4I,1680
227
+ adam/utils_k8s/cassandra_nodes.py,sha256=xUbheZqIxNwuPHA1v2Bb8n1C_aU6xYYbwNirdvUt-uc,1556
228
+ adam/utils_k8s/config_maps.py,sha256=vc9A-2D1-1mindCMFL1wuysDOXb0RCl4BdjC6B6usXI,1194
229
+ adam/utils_k8s/custom_resources.py,sha256=95zVZchFtFWGZ_P-jLaSMl6WYTObn7PqeTLxZ_HKoEo,7599
230
+ adam/utils_k8s/deployment.py,sha256=SLhnMm5GMXwEldj2OupSFBUsvNjynwSNrv5tIDvLMrc,2921
231
+ adam/utils_k8s/ingresses.py,sha256=q8nJTIoxa_dVrGMl1HS5yTS_11jLNBAnWlc2ZishMEE,3458
232
+ adam/utils_k8s/jobs.py,sha256=HbUBNXcKcuXaNzc8NmqR_Sq35yHQ_qeQtiQFFM-J2QY,2534
233
+ adam/utils_k8s/k8s.py,sha256=5LpIGIZH1-lrkS275zgjY6i_HEA5ZXmK_pcCoqMWK6g,3577
234
+ adam/utils_k8s/kube_context.py,sha256=gu9ZyO2yVuv4B5eu3PSdyjrza46Pj5u6sjnfSAP49wg,3295
235
+ adam/utils_k8s/pods.py,sha256=fRUWVeiuoLRgrkjtyba52HmSediqKfbDK1oyfLa81kA,11425
236
+ adam/utils_k8s/secrets.py,sha256=xnqRSumCIcPaASDcErzxjx1BCE-qJkPoG5wIP7YHzIo,2430
237
+ adam/utils_k8s/service_accounts.py,sha256=OF1-UwWupUAvn_rqNNTWsF3BWYgaLiGTJfinn8sreog,6342
238
+ adam/utils_k8s/services.py,sha256=7K6CxvYntbCsRjTZVcuYiBb5WPH7A5CTWTlUGvaVDRg,3154
239
+ adam/utils_k8s/statefulsets.py,sha256=OZiTnKWFmndqYcbvMeruyK-e9APqG5vb3KKCPGji3w8,4142
240
+ adam/utils_k8s/volumes.py,sha256=RIBmlOSWM3V3QVXLCFT0owVOyh4rGG1ETp521a-6ndo,1137
241
+ adam/utils_repl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
242
+ adam/utils_repl/appendable_completer.py,sha256=byLO9pZXExi13i6-fKY6gNzK-v0RtxIQtFYHdwdUbLE,158
243
+ adam/utils_repl/automata_completer.py,sha256=LJP_2WHHR7AtjX00MJ59VGQEL3t0XS-qYnDmMaZe-Tk,1641
244
+ adam/utils_repl/repl_completer.py,sha256=Zrs3RVVP7k6zacj1pKpYpSF6LOpziEA15yIuc5Nj3_4,6544
245
+ adam/utils_repl/state_machine.py,sha256=kO4_oSi_M53f3QQjINzzb2VFptjbnqX3KRC0G8LqqeA,5426
246
+ kaqing-2.0.186.dist-info/METADATA,sha256=_75gW9xjpD0_DaYD6-_9W2LYI-U4N6QOGlc1mRU8hiY,133
247
+ kaqing-2.0.186.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
248
+ kaqing-2.0.186.dist-info/entry_points.txt,sha256=SkzhuQJUWsXOzHeZ5TgQ2c3_g53UGK23zzJU_JTZOZI,39
249
+ kaqing-2.0.186.dist-info/top_level.txt,sha256=8_2PZkwBb-xDcnc8a2rAbQeJhXKXskc7zTP7pSPa1fw,5
250
+ kaqing-2.0.186.dist-info/RECORD,,
@@ -1,32 +0,0 @@
1
- from adam.commands.cql.utils_cql import cassandra_keyspaces, cassandra_table_names
2
- from adam.commands.export.export_sessions import ExportSessions
3
- from adam.commands.export.export_databases import ExportDatabases
4
- from adam.config import Config
5
- from adam.repl_state import ReplState
6
- from adam.sql.sql_completer import SqlCompleter, SqlVariant
7
- from adam.utils import log_timing
8
-
9
- def cql_completions(state: ReplState) -> dict[str, any]:
10
- ps = Config().get('cql.alter-tables.gc-grace-periods', '3600,86400,864000,7776000').split(',')
11
- # warm up caches
12
- with log_timing('cassandra_keyspaces'):
13
- cassandra_keyspaces(state)
14
- with log_timing('cassandra_table_names'):
15
- cassandra_table_names(state)
16
- with log_timing('ExportDatabases.database_names'):
17
- ExportDatabases.database_names()
18
-
19
- expandables = {
20
- 'keyspaces': lambda: cassandra_keyspaces(state),
21
- 'table-props': lambda: {
22
- 'GC_GRACE_SECONDS': ps
23
- },
24
- 'export-dbs': lambda: ExportDatabases.database_names(),
25
- 'export-sessions': lambda: ExportSessions.export_session_names(state.sts, state.pod, state.namespace),
26
- 'export-sessions-incomplete': lambda: ExportSessions.export_session_names(state.sts, state.pod, state.namespace, export_state='pending_import'),
27
- }
28
-
29
- return SqlCompleter(
30
- lambda: cassandra_table_names(state),
31
- expandables=expandables,
32
- variant=SqlVariant.CQL).completions_for_nesting()
@@ -1,54 +0,0 @@
1
- from adam.commands.command import Command
2
- from adam.commands.export.export_databases import ExportDatabases
3
- from adam.repl_state import ReplState, RequiredState
4
- from adam.sql.sql_completer import SqlCompleter, SqlVariant
5
- from adam.utils_athena import Athena
6
-
7
- # No action body, only for a help entry and auto-completion
8
- class ExportSelectX(Command):
9
- COMMAND = 'select_on_x'
10
-
11
- # the singleton pattern
12
- def __new__(cls, *args, **kwargs):
13
- if not hasattr(cls, 'instance'): cls.instance = super(ExportSelectX, cls).__new__(cls)
14
-
15
- return cls.instance
16
-
17
- def __init__(self, successor: Command=None):
18
- super().__init__(successor)
19
-
20
- def command(self):
21
- return ExportSelectX.COMMAND
22
-
23
- def required(self):
24
- return RequiredState.EXPORT_DB
25
-
26
- def completion(self, state: ReplState):
27
- completions = {}
28
-
29
- if state.device == ReplState.X:
30
- completions = {'drop': SqlCompleter(
31
- lambda: ExportDatabases.table_names(state.export_session),
32
- dml='drop',
33
- expandables={
34
- 'export-dbs': lambda: ExportDatabases.database_names(),
35
- 'columns':lambda _: Athena.column_names(database=state.export_session, function='export'),
36
- },
37
- variant=SqlVariant.ATHENA
38
- )}
39
-
40
- if state.export_session:
41
- completions |= {dml: SqlCompleter(
42
- lambda: ExportDatabases.table_names(state.export_session),
43
- dml=dml,
44
- expandables={
45
- 'export-dbs': lambda: ExportDatabases.database_names(),
46
- 'columns':lambda _: Athena.column_names(database=state.export_session, function='export'),
47
- },
48
- variant=SqlVariant.ATHENA
49
- ) for dml in ['select', 'preview']}
50
-
51
- return completions
52
-
53
- def help(self, _: ReplState):
54
- return f'<sql-select-statements>\t run queries on export database'