hspylib-clitt 0.9.117__tar.gz → 0.9.119__tar.gz
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.
- hspylib-clitt-0.9.119/LICENSE.md +16 -0
- {hspylib-clitt-0.9.117/hspylib_clitt.egg-info → hspylib-clitt-0.9.119}/PKG-INFO +2 -2
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/README.md +1 -1
- hspylib-clitt-0.9.119/__init__.py +11 -0
- hspylib-clitt-0.9.119/clitt/.version +1 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/__init__.py +2 -2
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/__init__.py +2 -2
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/appman/__init__.py +2 -2
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/appman/templates/__init__.py +2 -2
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/widman/__init__.py +2 -2
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/widman/widgets/__init__.py +2 -2
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/__init__.py +2 -2
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/exception/__init__.py +2 -2
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/exception/exceptions.py +1 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/icons/__init__.py +2 -2
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/icons/emojis/__init__.py +2 -2
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/icons/font_awesome/__init__.py +2 -2
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/term/__init__.py +2 -2
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/term/commons.py +40 -16
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/term/cursor.py +18 -3
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/term/screen.py +15 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/term/terminal.py +15 -16
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/__init__.py +2 -2
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/line_input/__init__.py +2 -2
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/line_input/keyboard_input.py +15 -14
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/line_input/line_input.py +2 -6
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/mchoose/__init__.py +2 -2
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/mchoose/mchoose.py +2 -3
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/mchoose/menu_choose.py +6 -14
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/mdashboard/__init__.py +2 -2
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/mdashboard/menu_dashboard.py +2 -8
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/menu/__init__.py +2 -2
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/minput/__init__.py +2 -2
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/mselect/__init__.py +2 -2
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/mselect/menu_select.py +2 -3
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/table/__init__.py +2 -2
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/tui_application.py +4 -5
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/tui_component.py +4 -5
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/utils/__init__.py +2 -2
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119/hspylib_clitt.egg-info}/PKG-INFO +2 -2
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/hspylib_clitt.egg-info/SOURCES.txt +2 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/hspylib_clitt.egg-info/top_level.txt +1 -0
- hspylib-clitt-0.9.117/clitt/.version +0 -1
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/MANIFEST.in +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/__classpath__.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/__main__.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/appman/appman.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/appman/appman_enums.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/appman/templates/build.gradle.tpl +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/appman/templates/classpath.py.tpl +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/appman/templates/dependencies.hspd.tpl +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/appman/templates/gitignore.tpl +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/appman/templates/main.py.tpl +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/appman/templates/main_qt.py.tpl +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/appman/templates/main_qt_view.py.tpl +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/appman/templates/main_qt_view.ui.tpl +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/appman/templates/run.sh.tpl +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/appman/templates/test_main.py.tpl +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/appman/templates/usage.txt.tpl +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/appman/templates/widget.py.tpl +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/widman/widget.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/widman/widget_entry.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/widman/widgets/widget_free.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/widman/widgets/widget_punch.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/widman/widgets/widget_send_msg.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/widman/widgets/widget_time_calc.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/widman/widman.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/icons/emojis/emojis.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/icons/emojis/face_smiling.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/icons/font_awesome/app_icons.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/icons/font_awesome/awesome.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/icons/font_awesome/dashboard_icons.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/icons/font_awesome/form_icons.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/icons/font_awesome/game_icons.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/icons/font_awesome/nav_icons.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/icons/font_awesome/trickplay_icons.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/icons/font_awesome/widget_icons.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/preferences.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/mdashboard/dashboard_builder.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/mdashboard/dashboard_item.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/mdashboard/mdashboard.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/menu/tui_menu.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/menu/tui_menu_action.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/menu/tui_menu_factory.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/menu/tui_menu_item.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/menu/tui_menu_ui.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/menu/tui_menu_view.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/minput/access_type.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/minput/field_builder.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/minput/form_builder.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/minput/form_field.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/minput/input_type.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/minput/input_validator.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/minput/menu_input.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/minput/minput.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/minput/minput_utils.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/mselect/mselect.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/table/table_enums.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/table/table_renderer.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/tui_preferences.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/utils/git_utils.py +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/welcome.txt +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/hspylib_clitt.egg-info/dependency_links.txt +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/hspylib_clitt.egg-info/requires.txt +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/setup.cfg +0 -0
- {hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/setup.py +0 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
_Copyright (c) 2022 Hugo Saporetti Junior_
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
|
6
|
+
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
|
|
7
|
+
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
|
|
8
|
+
persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
9
|
+
|
|
10
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
|
|
11
|
+
Software.
|
|
12
|
+
|
|
13
|
+
**THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
|
14
|
+
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
15
|
+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
|
16
|
+
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: hspylib-clitt
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.119
|
|
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.md)
|
|
38
|
-
[](CHANGELOG.md#unreleased)
|
|
39
39
|
[](https://pypi.org/project/hspylib-clitt)
|
|
40
40
|
[](https://github.com/yorevs/hspylib)
|
|
41
41
|
[](https://gitter.im/hspylib/community)
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
## Create professional CLI applications
|
|
4
4
|
|
|
5
5
|
[](LICENSE.md)
|
|
6
|
-
[](CHANGELOG.md#unreleased)
|
|
7
7
|
[](https://pypi.org/project/hspylib-clitt)
|
|
8
8
|
[](https://github.com/yorevs/hspylib)
|
|
9
9
|
[](https://gitter.im/hspylib/community)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.9.119
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.119
|
|
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.
|
|
12
|
+
__version__ = '0.9.119'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.119
|
|
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.
|
|
13
|
+
__version__ = '0.9.119'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.119
|
|
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.
|
|
14
|
+
__version__ = '0.9.119'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.119
|
|
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.
|
|
14
|
+
__version__ = '0.9.119'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.119
|
|
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.
|
|
15
|
+
__version__ = '0.9.119'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.119
|
|
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.
|
|
11
|
+
__version__ = '0.9.119'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.119
|
|
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.
|
|
12
|
+
__version__ = '0.9.119'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.119
|
|
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.
|
|
12
|
+
__version__ = '0.9.119'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.119
|
|
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.
|
|
18
|
+
__version__ = '0.9.119'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.119
|
|
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.
|
|
14
|
+
__version__ = '0.9.119'
|
|
@@ -1,15 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
+
"""
|
|
7
15
|
|
|
8
|
-
import logging as log
|
|
9
16
|
import re
|
|
10
17
|
import sys
|
|
11
18
|
import termios
|
|
12
19
|
import tty
|
|
20
|
+
from shutil import get_terminal_size
|
|
21
|
+
from typing import Callable, Tuple, TypeAlias, Union
|
|
22
|
+
|
|
23
|
+
from hspylib.core.enums.enumeration import Enumeration
|
|
24
|
+
from hspylib.core.tools.commons import is_debugging
|
|
25
|
+
from hspylib.modules.cli.vt100.vt_100 import Vt100
|
|
13
26
|
|
|
14
27
|
# fmt: off
|
|
15
28
|
Dimension : TypeAlias = Tuple[int, int]
|
|
@@ -20,6 +33,14 @@ EraseDirection : TypeAlias = Union["Direction", "Portion"]
|
|
|
20
33
|
# fmt: on
|
|
21
34
|
|
|
22
35
|
|
|
36
|
+
def is_a_tty() -> bool:
|
|
37
|
+
"""Checks whether we are under a tty environment."""
|
|
38
|
+
try:
|
|
39
|
+
return sys.stdout.isatty() and sys.stdin.isatty()
|
|
40
|
+
except ValueError:
|
|
41
|
+
return sys.stdout.isatty()
|
|
42
|
+
|
|
43
|
+
|
|
23
44
|
class Direction(Enumeration):
|
|
24
45
|
"""Provide a base class for the cursor direction."""
|
|
25
46
|
|
|
@@ -44,8 +65,7 @@ def get_dimensions(fallback: Tuple[int, int] = (24, 80)) -> Tuple[int, int]:
|
|
|
44
65
|
"""Retrieve the size of the terminal.
|
|
45
66
|
:return lines, columns
|
|
46
67
|
"""
|
|
47
|
-
if not
|
|
48
|
-
log.warning(NotATerminalError("get_dimensions:: Requires a terminal (TTY)"))
|
|
68
|
+
if not is_a_tty():
|
|
49
69
|
return fallback
|
|
50
70
|
dim = get_terminal_size((fallback[1], fallback[0]))
|
|
51
71
|
return dim.lines, dim.columns
|
|
@@ -55,19 +75,20 @@ 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
|
|
78
|
+
pos = fallback
|
|
59
79
|
|
|
60
|
-
if
|
|
61
|
-
log.warning(NotATerminalError("get_cursor_position:: Requires a terminal (TTY)"))
|
|
80
|
+
if is_debugging():
|
|
62
81
|
return pos
|
|
63
82
|
|
|
64
|
-
if
|
|
83
|
+
if not is_a_tty():
|
|
65
84
|
return pos
|
|
66
85
|
|
|
67
|
-
|
|
68
|
-
attrs =
|
|
86
|
+
buf, re_query_resp = "", r"^\x1b\[(\d*);(\d*)R"
|
|
87
|
+
stdin, attrs = None, None
|
|
69
88
|
|
|
70
89
|
try:
|
|
90
|
+
stdin = sys.stdin.fileno() # Get the stdin file descriptor.
|
|
91
|
+
attrs = termios.tcgetattr(stdin) # Save terminal attributes.
|
|
71
92
|
tty.setcbreak(stdin, termios.TCSANOW)
|
|
72
93
|
sys.stdout.write(Vt100.get_cursor_pos())
|
|
73
94
|
sys.stdout.flush()
|
|
@@ -76,7 +97,10 @@ def get_cursor_position(fallback: Tuple[int, int] = (0, 0)) -> Tuple[int, int]:
|
|
|
76
97
|
if matches := re.match(re_query_resp, buf): # If the response is 'Esc[r;cR'
|
|
77
98
|
groups = matches.groups()
|
|
78
99
|
pos = int(groups[0]), int(groups[1])
|
|
100
|
+
except termios.error:
|
|
101
|
+
pass
|
|
79
102
|
finally:
|
|
80
|
-
|
|
103
|
+
if stdin and attrs:
|
|
104
|
+
termios.tcsetattr(stdin, termios.TCSANOW, attrs) # Reset terminal attributes
|
|
81
105
|
|
|
82
106
|
return pos
|
|
@@ -1,4 +1,19 @@
|
|
|
1
|
-
|
|
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
|
-
|
|
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
|
)
|
|
@@ -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
|
|
16
|
-
|
|
17
|
-
import
|
|
18
|
-
import
|
|
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
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
|
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
|
|
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.
|
|
3
|
+
# hspylib-clitt v0.9.119
|
|
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.
|
|
20
|
+
__version__ = '0.9.119'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.119
|
|
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.
|
|
12
|
+
__version__ = '0.9.119'
|
|
@@ -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
|
-
|
|
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,
|
|
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
|
|
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.
|
|
3
|
+
# hspylib-clitt v0.9.119
|
|
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.
|
|
12
|
+
__version__ = '0.9.119'
|
|
@@ -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.
|
|
3
|
+
# hspylib-clitt v0.9.119
|
|
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.
|
|
14
|
+
__version__ = '0.9.119'
|
|
@@ -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.
|
|
3
|
+
# hspylib-clitt v0.9.119
|
|
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.
|
|
16
|
+
__version__ = '0.9.119'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.119
|
|
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.
|
|
19
|
+
__version__ = '0.9.119'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.119
|
|
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.
|
|
12
|
+
__version__ = '0.9.119'
|
|
@@ -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.
|
|
3
|
+
# hspylib-clitt v0.9.119
|
|
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.
|
|
12
|
+
__version__ = '0.9.119'
|
|
@@ -12,17 +12,16 @@
|
|
|
12
12
|
|
|
13
13
|
Copyright·(c)·2024,·HSPyLib
|
|
14
14
|
"""
|
|
15
|
-
import
|
|
16
|
-
import
|
|
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
|
-
|
|
25
|
-
|
|
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(
|
|
92
|
+
self.cursor.writeln("\n")
|
|
94
93
|
|
|
95
94
|
return keypress
|
|
96
95
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: hspylib-clitt
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.119
|
|
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.md)
|
|
38
|
-
[](CHANGELOG.md#unreleased)
|
|
39
39
|
[](https://pypi.org/project/hspylib-clitt)
|
|
40
40
|
[](https://github.com/yorevs/hspylib)
|
|
41
41
|
[](https://gitter.im/hspylib/community)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0.9.117
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/appman/templates/build.gradle.tpl
RENAMED
|
File without changes
|
{hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/appman/templates/classpath.py.tpl
RENAMED
|
File without changes
|
{hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/appman/templates/dependencies.hspd.tpl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/appman/templates/main_qt.py.tpl
RENAMED
|
File without changes
|
{hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/appman/templates/main_qt_view.py.tpl
RENAMED
|
File without changes
|
{hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/appman/templates/main_qt_view.ui.tpl
RENAMED
|
File without changes
|
|
File without changes
|
{hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/appman/templates/test_main.py.tpl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/widman/widgets/widget_send_msg.py
RENAMED
|
File without changes
|
{hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/addons/widman/widgets/widget_time_calc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/icons/font_awesome/dashboard_icons.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/icons/font_awesome/trickplay_icons.py
RENAMED
|
File without changes
|
{hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/icons/font_awesome/widget_icons.py
RENAMED
|
File without changes
|
|
File without changes
|
{hspylib-clitt-0.9.117 → hspylib-clitt-0.9.119}/clitt/core/tui/mdashboard/dashboard_builder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|