hspylib-clitt 0.9.115__py3-none-any.whl → 0.9.117__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.
- clitt/.version +1 -1
- clitt/__classpath__.py +2 -2
- clitt/__init__.py +3 -3
- clitt/__main__.py +3 -3
- clitt/addons/__init__.py +3 -3
- clitt/addons/appman/__init__.py +3 -3
- clitt/addons/appman/templates/__init__.py +3 -3
- clitt/addons/appman/templates/main_qt_view.py.tpl +1 -1
- clitt/addons/widman/__init__.py +3 -3
- clitt/addons/widman/widgets/__init__.py +3 -3
- clitt/core/__init__.py +3 -3
- clitt/core/exception/__init__.py +3 -3
- clitt/core/icons/__init__.py +3 -3
- clitt/core/icons/emojis/__init__.py +3 -3
- clitt/core/icons/font_awesome/__init__.py +3 -3
- clitt/core/term/__init__.py +3 -3
- clitt/core/term/cursor.py +1 -1
- clitt/core/term/screen.py +1 -1
- clitt/core/term/terminal.py +2 -2
- clitt/core/tui/__init__.py +3 -3
- clitt/core/tui/line_input/__init__.py +3 -3
- clitt/core/tui/line_input/keyboard_input.py +34 -34
- clitt/core/tui/line_input/line_input.py +5 -13
- clitt/core/tui/mchoose/__init__.py +3 -3
- clitt/core/tui/mdashboard/__init__.py +3 -3
- clitt/core/tui/menu/__init__.py +3 -3
- clitt/core/tui/minput/__init__.py +3 -3
- clitt/core/tui/mselect/__init__.py +3 -3
- clitt/core/tui/table/__init__.py +3 -3
- clitt/core/tui/tui_application.py +11 -23
- clitt/core/tui/tui_preferences.py +1 -1
- clitt/utils/__init__.py +3 -3
- {hspylib_clitt-0.9.115.dist-info → hspylib_clitt-0.9.117.dist-info}/METADATA +2 -2
- hspylib_clitt-0.9.117.dist-info/RECORD +97 -0
- {hspylib_clitt-0.9.115.dist-info → hspylib_clitt-0.9.117.dist-info}/WHEEL +1 -1
- {hspylib_clitt-0.9.115.dist-info → hspylib_clitt-0.9.117.dist-info}/top_level.txt +0 -1
- build/lib/build/lib/clitt/__classpath__.py +0 -28
- build/lib/build/lib/clitt/__init__.py +0 -13
- build/lib/build/lib/clitt/__main__.py +0 -139
- build/lib/build/lib/clitt/addons/__init__.py +0 -12
- build/lib/build/lib/clitt/addons/appman/__init__.py +0 -13
- build/lib/build/lib/clitt/addons/appman/appman.py +0 -305
- build/lib/build/lib/clitt/addons/appman/appman_enums.py +0 -39
- build/lib/build/lib/clitt/addons/appman/templates/__init__.py +0 -11
- build/lib/build/lib/clitt/addons/widman/__init__.py +0 -14
- build/lib/build/lib/clitt/addons/widman/widget.py +0 -70
- build/lib/build/lib/clitt/addons/widman/widget_entry.py +0 -54
- build/lib/build/lib/clitt/addons/widman/widgets/__init__.py +0 -14
- build/lib/build/lib/clitt/addons/widman/widgets/widget_free.py +0 -110
- build/lib/build/lib/clitt/addons/widman/widgets/widget_punch.py +0 -246
- build/lib/build/lib/clitt/addons/widman/widgets/widget_send_msg.py +0 -272
- build/lib/build/lib/clitt/addons/widman/widgets/widget_time_calc.py +0 -146
- build/lib/build/lib/clitt/addons/widman/widman.py +0 -123
- build/lib/build/lib/clitt/core/__init__.py +0 -15
- build/lib/build/lib/clitt/core/exception/__init__.py +0 -11
- build/lib/build/lib/clitt/core/exception/exceptions.py +0 -18
- build/lib/build/lib/clitt/core/icons/__init__.py +0 -12
- build/lib/build/lib/clitt/core/icons/emojis/__init__.py +0 -12
- build/lib/build/lib/clitt/core/icons/emojis/emojis.py +0 -41
- build/lib/build/lib/clitt/core/icons/emojis/face_smiling.py +0 -40
- build/lib/build/lib/clitt/core/icons/font_awesome/__init__.py +0 -18
- build/lib/build/lib/clitt/core/icons/font_awesome/app_icons.py +0 -55
- build/lib/build/lib/clitt/core/icons/font_awesome/awesome.py +0 -76
- build/lib/build/lib/clitt/core/icons/font_awesome/dashboard_icons.py +0 -93
- build/lib/build/lib/clitt/core/icons/font_awesome/form_icons.py +0 -69
- build/lib/build/lib/clitt/core/icons/font_awesome/game_icons.py +0 -59
- build/lib/build/lib/clitt/core/icons/font_awesome/nav_icons.py +0 -42
- build/lib/build/lib/clitt/core/icons/font_awesome/trickplay_icons.py +0 -39
- build/lib/build/lib/clitt/core/icons/font_awesome/widget_icons.py +0 -37
- build/lib/build/lib/clitt/core/preferences.py +0 -87
- build/lib/build/lib/clitt/core/term/__init__.py +0 -14
- build/lib/build/lib/clitt/core/term/commons.py +0 -82
- build/lib/build/lib/clitt/core/term/cursor.py +0 -159
- build/lib/build/lib/clitt/core/term/screen.py +0 -91
- build/lib/build/lib/clitt/core/term/terminal.py +0 -203
- build/lib/build/lib/clitt/core/tui/__init__.py +0 -20
- build/lib/build/lib/clitt/core/tui/line_input/__init__.py +0 -12
- build/lib/build/lib/clitt/core/tui/line_input/keyboard_input.py +0 -228
- build/lib/build/lib/clitt/core/tui/line_input/line_input.py +0 -43
- build/lib/build/lib/clitt/core/tui/mchoose/__init__.py +0 -12
- build/lib/build/lib/clitt/core/tui/mchoose/mchoose.py +0 -44
- build/lib/build/lib/clitt/core/tui/mchoose/menu_choose.py +0 -200
- build/lib/build/lib/clitt/core/tui/mdashboard/__init__.py +0 -14
- build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_builder.py +0 -54
- build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_item.py +0 -31
- build/lib/build/lib/clitt/core/tui/mdashboard/mdashboard.py +0 -26
- build/lib/build/lib/clitt/core/tui/mdashboard/menu_dashboard.py +0 -154
- build/lib/build/lib/clitt/core/tui/menu/__init__.py +0 -16
- build/lib/build/lib/clitt/core/tui/menu/tui_menu.py +0 -111
- build/lib/build/lib/clitt/core/tui/menu/tui_menu_action.py +0 -47
- build/lib/build/lib/clitt/core/tui/menu/tui_menu_factory.py +0 -117
- build/lib/build/lib/clitt/core/tui/menu/tui_menu_item.py +0 -196
- build/lib/build/lib/clitt/core/tui/menu/tui_menu_ui.py +0 -98
- build/lib/build/lib/clitt/core/tui/menu/tui_menu_view.py +0 -57
- build/lib/build/lib/clitt/core/tui/minput/__init__.py +0 -19
- build/lib/build/lib/clitt/core/tui/minput/access_type.py +0 -26
- build/lib/build/lib/clitt/core/tui/minput/field_builder.py +0 -117
- build/lib/build/lib/clitt/core/tui/minput/form_builder.py +0 -72
- build/lib/build/lib/clitt/core/tui/minput/form_field.py +0 -180
- build/lib/build/lib/clitt/core/tui/minput/input_type.py +0 -30
- build/lib/build/lib/clitt/core/tui/minput/input_validator.py +0 -98
- build/lib/build/lib/clitt/core/tui/minput/menu_input.py +0 -292
- build/lib/build/lib/clitt/core/tui/minput/minput.py +0 -44
- build/lib/build/lib/clitt/core/tui/minput/minput_utils.py +0 -156
- build/lib/build/lib/clitt/core/tui/mselect/__init__.py +0 -12
- build/lib/build/lib/clitt/core/tui/mselect/menu_select.py +0 -171
- build/lib/build/lib/clitt/core/tui/mselect/mselect.py +0 -36
- build/lib/build/lib/clitt/core/tui/table/__init__.py +0 -12
- build/lib/build/lib/clitt/core/tui/table/table_enums.py +0 -47
- build/lib/build/lib/clitt/core/tui/table/table_renderer.py +0 -339
- build/lib/build/lib/clitt/core/tui/tui_application.py +0 -65
- build/lib/build/lib/clitt/core/tui/tui_component.py +0 -155
- build/lib/build/lib/clitt/core/tui/tui_preferences.py +0 -103
- build/lib/build/lib/clitt/utils/__init__.py +0 -11
- build/lib/build/lib/clitt/utils/git_utils.py +0 -66
- build/lib/clitt/__classpath__.py +0 -28
- build/lib/clitt/__init__.py +0 -13
- build/lib/clitt/__main__.py +0 -139
- build/lib/clitt/addons/__init__.py +0 -12
- build/lib/clitt/addons/appman/__init__.py +0 -13
- build/lib/clitt/addons/appman/appman.py +0 -305
- build/lib/clitt/addons/appman/appman_enums.py +0 -39
- build/lib/clitt/addons/appman/templates/__init__.py +0 -11
- build/lib/clitt/addons/widman/__init__.py +0 -14
- build/lib/clitt/addons/widman/widget.py +0 -70
- build/lib/clitt/addons/widman/widget_entry.py +0 -54
- build/lib/clitt/addons/widman/widgets/__init__.py +0 -14
- build/lib/clitt/addons/widman/widgets/widget_free.py +0 -110
- build/lib/clitt/addons/widman/widgets/widget_punch.py +0 -246
- build/lib/clitt/addons/widman/widgets/widget_send_msg.py +0 -272
- build/lib/clitt/addons/widman/widgets/widget_time_calc.py +0 -146
- build/lib/clitt/addons/widman/widman.py +0 -123
- build/lib/clitt/core/__init__.py +0 -15
- build/lib/clitt/core/exception/__init__.py +0 -11
- build/lib/clitt/core/exception/exceptions.py +0 -18
- build/lib/clitt/core/icons/__init__.py +0 -12
- build/lib/clitt/core/icons/emojis/__init__.py +0 -12
- build/lib/clitt/core/icons/emojis/emojis.py +0 -41
- build/lib/clitt/core/icons/emojis/face_smiling.py +0 -40
- build/lib/clitt/core/icons/font_awesome/__init__.py +0 -18
- build/lib/clitt/core/icons/font_awesome/app_icons.py +0 -55
- build/lib/clitt/core/icons/font_awesome/awesome.py +0 -76
- build/lib/clitt/core/icons/font_awesome/dashboard_icons.py +0 -93
- build/lib/clitt/core/icons/font_awesome/form_icons.py +0 -69
- build/lib/clitt/core/icons/font_awesome/game_icons.py +0 -59
- build/lib/clitt/core/icons/font_awesome/nav_icons.py +0 -42
- build/lib/clitt/core/icons/font_awesome/trickplay_icons.py +0 -39
- build/lib/clitt/core/icons/font_awesome/widget_icons.py +0 -37
- build/lib/clitt/core/preferences.py +0 -87
- build/lib/clitt/core/term/__init__.py +0 -14
- build/lib/clitt/core/term/commons.py +0 -82
- build/lib/clitt/core/term/cursor.py +0 -159
- build/lib/clitt/core/term/screen.py +0 -91
- build/lib/clitt/core/term/terminal.py +0 -203
- build/lib/clitt/core/tui/__init__.py +0 -20
- build/lib/clitt/core/tui/line_input/__init__.py +0 -12
- build/lib/clitt/core/tui/line_input/keyboard_input.py +0 -228
- build/lib/clitt/core/tui/line_input/line_input.py +0 -43
- build/lib/clitt/core/tui/mchoose/__init__.py +0 -12
- build/lib/clitt/core/tui/mchoose/mchoose.py +0 -44
- build/lib/clitt/core/tui/mchoose/menu_choose.py +0 -200
- build/lib/clitt/core/tui/mdashboard/__init__.py +0 -14
- build/lib/clitt/core/tui/mdashboard/dashboard_builder.py +0 -54
- build/lib/clitt/core/tui/mdashboard/dashboard_item.py +0 -31
- build/lib/clitt/core/tui/mdashboard/mdashboard.py +0 -26
- build/lib/clitt/core/tui/mdashboard/menu_dashboard.py +0 -154
- build/lib/clitt/core/tui/menu/__init__.py +0 -16
- build/lib/clitt/core/tui/menu/tui_menu.py +0 -111
- build/lib/clitt/core/tui/menu/tui_menu_action.py +0 -47
- build/lib/clitt/core/tui/menu/tui_menu_factory.py +0 -117
- build/lib/clitt/core/tui/menu/tui_menu_item.py +0 -196
- build/lib/clitt/core/tui/menu/tui_menu_ui.py +0 -98
- build/lib/clitt/core/tui/menu/tui_menu_view.py +0 -57
- build/lib/clitt/core/tui/minput/__init__.py +0 -19
- build/lib/clitt/core/tui/minput/access_type.py +0 -26
- build/lib/clitt/core/tui/minput/field_builder.py +0 -117
- build/lib/clitt/core/tui/minput/form_builder.py +0 -72
- build/lib/clitt/core/tui/minput/form_field.py +0 -180
- build/lib/clitt/core/tui/minput/input_type.py +0 -30
- build/lib/clitt/core/tui/minput/input_validator.py +0 -98
- build/lib/clitt/core/tui/minput/menu_input.py +0 -292
- build/lib/clitt/core/tui/minput/minput.py +0 -44
- build/lib/clitt/core/tui/minput/minput_utils.py +0 -156
- build/lib/clitt/core/tui/mselect/__init__.py +0 -12
- build/lib/clitt/core/tui/mselect/menu_select.py +0 -171
- build/lib/clitt/core/tui/mselect/mselect.py +0 -36
- build/lib/clitt/core/tui/table/__init__.py +0 -12
- build/lib/clitt/core/tui/table/table_enums.py +0 -47
- build/lib/clitt/core/tui/table/table_renderer.py +0 -339
- build/lib/clitt/core/tui/tui_application.py +0 -65
- build/lib/clitt/core/tui/tui_component.py +0 -155
- build/lib/clitt/core/tui/tui_preferences.py +0 -103
- build/lib/clitt/utils/__init__.py +0 -11
- build/lib/clitt/utils/git_utils.py +0 -66
- hspylib_clitt-0.9.115.dist-info/RECORD +0 -255
clitt/.version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.9.
|
|
1
|
+
0.9.117
|
clitt/__classpath__.py
CHANGED
|
@@ -18,11 +18,11 @@ from hspylib.core.tools.commons import get_path, run_dir
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
class _Classpath(Classpath):
|
|
21
|
-
"""
|
|
21
|
+
"""Provide a class to help locating user-defined classes, packages, sources and resources."""
|
|
22
22
|
|
|
23
23
|
def __init__(self):
|
|
24
24
|
super().__init__(get_path(__file__), get_path(run_dir()), (get_path(__file__) / "resources"))
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
# Instantiate the classpath singleton
|
|
28
|
-
assert _Classpath().INSTANCE is not None, "Failed to create Classpath instance"
|
|
28
|
+
assert (classpath := _Classpath().INSTANCE) is not None, "Failed to create Classpath instance"
|
clitt/__init__.py
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.117
|
|
4
4
|
#
|
|
5
|
-
# Package: main.
|
|
5
|
+
# Package: main.clitt
|
|
6
6
|
"""Package initialization."""
|
|
7
7
|
|
|
8
8
|
__all__ = [
|
|
@@ -10,4 +10,4 @@ __all__ = [
|
|
|
10
10
|
'core',
|
|
11
11
|
'utils'
|
|
12
12
|
]
|
|
13
|
-
__version__ = '0.9.
|
|
13
|
+
__version__ = '0.9.117'
|
clitt/__main__.py
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
Copyright·(c)·2024,·HSPyLib
|
|
14
14
|
"""
|
|
15
|
-
from clitt.__classpath__ import
|
|
15
|
+
from clitt.__classpath__ import classpath
|
|
16
16
|
from clitt.addons.appman.appman import AppManager
|
|
17
17
|
from clitt.addons.appman.appman_enums import AppExtension, AppType
|
|
18
18
|
from clitt.addons.widman.widman import WidgetManager
|
|
@@ -31,10 +31,10 @@ class Main(TUIApplication):
|
|
|
31
31
|
"""HsPyLib CLI Terminal Tools - Create professional CLI applications."""
|
|
32
32
|
|
|
33
33
|
# The welcome message
|
|
34
|
-
DESCRIPTION =
|
|
34
|
+
DESCRIPTION = classpath.get_source("welcome.txt").read_text(encoding=Charset.UTF_8.val)
|
|
35
35
|
|
|
36
36
|
# Location of the .version file
|
|
37
|
-
VERSION_DIR =
|
|
37
|
+
VERSION_DIR = classpath.source_path()
|
|
38
38
|
|
|
39
39
|
class Addon(Enumeration):
|
|
40
40
|
"""HsPyLib addon types."""
|
clitt/addons/__init__.py
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.117
|
|
4
4
|
#
|
|
5
|
-
# Package: main.
|
|
5
|
+
# Package: main.clitt.addons
|
|
6
6
|
"""Package initialization."""
|
|
7
7
|
|
|
8
8
|
__all__ = [
|
|
9
9
|
'appman',
|
|
10
10
|
'widman'
|
|
11
11
|
]
|
|
12
|
-
__version__ = '0.9.
|
|
12
|
+
__version__ = '0.9.117'
|
clitt/addons/appman/__init__.py
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.117
|
|
4
4
|
#
|
|
5
|
-
# Package: main.
|
|
5
|
+
# Package: main.clitt.addons.appman
|
|
6
6
|
"""Package initialization."""
|
|
7
7
|
|
|
8
8
|
__all__ = [
|
|
@@ -10,4 +10,4 @@ __all__ = [
|
|
|
10
10
|
'appman_enums',
|
|
11
11
|
'templates'
|
|
12
12
|
]
|
|
13
|
-
__version__ = '0.9.
|
|
13
|
+
__version__ = '0.9.117'
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.117
|
|
4
4
|
#
|
|
5
|
-
# Package: main.
|
|
5
|
+
# Package: main.clitt.addons.appman.templates
|
|
6
6
|
"""Package initialization."""
|
|
7
7
|
|
|
8
8
|
__all__ = [
|
|
9
9
|
|
|
10
10
|
]
|
|
11
|
-
__version__ = '0.9.
|
|
11
|
+
__version__ = '0.9.117'
|
|
@@ -6,7 +6,7 @@ from %APP_NAME%.__classpath__ import _Classpath
|
|
|
6
6
|
|
|
7
7
|
class MainQtView(QtView):
|
|
8
8
|
"""Main application view"""
|
|
9
|
-
VERSION =
|
|
9
|
+
VERSION = classpath.get_source(".version").read_text(encoding=Charset.UTF_8.val)
|
|
10
10
|
|
|
11
11
|
FORMS_DIR = str(_Classpath.resource_path() / "forms")
|
|
12
12
|
|
clitt/addons/widman/__init__.py
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.117
|
|
4
4
|
#
|
|
5
|
-
# Package: main.
|
|
5
|
+
# Package: main.clitt.addons.widman
|
|
6
6
|
"""Package initialization."""
|
|
7
7
|
|
|
8
8
|
__all__ = [
|
|
@@ -11,4 +11,4 @@ __all__ = [
|
|
|
11
11
|
'widgets',
|
|
12
12
|
'widman'
|
|
13
13
|
]
|
|
14
|
-
__version__ = '0.9.
|
|
14
|
+
__version__ = '0.9.117'
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.117
|
|
4
4
|
#
|
|
5
|
-
# Package: main.
|
|
5
|
+
# Package: main.clitt.addons.widman.widgets
|
|
6
6
|
"""Package initialization."""
|
|
7
7
|
|
|
8
8
|
__all__ = [
|
|
@@ -11,4 +11,4 @@ __all__ = [
|
|
|
11
11
|
'widget_send_msg',
|
|
12
12
|
'widget_time_calc'
|
|
13
13
|
]
|
|
14
|
-
__version__ = '0.9.
|
|
14
|
+
__version__ = '0.9.117'
|
clitt/core/__init__.py
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.117
|
|
4
4
|
#
|
|
5
|
-
# Package: main.
|
|
5
|
+
# Package: main.clitt.core
|
|
6
6
|
"""Package initialization."""
|
|
7
7
|
|
|
8
8
|
__all__ = [
|
|
@@ -12,4 +12,4 @@ __all__ = [
|
|
|
12
12
|
'term',
|
|
13
13
|
'tui'
|
|
14
14
|
]
|
|
15
|
-
__version__ = '0.9.
|
|
15
|
+
__version__ = '0.9.117'
|
clitt/core/exception/__init__.py
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.117
|
|
4
4
|
#
|
|
5
|
-
# Package: main.
|
|
5
|
+
# Package: main.clitt.core.exception
|
|
6
6
|
"""Package initialization."""
|
|
7
7
|
|
|
8
8
|
__all__ = [
|
|
9
9
|
'exceptions'
|
|
10
10
|
]
|
|
11
|
-
__version__ = '0.9.
|
|
11
|
+
__version__ = '0.9.117'
|
clitt/core/icons/__init__.py
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.117
|
|
4
4
|
#
|
|
5
|
-
# Package: main.
|
|
5
|
+
# Package: main.clitt.core.icons
|
|
6
6
|
"""Package initialization."""
|
|
7
7
|
|
|
8
8
|
__all__ = [
|
|
9
9
|
'emojis',
|
|
10
10
|
'font_awesome'
|
|
11
11
|
]
|
|
12
|
-
__version__ = '0.9.
|
|
12
|
+
__version__ = '0.9.117'
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.117
|
|
4
4
|
#
|
|
5
|
-
# Package: main.
|
|
5
|
+
# Package: main.clitt.core.icons.emojis
|
|
6
6
|
"""Package initialization."""
|
|
7
7
|
|
|
8
8
|
__all__ = [
|
|
9
9
|
'emojis',
|
|
10
10
|
'face_smiling'
|
|
11
11
|
]
|
|
12
|
-
__version__ = '0.9.
|
|
12
|
+
__version__ = '0.9.117'
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.117
|
|
4
4
|
#
|
|
5
|
-
# Package: main.
|
|
5
|
+
# Package: main.clitt.core.icons.font_awesome
|
|
6
6
|
"""Package initialization."""
|
|
7
7
|
|
|
8
8
|
__all__ = [
|
|
@@ -15,4 +15,4 @@ __all__ = [
|
|
|
15
15
|
'trickplay_icons',
|
|
16
16
|
'widget_icons'
|
|
17
17
|
]
|
|
18
|
-
__version__ = '0.9.
|
|
18
|
+
__version__ = '0.9.117'
|
clitt/core/term/__init__.py
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.117
|
|
4
4
|
#
|
|
5
|
-
# Package: main.
|
|
5
|
+
# Package: main.clitt.core.term
|
|
6
6
|
"""Package initialization."""
|
|
7
7
|
|
|
8
8
|
__all__ = [
|
|
@@ -11,4 +11,4 @@ __all__ = [
|
|
|
11
11
|
'screen',
|
|
12
12
|
'terminal'
|
|
13
13
|
]
|
|
14
|
-
__version__ = '0.9.
|
|
14
|
+
__version__ = '0.9.117'
|
clitt/core/term/cursor.py
CHANGED
clitt/core/term/screen.py
CHANGED
clitt/core/term/terminal.py
CHANGED
|
@@ -55,7 +55,7 @@ class Terminal(metaclass=Singleton):
|
|
|
55
55
|
del kwargs["stderr"]
|
|
56
56
|
if "stdin" in kwargs:
|
|
57
57
|
del kwargs["stdin"]
|
|
58
|
-
commands = map(shlex.split, cmd_list)
|
|
58
|
+
commands = map(shlex.split, cmd_list) if 'shell' not in kwargs else cmd_list
|
|
59
59
|
first_cmd, *rest_cmds = commands
|
|
60
60
|
if len(rest_cmds) > 0:
|
|
61
61
|
procs: List[Popen] = [Popen(first_cmd, stdout=PIPE, stderr=PIPE, **kwargs)]
|
|
@@ -200,4 +200,4 @@ class Terminal(metaclass=Singleton):
|
|
|
200
200
|
return self.screen.cursor
|
|
201
201
|
|
|
202
202
|
|
|
203
|
-
assert Terminal().INSTANCE is not None, "Failed to create Terminal instance"
|
|
203
|
+
assert (terminal := Terminal().INSTANCE) is not None, "Failed to create Terminal instance"
|
clitt/core/tui/__init__.py
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.117
|
|
4
4
|
#
|
|
5
|
-
# Package: main.
|
|
5
|
+
# Package: main.clitt.core.tui
|
|
6
6
|
"""Package initialization."""
|
|
7
7
|
|
|
8
8
|
__all__ = [
|
|
@@ -17,4 +17,4 @@ __all__ = [
|
|
|
17
17
|
'tui_component',
|
|
18
18
|
'tui_preferences'
|
|
19
19
|
]
|
|
20
|
-
__version__ = '0.9.
|
|
20
|
+
__version__ = '0.9.117'
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.117
|
|
4
4
|
#
|
|
5
|
-
# Package: main.
|
|
5
|
+
# Package: main.clitt.core.tui.line_input
|
|
6
6
|
"""Package initialization."""
|
|
7
7
|
|
|
8
8
|
__all__ = [
|
|
9
9
|
'keyboard_input',
|
|
10
10
|
'line_input'
|
|
11
11
|
]
|
|
12
|
-
__version__ = '0.9.
|
|
12
|
+
__version__ = '0.9.117'
|
|
@@ -13,12 +13,13 @@
|
|
|
13
13
|
Copyright·(c)·2024,·HSPyLib
|
|
14
14
|
"""
|
|
15
15
|
|
|
16
|
+
from typing import Optional, List, Dict
|
|
17
|
+
|
|
16
18
|
import pyperclip
|
|
17
19
|
from hspylib.modules.cli.keyboard import Keyboard
|
|
18
20
|
from hspylib.modules.cli.vt100.vt_color import VtColor
|
|
19
|
-
from typing import Optional, List, Dict
|
|
20
21
|
|
|
21
|
-
from clitt.core.term.commons import Direction
|
|
22
|
+
from clitt.core.term.commons import Direction
|
|
22
23
|
from clitt.core.term.terminal import Terminal
|
|
23
24
|
from clitt.core.tui.tui_component import TUIComponent
|
|
24
25
|
|
|
@@ -43,6 +44,7 @@ class KeyboardInput(TUIComponent):
|
|
|
43
44
|
"""Preload the input with the provided dictionary."""
|
|
44
45
|
for entry in history:
|
|
45
46
|
KeyboardInput._add_history(entry)
|
|
47
|
+
KeyboardInput._HIST_INDEX = 0
|
|
46
48
|
|
|
47
49
|
@staticmethod
|
|
48
50
|
def forget_history() -> None:
|
|
@@ -62,22 +64,23 @@ class KeyboardInput(TUIComponent):
|
|
|
62
64
|
:param input_text: The input text to add to the history.
|
|
63
65
|
"""
|
|
64
66
|
if input_text and input_text not in list(KeyboardInput._HISTORY.values())[1:]:
|
|
65
|
-
|
|
66
|
-
KeyboardInput.
|
|
67
|
+
idx: int = max(1, len(KeyboardInput._HISTORY))
|
|
68
|
+
KeyboardInput._HISTORY[idx] = input_text
|
|
69
|
+
KeyboardInput._HIST_INDEX = idx
|
|
67
70
|
|
|
68
71
|
@classmethod
|
|
69
72
|
def _next_in_history(cls) -> Optional[str]:
|
|
70
|
-
index = min(len(cls._HISTORY), cls._HIST_INDEX + 1)
|
|
73
|
+
index = min(len(cls._HISTORY) - 1, cls._HIST_INDEX + 1)
|
|
71
74
|
text = cls._HISTORY.get(index, "")
|
|
72
|
-
cls._HIST_INDEX =
|
|
75
|
+
cls._HIST_INDEX = index
|
|
73
76
|
return text or cls._HISTORY[0]
|
|
74
77
|
|
|
75
78
|
@classmethod
|
|
76
79
|
def _prev_in_history(cls) -> Optional[str]:
|
|
77
|
-
index = max(
|
|
80
|
+
index = max(0, cls._HIST_INDEX - 1)
|
|
78
81
|
text = cls._HISTORY.get(index, "")
|
|
79
|
-
cls._HIST_INDEX =
|
|
80
|
-
return text
|
|
82
|
+
cls._HIST_INDEX = index
|
|
83
|
+
return text or cls._HISTORY[0]
|
|
81
84
|
|
|
82
85
|
@classmethod
|
|
83
86
|
def _undo(cls) -> Optional[str]:
|
|
@@ -93,9 +96,16 @@ class KeyboardInput(TUIComponent):
|
|
|
93
96
|
cls._UNDO_HISTORY.append(cls._HISTORY[0])
|
|
94
97
|
return text
|
|
95
98
|
|
|
96
|
-
def __init__(
|
|
99
|
+
def __init__(
|
|
100
|
+
self, prompt: str = "",
|
|
101
|
+
prompt_color: VtColor = VtColor.NC,
|
|
102
|
+
text_color: VtColor = VtColor.NC,
|
|
103
|
+
navbar_enable: bool = False
|
|
104
|
+
):
|
|
97
105
|
super().__init__(prompt)
|
|
98
106
|
self._prompt_color = prompt_color
|
|
107
|
+
self._text_color = text_color
|
|
108
|
+
self._navbar_enable = navbar_enable
|
|
99
109
|
self._input_index = 0
|
|
100
110
|
self._input_text: str = ""
|
|
101
111
|
self._HISTORY[0] = ""
|
|
@@ -114,7 +124,7 @@ class KeyboardInput(TUIComponent):
|
|
|
114
124
|
keypress = Keyboard.VK_NONE
|
|
115
125
|
|
|
116
126
|
# Wait for user interaction
|
|
117
|
-
while not self._done and keypress not in break_keys:
|
|
127
|
+
while not self._done and keypress and keypress not in break_keys:
|
|
118
128
|
# Menu Renderization
|
|
119
129
|
if self._re_render:
|
|
120
130
|
self.render()
|
|
@@ -124,8 +134,9 @@ class KeyboardInput(TUIComponent):
|
|
|
124
134
|
return keypress
|
|
125
135
|
|
|
126
136
|
def execute(self) -> Optional[str | Keyboard]:
|
|
137
|
+
self.write(f"{self._prompt_color.placeholder}{self.title}{self._text_color.placeholder}")
|
|
127
138
|
self._prepare_render()
|
|
128
|
-
keypress = self._loop()
|
|
139
|
+
keypress = self._loop() or Keyboard.VK_ESC
|
|
129
140
|
|
|
130
141
|
if keypress.isEnter():
|
|
131
142
|
self._add_history(self._input_text)
|
|
@@ -134,16 +145,15 @@ class KeyboardInput(TUIComponent):
|
|
|
134
145
|
elif keypress == Keyboard.VK_ESC:
|
|
135
146
|
self._input_text = None
|
|
136
147
|
|
|
137
|
-
self.writeln("")
|
|
148
|
+
self.writeln("%NC%")
|
|
138
149
|
|
|
139
150
|
return self._input_text
|
|
140
151
|
|
|
141
152
|
def render(self) -> None:
|
|
142
153
|
Terminal.set_show_cursor(False)
|
|
143
154
|
self.cursor.restore()
|
|
144
|
-
self._terminal.cursor.erase(Portion.LINE)
|
|
145
|
-
self.write(f"{self._prompt_color.placeholder}{self.title}%NC%")
|
|
146
155
|
self.write(self._input_text)
|
|
156
|
+
self._terminal.cursor.erase(Direction.RIGHT)
|
|
147
157
|
self._re_render = False
|
|
148
158
|
self._set_cursor_pos()
|
|
149
159
|
Terminal.set_show_cursor()
|
|
@@ -158,42 +168,32 @@ class KeyboardInput(TUIComponent):
|
|
|
158
168
|
if self._input_index > 0:
|
|
159
169
|
self._input_index = max(0, self._input_index - 1)
|
|
160
170
|
self._update_input(
|
|
161
|
-
self._input_text[: self._input_index] + self._input_text[1 + self._input_index
|
|
171
|
+
self._input_text[: self._input_index] + self._input_text[1 + self._input_index:]
|
|
162
172
|
)
|
|
163
173
|
case Keyboard.VK_DELETE:
|
|
164
174
|
self._update_input(
|
|
165
|
-
self._input_text[: self._input_index] + self._input_text[1 + self._input_index
|
|
175
|
+
self._input_text[: self._input_index] + self._input_text[1 + self._input_index:]
|
|
166
176
|
)
|
|
167
|
-
case Keyboard.VK_CTRL_F:
|
|
177
|
+
case Keyboard.VK_CTRL_F: # Forget history
|
|
168
178
|
self.forget_history()
|
|
169
|
-
case Keyboard.VK_CTRL_P:
|
|
179
|
+
case Keyboard.VK_CTRL_P: # Paste from clipboard
|
|
170
180
|
text = (pyperclip.paste() or '').replace("\n", "↵")
|
|
171
181
|
self._update_input(
|
|
172
|
-
self._input_text[: self._input_index] + text + self._input_text[self._input_index
|
|
182
|
+
self._input_text[: self._input_index] + text + self._input_text[self._input_index:]
|
|
173
183
|
)
|
|
174
184
|
self._input_index += len(text)
|
|
175
|
-
case Keyboard.VK_CTRL_R:
|
|
185
|
+
case Keyboard.VK_CTRL_R: # Reset contents
|
|
176
186
|
self._input_index = 0
|
|
177
187
|
self._update_input("")
|
|
178
|
-
case Keyboard.VK_CTRL_U: # Undo
|
|
179
|
-
undo_text = self._undo()
|
|
180
|
-
self._input_text = undo_text
|
|
181
|
-
self._input_index = self.length
|
|
182
|
-
self._HISTORY[0] = self._input_text
|
|
183
|
-
case Keyboard.VK_CTRL_K: # redo
|
|
184
|
-
redo_text = self._redo()
|
|
185
|
-
self._input_text = redo_text if redo_text else self._input_text
|
|
186
|
-
self._input_index = self.length
|
|
187
|
-
self._HISTORY[0] = self._input_text
|
|
188
188
|
case Keyboard.VK_LEFT:
|
|
189
189
|
self._input_index = max(0, self._input_index - 1)
|
|
190
190
|
case Keyboard.VK_RIGHT:
|
|
191
191
|
self._input_index = min(self.length, self._input_index + 1)
|
|
192
192
|
case Keyboard.VK_UP:
|
|
193
|
-
self._input_text = self.
|
|
193
|
+
self._input_text = self._next_in_history()
|
|
194
194
|
self._input_index = self.length
|
|
195
195
|
case Keyboard.VK_DOWN:
|
|
196
|
-
self._input_text = self.
|
|
196
|
+
self._input_text = self._prev_in_history()
|
|
197
197
|
self._input_index = self.length
|
|
198
198
|
case Keyboard.VK_HOME:
|
|
199
199
|
self._input_index = 0
|
|
@@ -201,7 +201,7 @@ class KeyboardInput(TUIComponent):
|
|
|
201
201
|
self._input_index = self.length
|
|
202
202
|
case _ as key if key.val.isprintable():
|
|
203
203
|
self._update_input(
|
|
204
|
-
self._input_text[: self._input_index] + key.val + self._input_text[self._input_index
|
|
204
|
+
self._input_text[: self._input_index] + key.val + self._input_text[self._input_index:]
|
|
205
205
|
)
|
|
206
206
|
self._input_index += 1
|
|
207
207
|
case _ as key if key in Keyboard.break_keys():
|
|
@@ -22,22 +22,14 @@ from clitt.core.tui.line_input.keyboard_input import KeyboardInput
|
|
|
22
22
|
def line_input(
|
|
23
23
|
prompt: str = "",
|
|
24
24
|
prompt_color: VtColor = VtColor.NC,
|
|
25
|
+
text_color: VtColor = VtColor.NC,
|
|
26
|
+
navbar_enable: bool = False
|
|
25
27
|
) -> Optional[str | Keyboard]:
|
|
26
28
|
"""Read a string from standard input.
|
|
27
29
|
:param prompt: The message to be displayed to the user.
|
|
28
30
|
:param prompt_color: The color of the prompt text.
|
|
31
|
+
:param text_color: The color of the input text.
|
|
32
|
+
:param navbar_enable: Whether to display the navbar or not.
|
|
29
33
|
"""
|
|
30
|
-
ptt = KeyboardInput(prompt, prompt_color)
|
|
34
|
+
ptt = KeyboardInput(prompt, prompt_color, text_color, navbar_enable)
|
|
31
35
|
return ptt.execute()
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if __name__ == "__main__":
|
|
35
|
-
hist = ["Hugo", "Joao", "Koko", "Hugo"]
|
|
36
|
-
KeyboardInput.preload_history(hist)
|
|
37
|
-
print("-=" * 30)
|
|
38
|
-
while (i := line_input("What is it? ")) not in ["bye", ""]:
|
|
39
|
-
if isinstance(i, Keyboard):
|
|
40
|
-
print(i)
|
|
41
|
-
else:
|
|
42
|
-
print("Input:", i)
|
|
43
|
-
print(KeyboardInput.history())
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.117
|
|
4
4
|
#
|
|
5
|
-
# Package: main.
|
|
5
|
+
# Package: main.clitt.core.tui.mchoose
|
|
6
6
|
"""Package initialization."""
|
|
7
7
|
|
|
8
8
|
__all__ = [
|
|
9
9
|
'mchoose',
|
|
10
10
|
'menu_choose'
|
|
11
11
|
]
|
|
12
|
-
__version__ = '0.9.
|
|
12
|
+
__version__ = '0.9.117'
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.117
|
|
4
4
|
#
|
|
5
|
-
# Package: main.
|
|
5
|
+
# Package: main.clitt.core.tui.mdashboard
|
|
6
6
|
"""Package initialization."""
|
|
7
7
|
|
|
8
8
|
__all__ = [
|
|
@@ -11,4 +11,4 @@ __all__ = [
|
|
|
11
11
|
'mdashboard',
|
|
12
12
|
'menu_dashboard'
|
|
13
13
|
]
|
|
14
|
-
__version__ = '0.9.
|
|
14
|
+
__version__ = '0.9.117'
|
clitt/core/tui/menu/__init__.py
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.117
|
|
4
4
|
#
|
|
5
|
-
# Package: main.
|
|
5
|
+
# Package: main.clitt.core.tui.menu
|
|
6
6
|
"""Package initialization."""
|
|
7
7
|
|
|
8
8
|
__all__ = [
|
|
@@ -13,4 +13,4 @@ __all__ = [
|
|
|
13
13
|
'tui_menu_ui',
|
|
14
14
|
'tui_menu_view'
|
|
15
15
|
]
|
|
16
|
-
__version__ = '0.9.
|
|
16
|
+
__version__ = '0.9.117'
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.117
|
|
4
4
|
#
|
|
5
|
-
# Package: main.
|
|
5
|
+
# Package: main.clitt.core.tui.minput
|
|
6
6
|
"""Package initialization."""
|
|
7
7
|
|
|
8
8
|
__all__ = [
|
|
@@ -16,4 +16,4 @@ __all__ = [
|
|
|
16
16
|
'minput',
|
|
17
17
|
'minput_utils'
|
|
18
18
|
]
|
|
19
|
-
__version__ = '0.9.
|
|
19
|
+
__version__ = '0.9.117'
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.117
|
|
4
4
|
#
|
|
5
|
-
# Package: main.
|
|
5
|
+
# Package: main.clitt.core.tui.mselect
|
|
6
6
|
"""Package initialization."""
|
|
7
7
|
|
|
8
8
|
__all__ = [
|
|
9
9
|
'menu_select',
|
|
10
10
|
'mselect'
|
|
11
11
|
]
|
|
12
|
-
__version__ = '0.9.
|
|
12
|
+
__version__ = '0.9.117'
|
clitt/core/tui/table/__init__.py
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.117
|
|
4
4
|
#
|
|
5
|
-
# Package: main.
|
|
5
|
+
# Package: main.clitt.core.tui.table
|
|
6
6
|
"""Package initialization."""
|
|
7
7
|
|
|
8
8
|
__all__ = [
|
|
9
9
|
'table_enums',
|
|
10
10
|
'table_renderer'
|
|
11
11
|
]
|
|
12
|
-
__version__ = '0.9.
|
|
12
|
+
__version__ = '0.9.117'
|