Remove awk dependency
This commit is contained in:
parent
33a2086f41
commit
dbfe3ed84e
7
kls
7
kls
|
@ -7,7 +7,7 @@ KEY_BINDINGS = { # can be extended
|
||||||
"3": 'kubectl -n {namespace} edit {api_resource} {resource}',
|
"3": 'kubectl -n {namespace} edit {api_resource} {resource}',
|
||||||
"4": 'kubectl -n {namespace} logs {resource} | batcat -l log --paging always --style numbers',
|
"4": 'kubectl -n {namespace} logs {resource} | batcat -l log --paging always --style numbers',
|
||||||
"5": 'kubectl -n {namespace} exec -it {resource} sh',
|
"5": 'kubectl -n {namespace} exec -it {resource} sh',
|
||||||
"KEY_DC": 'kubectl -n {namespace} delete {api_resource} {resource}' # delete key
|
"KEY_DC": 'kubectl -n {namespace} delete {api_resource} {resource}' # KEY_DC is the delete key
|
||||||
}
|
}
|
||||||
|
|
||||||
TOP_API_RESOURCES = ["pods", "services", "ingresses", "secrets", "nodes", "deployments", "statefulsets", "daemonsets",
|
TOP_API_RESOURCES = ["pods", "services", "ingresses", "secrets", "nodes", "deployments", "statefulsets", "daemonsets",
|
||||||
|
@ -113,7 +113,7 @@ def kubectl(command: str) -> list:
|
||||||
|
|
||||||
|
|
||||||
SCREEN = curses.initscr() # screen initialization
|
SCREEN = curses.initscr() # screen initialization
|
||||||
api_resources_kubectl = kubectl("api-resources --no-headers --verbs=get | awk '{print $1}'")
|
api_resources_kubectl = [x.split()[0] for x in kubectl("api-resources --no-headers --verbs=get")]
|
||||||
api_resources = list(dict.fromkeys(TOP_API_RESOURCES + api_resources_kubectl)) # so top api resources are at the top
|
api_resources = list(dict.fromkeys(TOP_API_RESOURCES + api_resources_kubectl)) # so top api resources are at the top
|
||||||
width_unit = curses.COLS // 8
|
width_unit = curses.COLS // 8
|
||||||
MENUS = [Menu("Namespaces", kubectl("get ns --no-headers -o custom-columns=NAME:.metadata.name"), 0, width_unit),
|
MENUS = [Menu("Namespaces", kubectl("get ns --no-headers -o custom-columns=NAME:.metadata.name"), 0, width_unit),
|
||||||
|
@ -129,8 +129,7 @@ resource = lambda: MENUS[2].selected_row().split()[0]
|
||||||
def main(screen):
|
def main(screen):
|
||||||
SCREEN.refresh() # I don't know why this is needed but it doesn't work without it
|
SCREEN.refresh() # I don't know why this is needed but it doesn't work without it
|
||||||
SCREEN.keypad(True) # needed for arrow keys
|
SCREEN.keypad(True) # needed for arrow keys
|
||||||
# in curses, there is a delay on Escape key press, we reduce it to 1 millisecond (can't set it to 0)
|
curses.set_escdelay(1) # reduce Escape delay to 1 ms (curses can't set it to 0)
|
||||||
curses.set_escdelay(1)
|
|
||||||
curses.curs_set(0) # make the cursor invisible
|
curses.curs_set(0) # make the cursor invisible
|
||||||
curses.use_default_colors() # don't change the terminal color
|
curses.use_default_colors() # don't change the terminal color
|
||||||
curses.noecho() # don't output characters at the top
|
curses.noecho() # don't output characters at the top
|
||||||
|
|
Loading…
Reference in New Issue