hspylib-clitt 0.9.63__tar.gz → 0.9.65__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.63/hspylib_clitt.egg-info → hspylib-clitt-0.9.65}/PKG-INFO +2 -2
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/README.md +1 -1
- hspylib-clitt-0.9.65/clitt/.version +1 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/__init__.py +2 -2
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/__init__.py +2 -2
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/__init__.py +2 -2
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/__init__.py +2 -2
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/widman/__init__.py +2 -2
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/widman/widgets/__init__.py +2 -2
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/__init__.py +2 -2
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/exception/__init__.py +2 -2
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/icons/__init__.py +2 -2
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/icons/emojis/__init__.py +2 -2
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/icons/font_awesome/__init__.py +2 -2
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/icons/font_awesome/awesome.py +11 -10
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/icons/font_awesome/form_icons.py +2 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/icons/font_awesome/game_icons.py +6 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/preferences.py +6 -6
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/term/__init__.py +2 -2
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/__init__.py +2 -2
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/mchoose/__init__.py +2 -2
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/mdashboard/__init__.py +2 -2
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/menu/__init__.py +2 -2
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/minput/__init__.py +2 -2
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/minput/form_field.py +11 -2
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/minput/input_validator.py +2 -8
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/minput/menu_input.py +4 -1
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/mselect/__init__.py +2 -2
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/table/__init__.py +2 -2
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/tui_preferences.py +1 -2
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/utils/__init__.py +2 -2
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65/hspylib_clitt.egg-info}/PKG-INFO +2 -2
- hspylib-clitt-0.9.65/hspylib_clitt.egg-info/requires.txt +5 -0
- hspylib-clitt-0.9.63/clitt/.version +0 -1
- hspylib-clitt-0.9.63/hspylib_clitt.egg-info/requires.txt +0 -1
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/MANIFEST.in +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/__classpath__.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/__main__.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/appman.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/appman_enums.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/build.gradle.tpl +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/classpath.py.tpl +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/dependencies.hspd.tpl +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/gitignore.tpl +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/main.py.tpl +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/main_qt.py.tpl +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/main_qt_view.py.tpl +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/main_qt_view.ui.tpl +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/run.sh.tpl +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/test_main.py.tpl +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/usage.txt.tpl +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/widget.py.tpl +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/widman/widget.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/widman/widget_entry.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/widman/widgets/widget_free.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/widman/widgets/widget_punch.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/widman/widgets/widget_send_msg.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/widman/widgets/widget_time_calc.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/widman/widman.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/exception/exceptions.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/icons/emojis/emojis.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/icons/emojis/face_smiling.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/icons/font_awesome/app_icons.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/icons/font_awesome/dashboard_icons.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/icons/font_awesome/nav_icons.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/icons/font_awesome/trickplay_icons.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/icons/font_awesome/widget_icons.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/term/commons.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/term/cursor.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/term/screen.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/term/terminal.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/mchoose/mchoose.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/mchoose/menu_choose.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/mdashboard/dashboard_builder.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/mdashboard/dashboard_item.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/mdashboard/mdashboard.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/mdashboard/menu_dashboard.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/menu/tui_menu.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/menu/tui_menu_action.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/menu/tui_menu_factory.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/menu/tui_menu_item.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/menu/tui_menu_ui.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/menu/tui_menu_view.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/minput/access_type.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/minput/field_builder.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/minput/form_builder.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/minput/input_type.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/minput/minput.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/minput/minput_utils.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/mselect/menu_select.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/mselect/mselect.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/table/table_enums.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/table/table_renderer.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/tui_application.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/tui_component.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/utils/git_utils.py +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/welcome.txt +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/hspylib_clitt.egg-info/SOURCES.txt +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/hspylib_clitt.egg-info/dependency_links.txt +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/hspylib_clitt.egg-info/top_level.txt +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/setup.cfg +0 -0
- {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: hspylib-clitt
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.65
|
|
4
4
|
Summary: HsPyLib - CLI Terminal Tools
|
|
5
5
|
Home-page: https://github.com/yorevs/hspylib
|
|
6
6
|
Author: Hugo Saporetti Junior
|
|
@@ -30,7 +30,7 @@ Description-Content-Type: text/markdown
|
|
|
30
30
|
## Create professional CLI applications
|
|
31
31
|
|
|
32
32
|
[](LICENSE.md)
|
|
33
|
-
[](CHANGELOG.md#unreleased)
|
|
34
34
|
[](https://pypi.org/project/hspylib-clitt)
|
|
35
35
|
[](https://github.com/yorevs/hspylib)
|
|
36
36
|
[](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.65
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.65
|
|
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.65'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.65
|
|
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.65'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.65
|
|
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.65'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.65
|
|
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.65'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.65
|
|
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.65'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.65
|
|
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.65'
|
|
@@ -13,12 +13,12 @@
|
|
|
13
13
|
Copyright 2023, HsPyLib team
|
|
14
14
|
"""
|
|
15
15
|
|
|
16
|
-
import re
|
|
17
|
-
import struct
|
|
18
|
-
from typing import Union
|
|
19
|
-
|
|
20
16
|
from hspylib.core.enums.enumeration import Enumeration
|
|
21
17
|
from hspylib.core.tools.commons import sysout
|
|
18
|
+
from typing import Union
|
|
19
|
+
|
|
20
|
+
import re
|
|
21
|
+
import struct
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
class Awesome(Enumeration):
|
|
@@ -31,19 +31,20 @@ class Awesome(Enumeration):
|
|
|
31
31
|
@classmethod
|
|
32
32
|
def no_icon(cls) -> "Awesome":
|
|
33
33
|
"""No awesome icon specified."""
|
|
34
|
+
|
|
34
35
|
def _str(self) -> str:
|
|
35
|
-
return
|
|
36
|
+
return " "
|
|
36
37
|
|
|
37
38
|
def _len(self) -> int:
|
|
38
39
|
return 1
|
|
39
40
|
|
|
40
41
|
def _fmt(self, fmt) -> str:
|
|
41
|
-
return
|
|
42
|
+
return " "
|
|
42
43
|
|
|
43
|
-
no_icon_cls = type(
|
|
44
|
-
setattr(no_icon_cls,
|
|
45
|
-
setattr(no_icon_cls,
|
|
46
|
-
setattr(no_icon_cls,
|
|
44
|
+
no_icon_cls = type("NoIcon", (object,), {"name": "NO_ICON", "value": ""})
|
|
45
|
+
setattr(no_icon_cls, "__str__", _str)
|
|
46
|
+
setattr(no_icon_cls, "__len__", _len)
|
|
47
|
+
setattr(no_icon_cls, "__format__", _fmt)
|
|
47
48
|
return no_icon_cls()
|
|
48
49
|
|
|
49
50
|
@staticmethod
|
|
@@ -12,14 +12,14 @@
|
|
|
12
12
|
|
|
13
13
|
Copyright 2023, HsPyLib team
|
|
14
14
|
"""
|
|
15
|
-
import os
|
|
16
15
|
from enum import Enum
|
|
17
|
-
from typing import Any
|
|
18
|
-
|
|
19
16
|
from hspylib.core.metaclass.singleton import AbstractSingleton
|
|
20
17
|
from hspylib.core.preconditions import check_argument, check_not_none
|
|
21
18
|
from hspylib.core.tools.dict_tools import get_or_default_by_key
|
|
22
19
|
from hspylib.core.tools.text_tools import ensure_startswith, environ_name
|
|
20
|
+
from typing import Any
|
|
21
|
+
|
|
22
|
+
import os
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
class Preferences(metaclass=AbstractSingleton):
|
|
@@ -43,11 +43,11 @@ class Preferences(metaclass=AbstractSingleton):
|
|
|
43
43
|
return str(self)
|
|
44
44
|
|
|
45
45
|
def __getitem__(self, name: str):
|
|
46
|
-
attr_name = name.replace(self._prefix +
|
|
46
|
+
attr_name = name.replace(self._prefix + ".", "").replace(".", "_")
|
|
47
47
|
return getattr(self, attr_name)
|
|
48
48
|
|
|
49
49
|
def __setitem__(self, name: str, value: Any):
|
|
50
|
-
attr_name = name.replace(self._prefix +
|
|
50
|
+
attr_name = name.replace(self._prefix + ".", "").replace(".", "_")
|
|
51
51
|
curr_val = getattr(self, attr_name)
|
|
52
52
|
t1, t2 = type(curr_val), type(value)
|
|
53
53
|
check_not_none(curr_val, f"Preference {name} does not exist")
|
|
@@ -82,4 +82,4 @@ class Preferences(metaclass=AbstractSingleton):
|
|
|
82
82
|
"""TODO
|
|
83
83
|
:param name: TODO
|
|
84
84
|
"""
|
|
85
|
-
return ensure_startswith(name, self._prefix +
|
|
85
|
+
return ensure_startswith(name, self._prefix + ".")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.65
|
|
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.65'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.65
|
|
4
4
|
#
|
|
5
5
|
# Package: main.clitt.core.tui
|
|
6
6
|
"""Package initialization."""
|
|
@@ -16,4 +16,4 @@ __all__ = [
|
|
|
16
16
|
'tui_component',
|
|
17
17
|
'tui_preferences'
|
|
18
18
|
]
|
|
19
|
-
__version__ = '0.9.
|
|
19
|
+
__version__ = '0.9.65'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.65
|
|
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.65'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.65
|
|
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.65'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.65
|
|
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.65'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.65
|
|
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.65'
|
|
@@ -18,6 +18,7 @@ from clitt.core.tui.minput.input_type import InputType
|
|
|
18
18
|
from clitt.core.tui.minput.input_validator import InputValidator
|
|
19
19
|
from clitt.core.tui.minput.minput_utils import get_selected, MASK_SYMBOLS, toggle_selected, unpack_masked
|
|
20
20
|
from hspylib.core.exception.exceptions import InvalidInputError
|
|
21
|
+
from hspylib.core.tools.text_tools import xstr
|
|
21
22
|
from typing import Any, Callable, Optional, TypeVar
|
|
22
23
|
|
|
23
24
|
FIELD_VALIDATOR_FNC = TypeVar("FIELD_VALIDATOR_FNC", bound=Callable[["FormField"], bool])
|
|
@@ -37,8 +38,10 @@ class FormField:
|
|
|
37
38
|
value: Any = "",
|
|
38
39
|
input_validator: InputValidator = InputValidator.anything(),
|
|
39
40
|
field_validator: FIELD_VALIDATOR_FNC = None,
|
|
41
|
+
tooltip: str = None,
|
|
40
42
|
):
|
|
41
43
|
self._label = label
|
|
44
|
+
self._tooltip = tooltip
|
|
42
45
|
self._dest = dest
|
|
43
46
|
self._itype = itype
|
|
44
47
|
self._min_length = min_length
|
|
@@ -61,6 +64,10 @@ class FormField:
|
|
|
61
64
|
def label(self) -> str:
|
|
62
65
|
return self._label
|
|
63
66
|
|
|
67
|
+
@property
|
|
68
|
+
def tooltip(self) -> str:
|
|
69
|
+
return self._tooltip
|
|
70
|
+
|
|
64
71
|
@property
|
|
65
72
|
def dest(self) -> str:
|
|
66
73
|
return self._dest
|
|
@@ -126,7 +133,9 @@ class FormField:
|
|
|
126
133
|
elif self.input_validator.pattern_type == InputValidator.PatternType.LETTERS:
|
|
127
134
|
icon = FormIcons.LETTERS
|
|
128
135
|
elif self.input_validator.pattern_type == InputValidator.PatternType.WORDS:
|
|
129
|
-
icon = FormIcons.
|
|
136
|
+
icon = FormIcons.WORDS
|
|
137
|
+
elif self.input_validator.pattern_type == InputValidator.PatternType.CUSTOM:
|
|
138
|
+
icon = FormIcons.CUSTOM
|
|
130
139
|
else:
|
|
131
140
|
icon = FormIcons.EDITABLE
|
|
132
141
|
case _:
|
|
@@ -151,7 +160,7 @@ class FormField:
|
|
|
151
160
|
case InputType.CHECKBOX:
|
|
152
161
|
valid = isinstance(value, bool)
|
|
153
162
|
case _:
|
|
154
|
-
valid = all(self.validate_input(val) for val in
|
|
163
|
+
valid = all(self.validate_input(val) for val in xstr(value))
|
|
155
164
|
|
|
156
165
|
if not valid:
|
|
157
166
|
raise InvalidInputError(f"Value {value} is invalid!")
|
|
@@ -24,13 +24,12 @@ class InputValidator(Validator):
|
|
|
24
24
|
|
|
25
25
|
class PatternType(Enumeration):
|
|
26
26
|
# fmt: off
|
|
27
|
-
CUSTOM = r'
|
|
27
|
+
CUSTOM = r'' # It will be set later
|
|
28
28
|
ANYTHING = r'.'
|
|
29
29
|
LETTERS = r'[a-zA-Z]'
|
|
30
30
|
WORDS = r'[a-zA-Z0-9 _]'
|
|
31
31
|
NUMBERS = r'[0-9\.\,]'
|
|
32
|
-
|
|
33
|
-
MASKED = r'.'
|
|
32
|
+
MASKED = r'[a-zA-Z0-9]'
|
|
34
33
|
# fmt: on
|
|
35
34
|
|
|
36
35
|
@classmethod
|
|
@@ -63,11 +62,6 @@ class InputValidator(Validator):
|
|
|
63
62
|
"""Return a validator that allows any input value."""
|
|
64
63
|
return InputValidator(cls.PatternType.ANYTHING)
|
|
65
64
|
|
|
66
|
-
@classmethod
|
|
67
|
-
def binary(cls) -> "InputValidator":
|
|
68
|
-
"""Return a validator that allows only zero or ones."""
|
|
69
|
-
return InputValidator(cls.PatternType.BINARY)
|
|
70
|
-
|
|
71
65
|
@classmethod
|
|
72
66
|
def masked(cls) -> "InputValidator":
|
|
73
67
|
"""Return a validator that allows masked inputs."""
|
|
@@ -16,6 +16,7 @@ from clitt.core.icons.font_awesome.form_icons import FormIcons
|
|
|
16
16
|
from clitt.core.icons.font_awesome.nav_icons import NavIcons
|
|
17
17
|
from clitt.core.term.commons import get_cursor_position
|
|
18
18
|
from clitt.core.term.cursor import Cursor
|
|
19
|
+
from clitt.core.term.screen import Screen
|
|
19
20
|
from clitt.core.term.terminal import Terminal
|
|
20
21
|
from clitt.core.tui.minput import minput_utils as mu
|
|
21
22
|
from clitt.core.tui.minput.form_builder import FormBuilder
|
|
@@ -88,6 +89,7 @@ class MenuInput(TUIComponent):
|
|
|
88
89
|
self._render_field(field)
|
|
89
90
|
self._render_details(field, field_length)
|
|
90
91
|
|
|
92
|
+
self.cursor.erase(Cursor.Direction.DOWN)
|
|
91
93
|
self.draw_navbar(self.navbar())
|
|
92
94
|
self._re_render = False
|
|
93
95
|
self._set_cursor_pos()
|
|
@@ -95,7 +97,8 @@ class MenuInput(TUIComponent):
|
|
|
95
97
|
|
|
96
98
|
def navbar(self, **kwargs) -> str:
|
|
97
99
|
return (
|
|
98
|
-
f"
|
|
100
|
+
f"%EOL%{NavIcons.POINTER} %GREEN%{self.cur_field.tooltip or f'the {self.cur_field.label.lower()}'}%NC%"
|
|
101
|
+
f"%EOL%{self.prefs.navbar_color.placeholder}%EOL%"
|
|
99
102
|
f"[Enter] Submit [{self.NAV_ICONS}] "
|
|
100
103
|
f"Navigate [{NavIcons.TAB}] Next [Space] Toggle [^P] Paste [Esc] Quit %NC%"
|
|
101
104
|
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.65
|
|
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.65'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# _*_ coding: utf-8 _*_
|
|
2
2
|
#
|
|
3
|
-
# hspylib-clitt v0.9.
|
|
3
|
+
# hspylib-clitt v0.9.65
|
|
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.65'
|
|
@@ -13,11 +13,10 @@
|
|
|
13
13
|
Copyright 2023, HsPyLib team
|
|
14
14
|
"""
|
|
15
15
|
|
|
16
|
-
from hspylib.modules.cli.vt100.vt_color import VtColor
|
|
17
|
-
|
|
18
16
|
from clitt.core.icons.font_awesome.form_icons import FormIcons
|
|
19
17
|
from clitt.core.icons.font_awesome.nav_icons import Awesome, NavIcons
|
|
20
18
|
from clitt.core.preferences import Preferences
|
|
19
|
+
from hspylib.modules.cli.vt100.vt_color import VtColor
|
|
21
20
|
|
|
22
21
|
|
|
23
22
|
class TUIPreferences(Preferences):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: hspylib-clitt
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.65
|
|
4
4
|
Summary: HsPyLib - CLI Terminal Tools
|
|
5
5
|
Home-page: https://github.com/yorevs/hspylib
|
|
6
6
|
Author: Hugo Saporetti Junior
|
|
@@ -30,7 +30,7 @@ Description-Content-Type: text/markdown
|
|
|
30
30
|
## Create professional CLI applications
|
|
31
31
|
|
|
32
32
|
[](LICENSE.md)
|
|
33
|
-
[](CHANGELOG.md#unreleased)
|
|
34
34
|
[](https://pypi.org/project/hspylib-clitt)
|
|
35
35
|
[](https://github.com/yorevs/hspylib)
|
|
36
36
|
[](https://gitter.im/hspylib/community)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0.9.63
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
hspylib
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/build.gradle.tpl
RENAMED
|
File without changes
|
{hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/classpath.py.tpl
RENAMED
|
File without changes
|
{hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/dependencies.hspd.tpl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/main_qt_view.py.tpl
RENAMED
|
File without changes
|
{hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/main_qt_view.ui.tpl
RENAMED
|
File without changes
|
|
File without changes
|
{hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/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.63 → hspylib-clitt-0.9.65}/clitt/addons/widman/widgets/widget_send_msg.py
RENAMED
|
File without changes
|
{hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/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.63 → hspylib-clitt-0.9.65}/clitt/core/icons/font_awesome/dashboard_icons.py
RENAMED
|
File without changes
|
|
File without changes
|
{hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/icons/font_awesome/trickplay_icons.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
|
{hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/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
|
|
File without changes
|