hspylib-clitt 0.9.117__py3-none-any.whl → 0.9.118__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 hspylib-clitt might be problematic. Click here for more details.

Files changed (39) hide show
  1. clitt/.version +1 -1
  2. clitt/__init__.py +2 -2
  3. clitt/addons/__init__.py +2 -2
  4. clitt/addons/appman/__init__.py +2 -2
  5. clitt/addons/appman/templates/__init__.py +2 -2
  6. clitt/addons/widman/__init__.py +2 -2
  7. clitt/addons/widman/widgets/__init__.py +2 -2
  8. clitt/core/__init__.py +2 -2
  9. clitt/core/exception/__init__.py +2 -2
  10. clitt/core/exception/exceptions.py +1 -0
  11. clitt/core/icons/__init__.py +2 -2
  12. clitt/core/icons/emojis/__init__.py +2 -2
  13. clitt/core/icons/font_awesome/__init__.py +2 -2
  14. clitt/core/term/__init__.py +2 -2
  15. clitt/core/term/commons.py +33 -8
  16. clitt/core/term/cursor.py +18 -3
  17. clitt/core/term/screen.py +15 -0
  18. clitt/core/term/terminal.py +15 -16
  19. clitt/core/tui/__init__.py +2 -2
  20. clitt/core/tui/line_input/__init__.py +2 -2
  21. clitt/core/tui/line_input/keyboard_input.py +15 -14
  22. clitt/core/tui/line_input/line_input.py +2 -6
  23. clitt/core/tui/mchoose/__init__.py +2 -2
  24. clitt/core/tui/mchoose/mchoose.py +2 -3
  25. clitt/core/tui/mchoose/menu_choose.py +6 -14
  26. clitt/core/tui/mdashboard/__init__.py +2 -2
  27. clitt/core/tui/mdashboard/menu_dashboard.py +2 -8
  28. clitt/core/tui/menu/__init__.py +2 -2
  29. clitt/core/tui/minput/__init__.py +2 -2
  30. clitt/core/tui/mselect/__init__.py +2 -2
  31. clitt/core/tui/mselect/menu_select.py +2 -3
  32. clitt/core/tui/table/__init__.py +2 -2
  33. clitt/core/tui/tui_application.py +4 -5
  34. clitt/core/tui/tui_component.py +4 -5
  35. clitt/utils/__init__.py +2 -2
  36. {hspylib_clitt-0.9.117.dist-info → hspylib_clitt-0.9.118.dist-info}/METADATA +2 -2
  37. {hspylib_clitt-0.9.117.dist-info → hspylib_clitt-0.9.118.dist-info}/RECORD +39 -39
  38. {hspylib_clitt-0.9.117.dist-info → hspylib_clitt-0.9.118.dist-info}/WHEEL +0 -0
  39. {hspylib_clitt-0.9.117.dist-info → hspylib_clitt-0.9.118.dist-info}/top_level.txt +0 -0
clitt/.version CHANGED
@@ -1 +1 @@
1
- 0.9.117
1
+ 0.9.118
clitt/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.117
3
+ # hspylib-clitt v0.9.118
4
4
  #
5
5
  # Package: main.clitt
6
6
  """Package initialization."""
@@ -10,4 +10,4 @@ __all__ = [
10
10
  'core',
11
11
  'utils'
12
12
  ]
13
- __version__ = '0.9.117'
13
+ __version__ = '0.9.118'
clitt/addons/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.117
3
+ # hspylib-clitt v0.9.118
4
4
  #
5
5
  # Package: main.clitt.addons
6
6
  """Package initialization."""
@@ -9,4 +9,4 @@ __all__ = [
9
9
  'appman',
10
10
  'widman'
11
11
  ]
12
- __version__ = '0.9.117'
12
+ __version__ = '0.9.118'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.117
3
+ # hspylib-clitt v0.9.118
4
4
  #
5
5
  # Package: main.clitt.addons.appman
6
6
  """Package initialization."""
@@ -10,4 +10,4 @@ __all__ = [
10
10
  'appman_enums',
11
11
  'templates'
12
12
  ]
13
- __version__ = '0.9.117'
13
+ __version__ = '0.9.118'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.117
3
+ # hspylib-clitt v0.9.118
4
4
  #
5
5
  # Package: main.clitt.addons.appman.templates
6
6
  """Package initialization."""
@@ -8,4 +8,4 @@
8
8
  __all__ = [
9
9
 
10
10
  ]
11
- __version__ = '0.9.117'
11
+ __version__ = '0.9.118'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.117
3
+ # hspylib-clitt v0.9.118
4
4
  #
5
5
  # Package: main.clitt.addons.widman
6
6
  """Package initialization."""
@@ -11,4 +11,4 @@ __all__ = [
11
11
  'widgets',
12
12
  'widman'
13
13
  ]
14
- __version__ = '0.9.117'
14
+ __version__ = '0.9.118'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.117
3
+ # hspylib-clitt v0.9.118
4
4
  #
5
5
  # Package: main.clitt.addons.widman.widgets
6
6
  """Package initialization."""
@@ -11,4 +11,4 @@ __all__ = [
11
11
  'widget_send_msg',
12
12
  'widget_time_calc'
13
13
  ]
14
- __version__ = '0.9.117'
14
+ __version__ = '0.9.118'
clitt/core/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.117
3
+ # hspylib-clitt v0.9.118
4
4
  #
5
5
  # Package: main.clitt.core
6
6
  """Package initialization."""
@@ -12,4 +12,4 @@ __all__ = [
12
12
  'term',
13
13
  'tui'
14
14
  ]
15
- __version__ = '0.9.117'
15
+ __version__ = '0.9.118'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.117
3
+ # hspylib-clitt v0.9.118
4
4
  #
5
5
  # Package: main.clitt.core.exception
6
6
  """Package initialization."""
@@ -8,4 +8,4 @@
8
8
  __all__ = [
9
9
  'exceptions'
10
10
  ]
11
- __version__ = '0.9.117'
11
+ __version__ = '0.9.118'
@@ -16,3 +16,4 @@
16
16
 
17
17
  class NotATerminalError(NotImplementedError):
18
18
  """Raised when a TTY terminal is required"""
19
+
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.117
3
+ # hspylib-clitt v0.9.118
4
4
  #
5
5
  # Package: main.clitt.core.icons
6
6
  """Package initialization."""
@@ -9,4 +9,4 @@ __all__ = [
9
9
  'emojis',
10
10
  'font_awesome'
11
11
  ]
12
- __version__ = '0.9.117'
12
+ __version__ = '0.9.118'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.117
3
+ # hspylib-clitt v0.9.118
4
4
  #
5
5
  # Package: main.clitt.core.icons.emojis
6
6
  """Package initialization."""
@@ -9,4 +9,4 @@ __all__ = [
9
9
  'emojis',
10
10
  'face_smiling'
11
11
  ]
12
- __version__ = '0.9.117'
12
+ __version__ = '0.9.118'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.117
3
+ # hspylib-clitt v0.9.118
4
4
  #
5
5
  # Package: main.clitt.core.icons.font_awesome
6
6
  """Package initialization."""
@@ -15,4 +15,4 @@ __all__ = [
15
15
  'trickplay_icons',
16
16
  'widget_icons'
17
17
  ]
18
- __version__ = '0.9.117'
18
+ __version__ = '0.9.118'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.117
3
+ # hspylib-clitt v0.9.118
4
4
  #
5
5
  # Package: main.clitt.core.term
6
6
  """Package initialization."""
@@ -11,4 +11,4 @@ __all__ = [
11
11
  'screen',
12
12
  'terminal'
13
13
  ]
14
- __version__ = '0.9.117'
14
+ __version__ = '0.9.118'
@@ -1,3 +1,18 @@
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+
4
+ """
5
+ @project: hspylib-clitt
6
+ @package: hspylib-clitt.main.clitt.core.term
7
+ @file: commons.py
8
+ @created: Wed, 20 Mar 2024
9
+ @author: "<B>H</B>ugo <B>S</B>aporetti <B>J</B>unior")"
10
+ @site: "https://github.com/yorevs/hspylib")
11
+ @license: MIT - Please refer to <https://opensource.org/licenses/MIT>
12
+
13
+ Copyright 2024, HSPyLib team
14
+ """
15
+
1
16
  from clitt.core.exception.exceptions import NotATerminalError
2
17
  from hspylib.core.enums.enumeration import Enumeration
3
18
  from hspylib.core.tools.commons import is_debugging
@@ -20,6 +35,11 @@ EraseDirection : TypeAlias = Union["Direction", "Portion"]
20
35
  # fmt: on
21
36
 
22
37
 
38
+ def is_a_tty() -> bool:
39
+ """Checks whether we are under a tty environment."""
40
+ return sys.stdout.isatty() and sys.stdin.isatty()
41
+
42
+
23
43
  class Direction(Enumeration):
24
44
  """Provide a base class for the cursor direction."""
25
45
 
@@ -44,7 +64,7 @@ def get_dimensions(fallback: Tuple[int, int] = (24, 80)) -> Tuple[int, int]:
44
64
  """Retrieve the size of the terminal.
45
65
  :return lines, columns
46
66
  """
47
- if not sys.stdout.isatty():
67
+ if not is_a_tty():
48
68
  log.warning(NotATerminalError("get_dimensions:: Requires a terminal (TTY)"))
49
69
  return fallback
50
70
  dim = get_terminal_size((fallback[1], fallback[0]))
@@ -55,19 +75,21 @@ def get_cursor_position(fallback: Tuple[int, int] = (0, 0)) -> Tuple[int, int]:
55
75
  """Get the terminal cursor position.
56
76
  :return line, column
57
77
  """
58
- pos, buf, re_query_resp = fallback, "", r"^\x1b\[(\d*);(\d*)R"
78
+ pos = fallback
59
79
 
60
- if not sys.stdout.isatty():
61
- log.warning(NotATerminalError("get_cursor_position:: Requires a terminal (TTY)"))
80
+ if is_debugging():
62
81
  return pos
63
82
 
64
- if is_debugging():
83
+ if not is_a_tty():
84
+ log.warning(NotATerminalError("get_cursor_position:: Requires a terminal (TTY)"))
65
85
  return pos
66
86
 
67
- stdin = sys.stdin.fileno() # Get the stdin file descriptor.
68
- attrs = termios.tcgetattr(stdin) # Save terminal attributes.
87
+ buf, re_query_resp = "", r"^\x1b\[(\d*);(\d*)R"
88
+ stdin, attrs = None, None
69
89
 
70
90
  try:
91
+ stdin = sys.stdin.fileno() # Get the stdin file descriptor.
92
+ attrs = termios.tcgetattr(stdin) # Save terminal attributes.
71
93
  tty.setcbreak(stdin, termios.TCSANOW)
72
94
  sys.stdout.write(Vt100.get_cursor_pos())
73
95
  sys.stdout.flush()
@@ -76,7 +98,10 @@ def get_cursor_position(fallback: Tuple[int, int] = (0, 0)) -> Tuple[int, int]:
76
98
  if matches := re.match(re_query_resp, buf): # If the response is 'Esc[r;cR'
77
99
  groups = matches.groups()
78
100
  pos = int(groups[0]), int(groups[1])
101
+ except termios.error:
102
+ log.warning(NotATerminalError("get_cursor_position:: Requires a terminal (TTY)"))
79
103
  finally:
80
- termios.tcsetattr(stdin, termios.TCSANOW, attrs) # Reset terminal attributes
104
+ if stdin and attrs:
105
+ termios.tcsetattr(stdin, termios.TCSANOW, attrs) # Reset terminal attributes
81
106
 
82
107
  return pos
clitt/core/term/cursor.py CHANGED
@@ -1,4 +1,19 @@
1
- import os
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+
4
+ """
5
+ @project: hspylib-clitt
6
+ @package: hspylib-clitt.main.clitt.core.term
7
+ @file: cursor.py
8
+ @created: Wed, 20 Mar 2024
9
+ @author: "<B>H</B>ugo <B>S</B>aporetti <B>J</B>unior")"
10
+ @site: "https://github.com/yorevs/hspylib")
11
+ @license: MIT - Please refer to <https://opensource.org/licenses/MIT>
12
+
13
+ Copyright 2024, HSPyLib team
14
+ """
15
+
16
+ from clitt.core.term.commons import Direction, EraseDirection, get_cursor_position, MoveDirection, Portion, Position
2
17
  from hspylib.core.metaclass.singleton import Singleton
3
18
  from hspylib.core.tools.commons import sysout
4
19
  from hspylib.core.tools.text_tools import last_index_of
@@ -7,7 +22,7 @@ from hspylib.modules.cli.vt100.vt_code import VtCode
7
22
  from hspylib.modules.cli.vt100.vt_color import VtColor
8
23
  from typing import Any
9
24
 
10
- from clitt.core.term.commons import Direction, EraseDirection, get_cursor_position, MoveDirection, Position, Portion
25
+ import os
11
26
 
12
27
 
13
28
  class Cursor(metaclass=Singleton):
@@ -120,7 +135,7 @@ class Cursor(metaclass=Singleton):
120
135
  sysout(obj, end=end)
121
136
  text = (str(obj) + end).replace("%EOL%", os.linesep)
122
137
  text = VtColor.strip_colors(VtCode.strip_codes(text))
123
- text_offset = len(text[max(0, last_index_of(text, os.linesep)):])
138
+ text_offset = len(text[max(0, last_index_of(text, os.linesep)) :])
124
139
  self.position = self.position[0] + text.count(os.linesep), text_offset + (
125
140
  self.position[1] if text.count(os.linesep) == 0 else 0
126
141
  )
clitt/core/term/screen.py CHANGED
@@ -1,3 +1,18 @@
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+
4
+ """
5
+ @project: hspylib-clitt
6
+ @package: hspylib-clitt.main.clitt.core.term
7
+ @file: screen.py
8
+ @created: Wed, 20 Mar 2024
9
+ @author: "<B>H</B>ugo <B>S</B>aporetti <B>J</B>unior")"
10
+ @site: "https://github.com/yorevs/hspylib")
11
+ @license: MIT - Please refer to <https://opensource.org/licenses/MIT>
12
+
13
+ Copyright 2024, HSPyLib team
14
+ """
15
+
1
16
  from clitt.core.term.commons import Dimension, get_dimensions, Portion, Resize_Cb
2
17
  from clitt.core.term.cursor import Cursor
3
18
  from clitt.core.tui.tui_preferences import TUIPreferences
@@ -12,27 +12,26 @@
12
12
 
13
13
  Copyright·(c)·2024,·HSPyLib
14
14
  """
15
- import atexit
16
- import logging as log
17
- import os
18
- import platform
19
- import select
20
- import shlex
21
- import signal
22
- import sys
23
- from subprocess import CalledProcessError, Popen, PIPE
24
- from typing import Any, Optional, Tuple, List, Iterable
25
-
15
+ from clitt.core.exception.exceptions import NotATerminalError
16
+ from clitt.core.term.commons import is_a_tty
17
+ from clitt.core.term.cursor import Cursor
18
+ from clitt.core.term.screen import Screen
26
19
  from hspylib.core.enums.charset import Charset
27
20
  from hspylib.core.metaclass.singleton import Singleton
28
21
  from hspylib.core.tools.commons import sysout
29
22
  from hspylib.modules.application.exit_status import ExitStatus
30
23
  from hspylib.modules.cli.keyboard import Keyboard
31
24
  from hspylib.modules.cli.vt100.vt_100 import Vt100
25
+ from subprocess import CalledProcessError, PIPE, Popen
26
+ from typing import Any, Iterable, List, Optional, Tuple
32
27
 
33
- from clitt.core.exception.exceptions import NotATerminalError
34
- from clitt.core.term.cursor import Cursor
35
- from clitt.core.term.screen import Screen
28
+ import atexit
29
+ import logging as log
30
+ import os
31
+ import platform
32
+ import select
33
+ import shlex
34
+ import signal
36
35
 
37
36
 
38
37
  class Terminal(metaclass=Singleton):
@@ -42,7 +41,7 @@ class Terminal(metaclass=Singleton):
42
41
 
43
42
  @staticmethod
44
43
  def is_a_tty() -> bool:
45
- return sys.stdout.isatty()
44
+ return is_a_tty()
46
45
 
47
46
  @staticmethod
48
47
  def _chain_pipes(cmd_list: Iterable, **kwargs) -> Popen:
@@ -55,7 +54,7 @@ class Terminal(metaclass=Singleton):
55
54
  del kwargs["stderr"]
56
55
  if "stdin" in kwargs:
57
56
  del kwargs["stdin"]
58
- commands = map(shlex.split, cmd_list) if 'shell' not in kwargs else cmd_list
57
+ commands = map(shlex.split, cmd_list) if "shell" not in kwargs else cmd_list
59
58
  first_cmd, *rest_cmds = commands
60
59
  if len(rest_cmds) > 0:
61
60
  procs: List[Popen] = [Popen(first_cmd, stdout=PIPE, stderr=PIPE, **kwargs)]
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.117
3
+ # hspylib-clitt v0.9.118
4
4
  #
5
5
  # Package: main.clitt.core.tui
6
6
  """Package initialization."""
@@ -17,4 +17,4 @@ __all__ = [
17
17
  'tui_component',
18
18
  'tui_preferences'
19
19
  ]
20
- __version__ = '0.9.117'
20
+ __version__ = '0.9.118'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.117
3
+ # hspylib-clitt v0.9.118
4
4
  #
5
5
  # Package: main.clitt.core.tui.line_input
6
6
  """Package initialization."""
@@ -9,4 +9,4 @@ __all__ = [
9
9
  'keyboard_input',
10
10
  'line_input'
11
11
  ]
12
- __version__ = '0.9.117'
12
+ __version__ = '0.9.118'
@@ -13,15 +13,14 @@
13
13
  Copyright·(c)·2024,·HSPyLib
14
14
  """
15
15
 
16
- from typing import Optional, List, Dict
17
-
18
- import pyperclip
19
- from hspylib.modules.cli.keyboard import Keyboard
20
- from hspylib.modules.cli.vt100.vt_color import VtColor
21
-
22
16
  from clitt.core.term.commons import Direction
23
17
  from clitt.core.term.terminal import Terminal
24
18
  from clitt.core.tui.tui_component import TUIComponent
19
+ from hspylib.modules.cli.keyboard import Keyboard
20
+ from hspylib.modules.cli.vt100.vt_color import VtColor
21
+ from typing import Dict, List, Optional
22
+
23
+ import pyperclip
25
24
 
26
25
 
27
26
  class KeyboardInput(TUIComponent):
@@ -42,7 +41,8 @@ class KeyboardInput(TUIComponent):
42
41
  @staticmethod
43
42
  def preload_history(history: List[str]) -> None:
44
43
  """Preload the input with the provided dictionary."""
45
- for entry in history:
44
+ rev_history = reversed(history)
45
+ for entry in rev_history:
46
46
  KeyboardInput._add_history(entry)
47
47
  KeyboardInput._HIST_INDEX = 0
48
48
 
@@ -97,10 +97,11 @@ class KeyboardInput(TUIComponent):
97
97
  return text
98
98
 
99
99
  def __init__(
100
- self, prompt: str = "",
100
+ self,
101
+ prompt: str = "",
101
102
  prompt_color: VtColor = VtColor.NC,
102
103
  text_color: VtColor = VtColor.NC,
103
- navbar_enable: bool = False
104
+ navbar_enable: bool = False,
104
105
  ):
105
106
  super().__init__(prompt)
106
107
  self._prompt_color = prompt_color
@@ -168,18 +169,18 @@ class KeyboardInput(TUIComponent):
168
169
  if self._input_index > 0:
169
170
  self._input_index = max(0, self._input_index - 1)
170
171
  self._update_input(
171
- self._input_text[: self._input_index] + self._input_text[1 + self._input_index:]
172
+ self._input_text[: self._input_index] + self._input_text[1 + self._input_index :]
172
173
  )
173
174
  case Keyboard.VK_DELETE:
174
175
  self._update_input(
175
- self._input_text[: self._input_index] + self._input_text[1 + self._input_index:]
176
+ self._input_text[: self._input_index] + self._input_text[1 + self._input_index :]
176
177
  )
177
178
  case Keyboard.VK_CTRL_F: # Forget history
178
179
  self.forget_history()
179
180
  case Keyboard.VK_CTRL_P: # Paste from clipboard
180
- text = (pyperclip.paste() or '').replace("\n", "↵")
181
+ text = (pyperclip.paste() or "").replace("\n", "↵")
181
182
  self._update_input(
182
- self._input_text[: self._input_index] + text + self._input_text[self._input_index:]
183
+ self._input_text[: self._input_index] + text + self._input_text[self._input_index :]
183
184
  )
184
185
  self._input_index += len(text)
185
186
  case Keyboard.VK_CTRL_R: # Reset contents
@@ -201,7 +202,7 @@ class KeyboardInput(TUIComponent):
201
202
  self._input_index = self.length
202
203
  case _ as key if key.val.isprintable():
203
204
  self._update_input(
204
- self._input_text[: self._input_index] + key.val + self._input_text[self._input_index:]
205
+ self._input_text[: self._input_index] + key.val + self._input_text[self._input_index :]
205
206
  )
206
207
  self._input_index += 1
207
208
  case _ as key if key in Keyboard.break_keys():
@@ -12,18 +12,14 @@
12
12
 
13
13
  Copyright·(c)·2024,·HSPyLib
14
14
  """
15
+ from clitt.core.tui.line_input.keyboard_input import KeyboardInput
15
16
  from hspylib.modules.cli.keyboard import Keyboard
16
17
  from hspylib.modules.cli.vt100.vt_color import VtColor
17
18
  from typing import Optional
18
19
 
19
- from clitt.core.tui.line_input.keyboard_input import KeyboardInput
20
-
21
20
 
22
21
  def line_input(
23
- prompt: str = "",
24
- prompt_color: VtColor = VtColor.NC,
25
- text_color: VtColor = VtColor.NC,
26
- navbar_enable: bool = False
22
+ prompt: str = "", prompt_color: VtColor = VtColor.NC, text_color: VtColor = VtColor.NC, navbar_enable: bool = False
27
23
  ) -> Optional[str | Keyboard]:
28
24
  """Read a string from standard input.
29
25
  :param prompt: The message to be displayed to the user.
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.117
3
+ # hspylib-clitt v0.9.118
4
4
  #
5
5
  # Package: main.clitt.core.tui.mchoose
6
6
  """Package initialization."""
@@ -9,4 +9,4 @@ __all__ = [
9
9
  'mchoose',
10
10
  'menu_choose'
11
11
  ]
12
- __version__ = '0.9.117'
12
+ __version__ = '0.9.118'
@@ -12,11 +12,10 @@
12
12
 
13
13
  Copyright·(c)·2024,·HSPyLib
14
14
  """
15
+ from clitt.core.tui.mchoose.menu_choose import MenuChoose
15
16
  from hspylib.core.enums.charset import Charset
16
17
  from typing import List, Optional, TypeVar
17
18
 
18
- from clitt.core.tui.mchoose.menu_choose import MenuChoose
19
-
20
19
  T = TypeVar("T")
21
20
 
22
21
 
@@ -24,7 +23,7 @@ def mchoose(
24
23
  items: List[T],
25
24
  checked: bool | List[bool] = False,
26
25
  title: str = "Please choose among the options",
27
- output: str = None
26
+ output: str = None,
28
27
  ) -> Optional[List[T]]:
29
28
  """
30
29
  Terminal UI menu choose input method.
@@ -12,14 +12,13 @@
12
12
 
13
13
  Copyright·(c)·2024,·HSPyLib
14
14
  """
15
- from hspylib.modules.cli.keyboard import Keyboard
16
- from hspylib.core.tools.commons import to_bool
17
- from hspylib.core.tools.dict_tools import get_or_default
18
- from typing import List, Optional, TypeAlias, TypeVar
19
-
20
15
  from clitt.core.icons.font_awesome.nav_icons import NavIcons
21
16
  from clitt.core.term.commons import Direction, Portion
22
17
  from clitt.core.tui.tui_component import TUIComponent
18
+ from hspylib.core.tools.commons import to_bool
19
+ from hspylib.core.tools.dict_tools import get_or_default
20
+ from hspylib.modules.cli.keyboard import Keyboard
21
+ from typing import List, Optional, TypeAlias, TypeVar
23
22
 
24
23
  T = TypeVar("T")
25
24
 
@@ -35,11 +34,7 @@ class MenuChoose(TUIComponent):
35
34
 
36
35
  MIN_ROWS = 3
37
36
 
38
- def __init__(
39
- self,
40
- title: str,
41
- items: MChooseItems,
42
- checked: bool | List[bool] = False):
37
+ def __init__(self, title: str, items: MChooseItems, checked: bool | List[bool] = False):
43
38
 
44
39
  super().__init__(title)
45
40
  self.items = items
@@ -62,10 +57,7 @@ class MenuChoose(TUIComponent):
62
57
  self._prepare_render()
63
58
  keypress = self._loop()
64
59
 
65
- return (
66
- [op for idx, op in enumerate(self.items) if self.sel_options[idx]]
67
- if keypress.isEnter() else None
68
- )
60
+ return [op for idx, op in enumerate(self.items) if self.sel_options[idx]] if keypress.isEnter() else None
69
61
 
70
62
  def render(self) -> None:
71
63
  length = len(self.items)
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.117
3
+ # hspylib-clitt v0.9.118
4
4
  #
5
5
  # Package: main.clitt.core.tui.mdashboard
6
6
  """Package initialization."""
@@ -11,4 +11,4 @@ __all__ = [
11
11
  'mdashboard',
12
12
  'menu_dashboard'
13
13
  ]
14
- __version__ = '0.9.117'
14
+ __version__ = '0.9.118'
@@ -82,9 +82,7 @@ class MenuDashBoard(TUIComponent):
82
82
  self.writeln(f"{self.prefs.title_color.placeholder}{self.title}%EOL%%NC%")
83
83
 
84
84
  for idx, item in enumerate(self._items):
85
- self._draw_item(
86
- idx, item, MenuDashBoard.CELL_TPL if self._tab_index != idx else MenuDashBoard.SEL_CELL_TPL
87
- )
85
+ self._draw_item(idx, item, MenuDashBoard.CELL_TPL if self._tab_index != idx else MenuDashBoard.SEL_CELL_TPL)
88
86
 
89
87
  self.cursor.erase(Portion.LINE)
90
88
  self.cursor.move_to(column=1)
@@ -117,11 +115,7 @@ class MenuDashBoard(TUIComponent):
117
115
 
118
116
  return keypress
119
117
 
120
- def _draw_item(
121
- self,
122
- item_idx: int,
123
- item: DashboardItem,
124
- cell_template: DashboardMatrix) -> None:
118
+ def _draw_item(self, item_idx: int, item: DashboardItem, cell_template: DashboardMatrix) -> None:
125
119
  """Print the specified dashboard item at the given index.
126
120
  :param item_idx: the item index.
127
121
  :param item: the dashboard item.
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.117
3
+ # hspylib-clitt v0.9.118
4
4
  #
5
5
  # Package: main.clitt.core.tui.menu
6
6
  """Package initialization."""
@@ -13,4 +13,4 @@ __all__ = [
13
13
  'tui_menu_ui',
14
14
  'tui_menu_view'
15
15
  ]
16
- __version__ = '0.9.117'
16
+ __version__ = '0.9.118'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.117
3
+ # hspylib-clitt v0.9.118
4
4
  #
5
5
  # Package: main.clitt.core.tui.minput
6
6
  """Package initialization."""
@@ -16,4 +16,4 @@ __all__ = [
16
16
  'minput',
17
17
  'minput_utils'
18
18
  ]
19
- __version__ = '0.9.117'
19
+ __version__ = '0.9.118'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.117
3
+ # hspylib-clitt v0.9.118
4
4
  #
5
5
  # Package: main.clitt.core.tui.mselect
6
6
  """Package initialization."""
@@ -9,4 +9,4 @@ __all__ = [
9
9
  'menu_select',
10
10
  'mselect'
11
11
  ]
12
- __version__ = '0.9.117'
12
+ __version__ = '0.9.118'
@@ -12,12 +12,11 @@
12
12
 
13
13
  Copyright·(c)·2024,·HSPyLib
14
14
  """
15
- from hspylib.modules.cli.keyboard import Keyboard
16
- from typing import List, Optional, TypeAlias, TypeVar
17
-
18
15
  from clitt.core.icons.font_awesome.nav_icons import NavIcons
19
16
  from clitt.core.term.commons import Direction, Portion
20
17
  from clitt.core.tui.tui_component import TUIComponent
18
+ from hspylib.modules.cli.keyboard import Keyboard
19
+ from typing import List, Optional, TypeAlias, TypeVar
21
20
 
22
21
  T = TypeVar("T")
23
22
 
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.117
3
+ # hspylib-clitt v0.9.118
4
4
  #
5
5
  # Package: main.clitt.core.tui.table
6
6
  """Package initialization."""
@@ -9,4 +9,4 @@ __all__ = [
9
9
  'table_enums',
10
10
  'table_renderer'
11
11
  ]
12
- __version__ = '0.9.117'
12
+ __version__ = '0.9.118'
@@ -12,17 +12,16 @@
12
12
 
13
13
  Copyright·(c)·2024,·HSPyLib
14
14
  """
15
- import os
16
- import sys
17
-
15
+ from clitt.core.term.screen import screen
16
+ from clitt.core.term.terminal import terminal
18
17
  from hspylib.core.metaclass.classpath import AnyPath
19
18
  from hspylib.core.metaclass.singleton import AbstractSingleton
20
19
  from hspylib.modules.application.application import Application
21
20
  from hspylib.modules.application.exit_status import ExitStatus
22
21
  from hspylib.modules.application.version import Version
23
22
 
24
- from clitt.core.term.screen import screen
25
- from clitt.core.term.terminal import terminal
23
+ import os
24
+ import sys
26
25
 
27
26
 
28
27
  class TUIApplication(Application, metaclass=AbstractSingleton):
@@ -13,16 +13,15 @@
13
13
  Copyright·(c)·2024,·HSPyLib
14
14
  """
15
15
  from abc import ABC, abstractmethod
16
- from hspylib.core.tools.text_tools import elide_text
17
- from hspylib.modules.cli.keyboard import Keyboard
18
- from typing import Any, List, Optional, TypeVar
19
-
20
16
  from clitt.core.icons.font_awesome.awesome import Awesome
21
17
  from clitt.core.term.commons import Direction
22
18
  from clitt.core.term.cursor import Cursor
23
19
  from clitt.core.term.screen import Screen
24
20
  from clitt.core.term.terminal import Terminal
25
21
  from clitt.core.tui.tui_preferences import TUIPreferences
22
+ from hspylib.core.tools.text_tools import elide_text
23
+ from hspylib.modules.cli.keyboard import Keyboard
24
+ from typing import Any, List, Optional, TypeVar
26
25
 
27
26
  T = TypeVar("T", bound=Any)
28
27
 
@@ -90,7 +89,7 @@ class TUIComponent(ABC):
90
89
  self.cursor.end()
91
90
  self.cursor.erase(Direction.DOWN)
92
91
  self.cursor.reset_mode()
93
- self.cursor.writeln('\n')
92
+ self.cursor.writeln("\n")
94
93
 
95
94
  return keypress
96
95
 
clitt/utils/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.117
3
+ # hspylib-clitt v0.9.118
4
4
  #
5
5
  # Package: main.clitt.utils
6
6
  """Package initialization."""
@@ -8,4 +8,4 @@
8
8
  __all__ = [
9
9
  'git_utils'
10
10
  ]
11
- __version__ = '0.9.117'
11
+ __version__ = '0.9.118'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hspylib-clitt
3
- Version: 0.9.117
3
+ Version: 0.9.118
4
4
  Summary: HsPyLib - CLI Terminal Tools
5
5
  Home-page: https://github.com/yorevs/hspylib
6
6
  Author: Hugo Saporetti Junior
@@ -35,7 +35,7 @@ Requires-Dist: urllib3 <2.0.0
35
35
  ## Create professional CLI applications
36
36
 
37
37
  [![License](https://badgen.net/badge/license/MIT/gray)](LICENSE.md)
38
- [![Release](https://badgen.net/badge/release/v0.9.117/gray)](CHANGELOG.md#unreleased)
38
+ [![Release](https://badgen.net/badge/release/v0.9.118/gray)](CHANGELOG.md#unreleased)
39
39
  [![PyPi](https://badgen.net/badge/icon/python?icon=pypi&label)](https://pypi.org/project/hspylib-clitt)
40
40
  [![GitHub](https://badgen.net/badge/icon/github?icon=github&label)](https://github.com/yorevs/hspylib)
41
41
  [![Gitter](https://badgen.net/badge/icon/gitter?icon=gitter&label)](https://gitter.im/hspylib/community)
@@ -1,13 +1,13 @@
1
- clitt/.version,sha256=yyGqhUStn0niEKJBoPH6vy03FXb1CY0G7QJ5rkUbs1U,8
1
+ clitt/.version,sha256=Krzdxlo2NW9b4TWVaUeG6RwXJtyuiaxKRCrx2zoDLUw,8
2
2
  clitt/__classpath__.py,sha256=_woVRfXoFlEHBbtg-we43FJOrIlvdyumxsUV2IloHhE,884
3
- clitt/__init__.py,sha256=KuweBYFGjbpTiOWgZ6H58lMkhe_zpAlAOUy9n4p393I,184
3
+ clitt/__init__.py,sha256=Z-kEDIkWyt6VlsAZCaQB4VJgzIFiOvKld0suKDJOXfY,184
4
4
  clitt/__main__.py,sha256=43Ugh79L57yhShIvtVqQwrQvsLy2rOtYgVm6g9Nsz_o,5321
5
5
  clitt/welcome.txt,sha256=z72ySJw-1VQHvWmd8pZ95P6t4zEkIWGbqTRT83P2hJw,169
6
- clitt/addons/__init__.py,sha256=6RXACxOxobJiqf6a3Fi6noSw8yS9rYt-aJCliFNlG6Q,179
7
- clitt/addons/appman/__init__.py,sha256=UI9mG8Ad5e1pPhVEsU_BpSwiNQqMJukQ33w2PTDWYcI,210
6
+ clitt/addons/__init__.py,sha256=0wV7XE19yjGaAyGouFbO2BsbG-JHMJOj9Ogsw4cBlas,179
7
+ clitt/addons/appman/__init__.py,sha256=UFiZWihtf13wbz2SCar3VUMPk9p-O_4swlaog2Yehe8,210
8
8
  clitt/addons/appman/appman.py,sha256=m3cUZzeNuZtky6U26q5way7xMNcLxKeQEdfpGXzboL8,13154
9
9
  clitt/addons/appman/appman_enums.py,sha256=DL99b1gQXdTF-u0VkyknMQDqROHomzN4J570B1NYbqs,874
10
- clitt/addons/appman/templates/__init__.py,sha256=8hNNj1enl2A4WD3QqaI8xhF3No0ZNuFXsg-qIoluDVo,173
10
+ clitt/addons/appman/templates/__init__.py,sha256=VYapgKbMlzSIgvzdkHaZKDWVXyCs9ymcrAci_b3xjKI,173
11
11
  clitt/addons/appman/templates/build.gradle.tpl,sha256=VQKs4r41xPr7P14PtQPt3alYCmNuXaGraaXbKB_FKkM,1817
12
12
  clitt/addons/appman/templates/classpath.py.tpl,sha256=R60uLvVxeJ7nJCXCvav_9LAnDe5VOfJqWO-T1QAlwAc,397
13
13
  clitt/addons/appman/templates/dependencies.hspd.tpl,sha256=bbVNU6XBm5QT28lvH7Bp_4nlXvoD-LwX5kGQ-CPhOEA,764
@@ -20,24 +20,24 @@ clitt/addons/appman/templates/run.sh.tpl,sha256=2xpuHjZP9-7j14dAA2CqPm4G2xtnuenf
20
20
  clitt/addons/appman/templates/test_main.py.tpl,sha256=y5Bo0ku6FP67WjHfYUF4Kt9tdQ67MSlN6LgoF_NUm-U,1241
21
21
  clitt/addons/appman/templates/usage.txt.tpl,sha256=R0e48HCeD7PDbWnX6HGIjz6gr_hBdp-zK6V42U1Aexw,217
22
22
  clitt/addons/appman/templates/widget.py.tpl,sha256=-4q8hYP1Xdx8ttexeHuFnjMH_DoBANEoN9f59jzHDR4,1670
23
- clitt/addons/widman/__init__.py,sha256=zs_YjagHj4zHgHcUvI9A7bf4aoNIH-tbh-WKuuLa42Y,223
23
+ clitt/addons/widman/__init__.py,sha256=9IpOrmyoW4UxaTbgpTZqam5Aur9CfWzWDxik2V68w-0,223
24
24
  clitt/addons/widman/widget.py,sha256=mOTpd1O3Cf37Ulz_nKSw9sU_gkE5X6wD28mIupOfVSM,1922
25
25
  clitt/addons/widman/widget_entry.py,sha256=jFvfV2xX_0-Qdj3dDp_UdDtWoy5YkJr0x84X629_iGY,1358
26
26
  clitt/addons/widman/widman.py,sha256=-PGBiWHxK7YJE632DRXisrUumVKES8U_Pemb_7xsFGM,5274
27
- clitt/addons/widman/widgets/__init__.py,sha256=phpuGQUVVMwmwsUwsG1a-qUz6o78AoeGjt2uCrCh8M4,254
27
+ clitt/addons/widman/widgets/__init__.py,sha256=pUJdV9zpxIyNTlPE5tm40nyynNAy1RmkAxPDY-t-ue8,254
28
28
  clitt/addons/widman/widgets/widget_free.py,sha256=z_4-1cZG0l_LUEDvtjU5dLbCG2XzqD_Rnw49T45_awc,3995
29
29
  clitt/addons/widman/widgets/widget_punch.py,sha256=L8nIrQGtMsEOr6o3t2-BlSBhca3rB0b_hKuYQrYyeTU,10607
30
30
  clitt/addons/widman/widgets/widget_send_msg.py,sha256=SjK3w36uvsVoOeVs5JiKmlqO9GhQn5dYvIqmbNdkFaQ,11058
31
31
  clitt/addons/widman/widgets/widget_time_calc.py,sha256=kfwwDzp8E-4uE2jt3v_DIZA8RSbK9vQWVOqqTpOvYYo,5037
32
- clitt/core/__init__.py,sha256=gVgVy8mUijwmPVHHwlVLzL2Uh8vhnrOSolA3a25Hkxs,224
32
+ clitt/core/__init__.py,sha256=9xKVRxps-f73RDh6FUyH37NKAvaYbWlUkSZkdMK4X9g,224
33
33
  clitt/core/preferences.py,sha256=-A5fewJQY0rOqUIrlNKycdW5rpf60-GniHUE03jNWgY,3142
34
- clitt/core/exception/__init__.py,sha256=FPrScEvoOMHBqSZ6OB9qUU76xb3wY-arreInzyuM1S8,176
35
- clitt/core/exception/exceptions.py,sha256=0bxENkPeYdOfDpqUNcNyq3-TPVlgfxLQyY2ZiZ6S0c8,477
36
- clitt/core/icons/__init__.py,sha256=dIw7mxv9lE226t4SI0rnSd4MM7CxKkvGfudeVx7iy0I,189
37
- clitt/core/icons/emojis/__init__.py,sha256=sutD8DwTRJAImfUXHuWyjXrrKp6cSB_3DdhaX0LpN3Y,196
34
+ clitt/core/exception/__init__.py,sha256=XKzaDbfWQEfW3ClyhFOqcSs8OXE_7xZHZtKJkR9A0es,176
35
+ clitt/core/exception/exceptions.py,sha256=WBY5vDokKkrrdc4UjJZdEhxzdYjtFo-HuAx3EmXwanA,478
36
+ clitt/core/icons/__init__.py,sha256=V-tUryXE5939UjzBdJSl_cVPXHR0ypdkKVNGEXFKID4,189
37
+ clitt/core/icons/emojis/__init__.py,sha256=awWpTLcYBV3nDN0Uyn08kvmXxiUUu-YlzYKay0hz0HI,196
38
38
  clitt/core/icons/emojis/emojis.py,sha256=pNh3lEk-dNZlDS8hReK4FMyZq0Pz9zU1BXT-C2QyNno,1111
39
39
  clitt/core/icons/emojis/face_smiling.py,sha256=rpMozq6ahAh6sw-7xVOUL3-ViIZsquamDrdvvwUtacU,1271
40
- clitt/core/icons/font_awesome/__init__.py,sha256=Pez1pBzM270sAkQe6isYIfoBdTdRI71jQWVdR7nYwVY,325
40
+ clitt/core/icons/font_awesome/__init__.py,sha256=6mWe_SLeKtdYIMpF7BL-r8je-7KpU_d8BrJIRDK6-hU,325
41
41
  clitt/core/icons/font_awesome/app_icons.py,sha256=6Voo5dDbyeYN8ZLawm6jUQwq62Cfe669bQ1HOtAYB4A,1702
42
42
  clitt/core/icons/font_awesome/awesome.py,sha256=sR7H2U2TQSDf9ZtmRsU5EOef-gYboEmsob1TG3VYRQE,2243
43
43
  clitt/core/icons/font_awesome/dashboard_icons.py,sha256=iaAHme-DBlcvER5-R33w80x5vOOBDvebp332B6ql5zA,3122
@@ -46,34 +46,34 @@ clitt/core/icons/font_awesome/game_icons.py,sha256=veZuoz3Dz7ubzH3hoAoNzD9WLkuSu
46
46
  clitt/core/icons/font_awesome/nav_icons.py,sha256=D75lokoZUHAIH4WLb0Xj0DWvGLoOoXTNKpteQpL4iPk,1183
47
47
  clitt/core/icons/font_awesome/trickplay_icons.py,sha256=NGItIGhqYBamyxNT5kJmqV1jjrD5rXPT-DRsy3jKwCE,1081
48
48
  clitt/core/icons/font_awesome/widget_icons.py,sha256=YO3eMOjAeBszLNkH998G0rMjTuUfJ3t3t3T_KqYOeQc,1026
49
- clitt/core/term/__init__.py,sha256=9l2VimVqdQAGcayVK3p1OlAqBqiCs-E1LyCyaqIl9Mg,215
50
- clitt/core/term/commons.py,sha256=g2yiSn1vzZDFwrUZmuBaEpsrvq8pawUBvCxPvTvKJWg,2679
51
- clitt/core/term/cursor.py,sha256=4Ayf8TPlf_ZsZxktbX8SXMFyelmvHANVSaZ3u3pRbSQ,5924
52
- clitt/core/term/screen.py,sha256=d6_Ef713EVIIMyHoLTZkfB_DE0yvZqVVuuel0joTfRw,2930
53
- clitt/core/term/terminal.py,sha256=JrKuEI-DT2TBvdeqSywvIzrsOvXCxphgf1JSieYG3AQ,7700
54
- clitt/core/tui/__init__.py,sha256=1fsttZxLc3MgpuJIZiL2Seb0nqwdBMt9OxbX1PYxbzE,333
55
- clitt/core/tui/tui_application.py,sha256=Qze3qQTyFg5l7dIDTWFh-nBGLCzam78Ev13SF5I32oQ,1654
56
- clitt/core/tui/tui_component.py,sha256=fiTQoKfNitrBDL-GwHPt_UzOk6avV6kp36eN9XKXwOQ,4881
49
+ clitt/core/term/__init__.py,sha256=F68yAoFSEjKMkmhPzRHJ7eoeUv2j22SJG3cFdK-TYak,215
50
+ clitt/core/term/commons.py,sha256=rrDFYDgwivfMzZucRgumq4fJgwzZWGuV70OPkDrF_Zw,3390
51
+ clitt/core/term/cursor.py,sha256=OC3j24mrKsz73lD6zmwec9ICdxIxfpWGBr96pzupmnk,6326
52
+ clitt/core/term/screen.py,sha256=1lj8iwoko741favNBik9Ue6K-OCe2nrv2mprs_c9YRo,3331
53
+ clitt/core/term/terminal.py,sha256=NBdant1M4SbwVddA2CNtLt-6gw00-XNgMUSWSX0j5GE,7724
54
+ clitt/core/tui/__init__.py,sha256=hOjiU0_uzFINO11bUM7GpKtRumars36A-8LYOXUJkug,333
55
+ clitt/core/tui/tui_application.py,sha256=jD2_RbiUAnWtEOC6NndniFziHrhguIHx4i9T1_PuYgo,1653
56
+ clitt/core/tui/tui_component.py,sha256=qIeGF_Dog6JuKYIaYy4sRDTDz3ai8WHSturYuh5Iy7w,4880
57
57
  clitt/core/tui/tui_preferences.py,sha256=7GbnlhjbSQjzwixbMb4HHX913dpJCPnMaryLdY7TJuI,3110
58
- clitt/core/tui/line_input/__init__.py,sha256=VRPkvUoL92XeJ6hkiVlBMY7UWJFv6QkpBNVT9bdvLMs,204
59
- clitt/core/tui/line_input/keyboard_input.py,sha256=MJFjijGmRHXtY2kbA542rZzHoGJTjJwcf1aNz9CfUus,8347
60
- clitt/core/tui/line_input/line_input.py,sha256=BBeY-VlA0bsFpsMRv_d6eRZv-nbeYSbQV9ISrjCcvBA,1157
61
- clitt/core/tui/mchoose/__init__.py,sha256=MBDPtHjyhj-TVhv1s0mqwx43hGpStNAf8WKOI0nYKoc,195
62
- clitt/core/tui/mchoose/mchoose.py,sha256=42y_HmboxFKH06-ia6OfYitSpoRHR3pw9GyBA6JW3C0,1284
63
- clitt/core/tui/mchoose/menu_choose.py,sha256=ZahfcxWfr4q2mZg0Z-PxF2Y_RSeCWbF7vce2kUBBkNw,7206
64
- clitt/core/tui/mdashboard/__init__.py,sha256=Y7RyvYp01lmX5Qrgz3T1Z83GQgmZjbpq3hOAW8GubPY,253
58
+ clitt/core/tui/line_input/__init__.py,sha256=68H5_qLl_j4Lxuk_EzLUuGWYe6mFBID869ZsZJBGv_A,204
59
+ clitt/core/tui/line_input/keyboard_input.py,sha256=iMTBw8Zl8bmk0_c51Uj0lOPW1UOXdrcaXhNuz2uqnB4,8403
60
+ clitt/core/tui/line_input/line_input.py,sha256=_-TiKg0YlKnXDSi4w8rWSv2jDJB5b8-1SoT0ui2tdVA,1144
61
+ clitt/core/tui/mchoose/__init__.py,sha256=il2xeQiiMdvXGtoImixw371P7YoZ0py5CKlmcoAHgfQ,195
62
+ clitt/core/tui/mchoose/mchoose.py,sha256=iqfyRYKLAslfFsQuZnra0lcMfx2GjZ8r4KuQrPSzAf0,1284
63
+ clitt/core/tui/mchoose/menu_choose.py,sha256=4kRvZCFpQxFPskUS7LcpPg4FgneKxnMe8z9DLzRsqMg,7136
64
+ clitt/core/tui/mdashboard/__init__.py,sha256=hbCFL9McWq9uFGHzDPug-M60IaA2WoO0tztlkcgwJ24,253
65
65
  clitt/core/tui/mdashboard/dashboard_builder.py,sha256=RJm_XnrNJX8jE-G_a9dFEa3DDWLNxN2Xnc6HVvQV1FE,1660
66
66
  clitt/core/tui/mdashboard/dashboard_item.py,sha256=AhQm1IAj4RlHhj9AH4CHEIqX4SjrOZsGEUkwqiUs3js,888
67
67
  clitt/core/tui/mdashboard/mdashboard.py,sha256=VWzNw_bQf8sQGRXrIqvNdIxauOmYiZ_ZnX0PTr0i5-M,892
68
- clitt/core/tui/mdashboard/menu_dashboard.py,sha256=6pNWuyfOm0tsQB7rAkNMBa-Lxi0l9y9D7KKgwFa9rHo,5675
69
- clitt/core/tui/menu/__init__.py,sha256=A9cf4I7MrnAY3A0AQF48uj3Y8BF4G3ikWdT2YzzZ4JU,286
68
+ clitt/core/tui/mdashboard/menu_dashboard.py,sha256=GxJnq_AeZJmNySoLUX3wSSfPYW3B5ip3tI4zSFNo1KQ,5612
69
+ clitt/core/tui/menu/__init__.py,sha256=WpDMt24FYnkMi3P7h4giK921oronwrSQ5QLNWnQhM4g,286
70
70
  clitt/core/tui/menu/tui_menu.py,sha256=Yro2ug3MSRWA9mJiqq3Jm2FCRVZI-gc_YyxX0Fc4g4g,3574
71
71
  clitt/core/tui/menu/tui_menu_action.py,sha256=20ZfmIkKKuf_y_hBPUQRx_QPtjNvTxV-3ui9opn74Yo,1537
72
72
  clitt/core/tui/menu/tui_menu_factory.py,sha256=tsQiYJqQdAZjs5aNxlXgwHT3EueSs9mbV4-Ec9HqtRM,4590
73
73
  clitt/core/tui/menu/tui_menu_item.py,sha256=5IcDZ8MSy47WHlpTnDLty2fHjOr13CDvTGWsHU_briE,7442
74
74
  clitt/core/tui/menu/tui_menu_ui.py,sha256=BdebIp3kmycTgrcPyDk20fS1kNQwqed_hQl7TiHx9Z4,3255
75
75
  clitt/core/tui/menu/tui_menu_view.py,sha256=eGoaw_krAR5WQhqYu7fAnmuzz4ouYdWe8wUopBiZE1I,1922
76
- clitt/core/tui/minput/__init__.py,sha256=Xp6CPPf_EMCwlXk_fvU9GOuhPk9NNh12gZ3Av9DOE1I,338
76
+ clitt/core/tui/minput/__init__.py,sha256=quAJf2MTbTO6gtJHCG_-kMZKuaJkMdspAUSun1O172A,338
77
77
  clitt/core/tui/minput/access_type.py,sha256=xNW-Qq0T4Je9WXG69BiTY2piFKCgAd87djam6zJeQ6Q,638
78
78
  clitt/core/tui/minput/field_builder.py,sha256=TJEoZ2X1RH3uy0zaipL_yFfAy0j7rNU-PORPZvjqAfQ,4373
79
79
  clitt/core/tui/minput/form_builder.py,sha256=XDKnDLz7UeYn9UHYCOrAFwjyR59BWnJ7XQVNdy4gf6w,2867
@@ -83,15 +83,15 @@ clitt/core/tui/minput/input_validator.py,sha256=yLnuDS5at1_COGNhljpeCkiQQpVOS5ws
83
83
  clitt/core/tui/minput/menu_input.py,sha256=JVHVVgzwpwW237FnBgd-Pc9sUAWBIareiH1SfXQAnk4,12883
84
84
  clitt/core/tui/minput/minput.py,sha256=qWG5ykYd5GU_50lANJ7egrCALvxh1aGVnq9JlJKsXdE,1609
85
85
  clitt/core/tui/minput/minput_utils.py,sha256=J9iuX9lbw5RWKoEIkMMkRjfm0RcOpjZfEAQTeizwzMc,5267
86
- clitt/core/tui/mselect/__init__.py,sha256=qmBS87E7_fd5cQRfEmUN1biWCVXu9oOTXeXpTeH9XUE,195
87
- clitt/core/tui/mselect/menu_select.py,sha256=OY-apKV97-23p6i83J0PJIjOn8C073FC_qk_PDcJ7iw,6178
86
+ clitt/core/tui/mselect/__init__.py,sha256=2wRxFdktbqXLs-OFQ8ZXQRKaQTR96oXSu4PbFTl93wY,195
87
+ clitt/core/tui/mselect/menu_select.py,sha256=BWodSGtjaU-5jBZ8AqEbWGBZ4M71is6GDsWHG3n-yl8,6177
88
88
  clitt/core/tui/mselect/mselect.py,sha256=9O9-OKSNwCnZGYzvXhoLyT-2Ssoyg4x8N6REELdt0P8,1116
89
- clitt/core/tui/table/__init__.py,sha256=K3un9xAaAZorQiBOHOjrkDMRwwUMDlXw7UfgnAFjnUY,200
89
+ clitt/core/tui/table/__init__.py,sha256=VFKOg60T9fiz2ib1SV4Tb6p1PJWtN5OVan3OdlUVw5A,200
90
90
  clitt/core/tui/table/table_enums.py,sha256=bTIr5h8dWBUfVJTagdd2cxie6KyPJleTgcaS-t7ioX4,1282
91
91
  clitt/core/tui/table/table_renderer.py,sha256=gzvXQ7GtE1gqsLsGCcUAidv-DnS8uRUm-ksjqkmoMQs,12800
92
- clitt/utils/__init__.py,sha256=X46q6IgKPuEF00gv_UuQpSPLpHjOwlk_7MuCZZ1YAgU,166
92
+ clitt/utils/__init__.py,sha256=9i2uu7wMJTgkqFVzPhVgFJOVe8bV2j27enxnwCFCzj0,166
93
93
  clitt/utils/git_utils.py,sha256=B-QZtRpxAXa3Cw3im5qhJTla0LrlWQouMq_-GR8SOHU,2392
94
- hspylib_clitt-0.9.117.dist-info/METADATA,sha256=DQWl1w6OwMtxydYXBypSfuGpyZGc6f5mYBoLzYiLXDc,1855
95
- hspylib_clitt-0.9.117.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
96
- hspylib_clitt-0.9.117.dist-info/top_level.txt,sha256=4aPEfxPvYp14dwV0l6cjCd90nbDutt1Yr27ZqCunZLI,11
97
- hspylib_clitt-0.9.117.dist-info/RECORD,,
94
+ hspylib_clitt-0.9.118.dist-info/METADATA,sha256=etmrlFYQM82lEJ3OUvXpuZuKBtv0U_M2JYOMGsE3MKM,1855
95
+ hspylib_clitt-0.9.118.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
96
+ hspylib_clitt-0.9.118.dist-info/top_level.txt,sha256=4aPEfxPvYp14dwV0l6cjCd90nbDutt1Yr27ZqCunZLI,11
97
+ hspylib_clitt-0.9.118.dist-info/RECORD,,