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.

Files changed (102) hide show
  1. {hspylib-clitt-0.9.63/hspylib_clitt.egg-info → hspylib-clitt-0.9.65}/PKG-INFO +2 -2
  2. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/README.md +1 -1
  3. hspylib-clitt-0.9.65/clitt/.version +1 -0
  4. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/__init__.py +2 -2
  5. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/__init__.py +2 -2
  6. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/__init__.py +2 -2
  7. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/__init__.py +2 -2
  8. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/widman/__init__.py +2 -2
  9. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/widman/widgets/__init__.py +2 -2
  10. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/__init__.py +2 -2
  11. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/exception/__init__.py +2 -2
  12. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/icons/__init__.py +2 -2
  13. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/icons/emojis/__init__.py +2 -2
  14. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/icons/font_awesome/__init__.py +2 -2
  15. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/icons/font_awesome/awesome.py +11 -10
  16. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/icons/font_awesome/form_icons.py +2 -0
  17. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/icons/font_awesome/game_icons.py +6 -0
  18. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/preferences.py +6 -6
  19. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/term/__init__.py +2 -2
  20. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/__init__.py +2 -2
  21. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/mchoose/__init__.py +2 -2
  22. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/mdashboard/__init__.py +2 -2
  23. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/menu/__init__.py +2 -2
  24. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/minput/__init__.py +2 -2
  25. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/minput/form_field.py +11 -2
  26. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/minput/input_validator.py +2 -8
  27. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/minput/menu_input.py +4 -1
  28. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/mselect/__init__.py +2 -2
  29. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/table/__init__.py +2 -2
  30. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/tui_preferences.py +1 -2
  31. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/utils/__init__.py +2 -2
  32. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65/hspylib_clitt.egg-info}/PKG-INFO +2 -2
  33. hspylib-clitt-0.9.65/hspylib_clitt.egg-info/requires.txt +5 -0
  34. hspylib-clitt-0.9.63/clitt/.version +0 -1
  35. hspylib-clitt-0.9.63/hspylib_clitt.egg-info/requires.txt +0 -1
  36. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/MANIFEST.in +0 -0
  37. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/__classpath__.py +0 -0
  38. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/__main__.py +0 -0
  39. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/appman.py +0 -0
  40. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/appman_enums.py +0 -0
  41. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/build.gradle.tpl +0 -0
  42. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/classpath.py.tpl +0 -0
  43. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/dependencies.hspd.tpl +0 -0
  44. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/gitignore.tpl +0 -0
  45. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/main.py.tpl +0 -0
  46. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/main_qt.py.tpl +0 -0
  47. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/main_qt_view.py.tpl +0 -0
  48. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/main_qt_view.ui.tpl +0 -0
  49. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/run.sh.tpl +0 -0
  50. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/test_main.py.tpl +0 -0
  51. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/usage.txt.tpl +0 -0
  52. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/appman/templates/widget.py.tpl +0 -0
  53. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/widman/widget.py +0 -0
  54. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/widman/widget_entry.py +0 -0
  55. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/widman/widgets/widget_free.py +0 -0
  56. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/widman/widgets/widget_punch.py +0 -0
  57. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/widman/widgets/widget_send_msg.py +0 -0
  58. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/widman/widgets/widget_time_calc.py +0 -0
  59. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/addons/widman/widman.py +0 -0
  60. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/exception/exceptions.py +0 -0
  61. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/icons/emojis/emojis.py +0 -0
  62. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/icons/emojis/face_smiling.py +0 -0
  63. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/icons/font_awesome/app_icons.py +0 -0
  64. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/icons/font_awesome/dashboard_icons.py +0 -0
  65. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/icons/font_awesome/nav_icons.py +0 -0
  66. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/icons/font_awesome/trickplay_icons.py +0 -0
  67. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/icons/font_awesome/widget_icons.py +0 -0
  68. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/term/commons.py +0 -0
  69. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/term/cursor.py +0 -0
  70. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/term/screen.py +0 -0
  71. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/term/terminal.py +0 -0
  72. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/mchoose/mchoose.py +0 -0
  73. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/mchoose/menu_choose.py +0 -0
  74. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/mdashboard/dashboard_builder.py +0 -0
  75. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/mdashboard/dashboard_item.py +0 -0
  76. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/mdashboard/mdashboard.py +0 -0
  77. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/mdashboard/menu_dashboard.py +0 -0
  78. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/menu/tui_menu.py +0 -0
  79. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/menu/tui_menu_action.py +0 -0
  80. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/menu/tui_menu_factory.py +0 -0
  81. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/menu/tui_menu_item.py +0 -0
  82. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/menu/tui_menu_ui.py +0 -0
  83. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/menu/tui_menu_view.py +0 -0
  84. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/minput/access_type.py +0 -0
  85. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/minput/field_builder.py +0 -0
  86. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/minput/form_builder.py +0 -0
  87. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/minput/input_type.py +0 -0
  88. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/minput/minput.py +0 -0
  89. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/minput/minput_utils.py +0 -0
  90. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/mselect/menu_select.py +0 -0
  91. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/mselect/mselect.py +0 -0
  92. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/table/table_enums.py +0 -0
  93. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/table/table_renderer.py +0 -0
  94. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/tui_application.py +0 -0
  95. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/core/tui/tui_component.py +0 -0
  96. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/utils/git_utils.py +0 -0
  97. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/clitt/welcome.txt +0 -0
  98. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/hspylib_clitt.egg-info/SOURCES.txt +0 -0
  99. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/hspylib_clitt.egg-info/dependency_links.txt +0 -0
  100. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/hspylib_clitt.egg-info/top_level.txt +0 -0
  101. {hspylib-clitt-0.9.63 → hspylib-clitt-0.9.65}/setup.cfg +0 -0
  102. {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.63
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](https://badgen.net/badge/license/MIT/gray)](LICENSE.md)
33
- [![Release](https://badgen.net/badge/release/v0.9.63/gray)](CHANGELOG.md#unreleased)
33
+ [![Release](https://badgen.net/badge/release/v0.9.65/gray)](CHANGELOG.md#unreleased)
34
34
  [![PyPi](https://badgen.net/badge/icon/python?icon=pypi&label)](https://pypi.org/project/hspylib-clitt)
35
35
  [![GitHub](https://badgen.net/badge/icon/github?icon=github&label)](https://github.com/yorevs/hspylib)
36
36
  [![Gitter](https://badgen.net/badge/icon/gitter?icon=gitter&label)](https://gitter.im/hspylib/community)
@@ -3,7 +3,7 @@
3
3
  ## Create professional CLI applications
4
4
 
5
5
  [![License](https://badgen.net/badge/license/MIT/gray)](LICENSE.md)
6
- [![Release](https://badgen.net/badge/release/v0.9.63/gray)](CHANGELOG.md#unreleased)
6
+ [![Release](https://badgen.net/badge/release/v0.9.65/gray)](CHANGELOG.md#unreleased)
7
7
  [![PyPi](https://badgen.net/badge/icon/python?icon=pypi&label)](https://pypi.org/project/hspylib-clitt)
8
8
  [![GitHub](https://badgen.net/badge/icon/github?icon=github&label)](https://github.com/yorevs/hspylib)
9
9
  [![Gitter](https://badgen.net/badge/icon/gitter?icon=gitter&label)](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.63
3
+ # hspylib-clitt v0.9.65
4
4
  #
5
5
  # Package: main.clitt
6
6
  """Package initialization."""
@@ -10,4 +10,4 @@ __all__ = [
10
10
  'core',
11
11
  'utils'
12
12
  ]
13
- __version__ = '0.9.63'
13
+ __version__ = '0.9.65'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.63
3
+ # hspylib-clitt v0.9.65
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.63'
12
+ __version__ = '0.9.65'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.63
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.63'
13
+ __version__ = '0.9.65'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.63
3
+ # hspylib-clitt v0.9.65
4
4
  #
5
5
  # Package: main.clitt.addons.appman.templates
6
6
  """Package initialization."""
@@ -8,4 +8,4 @@
8
8
  __all__ = [
9
9
 
10
10
  ]
11
- __version__ = '0.9.63'
11
+ __version__ = '0.9.65'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.63
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.63'
14
+ __version__ = '0.9.65'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.63
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.63'
14
+ __version__ = '0.9.65'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.63
3
+ # hspylib-clitt v0.9.65
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.63'
15
+ __version__ = '0.9.65'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.63
3
+ # hspylib-clitt v0.9.65
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.63'
11
+ __version__ = '0.9.65'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.63
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.63'
12
+ __version__ = '0.9.65'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.63
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.63'
12
+ __version__ = '0.9.65'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.63
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.63'
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('NoIcon', (object,), {'name': 'NO_ICON', 'value': ''})
44
- setattr(no_icon_cls, '__str__', _str)
45
- setattr(no_icon_cls, '__len__', _len)
46
- setattr(no_icon_cls, '__format__', _fmt)
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
@@ -64,4 +64,6 @@ class FormIcons(Awesome):
64
64
  MINUS = '\uF068' # 
65
65
  NUMBERS = '\uF162' # 
66
66
  LETTERS = '\uF15D' # 
67
+ WORDS = '\uF161' # 
68
+ CUSTOM = '\uF45E' # 
67
69
  # fmt: on
@@ -50,4 +50,10 @@ class GameIcons(Awesome):
50
50
  HOT = '\uF490' # 
51
51
  DAY = '\uFAA7' # 盛
52
52
  NIGHT = '\uFA93' # 望
53
+ TREE = '\uF904' # 滑
54
+ KEY = '\uF80A' # 
55
+ OLD_KEY = '\uF084' # 
56
+ SLEEP = '\uF9B1' # 鈴
57
+ LUCK = '\uFD14' # ﴔ
58
+ ANIMAL = '\uF8E8' # 
53
59
  # fmt: on
@@ -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 + '.', '').replace(".", "_")
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 + '.', '').replace(".", "_")
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.63
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.63'
14
+ __version__ = '0.9.65'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.63
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.63'
19
+ __version__ = '0.9.65'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.63
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.63'
12
+ __version__ = '0.9.65'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.63
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.63'
14
+ __version__ = '0.9.65'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.63
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.63'
16
+ __version__ = '0.9.65'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.63
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.63'
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.EDITABLE
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 str(value))
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'.' # It will be set later
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
- BINARY = r'[01]'
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"\n{self.prefs.navbar_color.placeholder}"
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.63
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.63'
12
+ __version__ = '0.9.65'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.63
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.63'
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
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.63
3
+ # hspylib-clitt v0.9.65
4
4
  #
5
5
  # Package: main.clitt.utils
6
6
  """Package initialization."""
@@ -8,4 +8,4 @@
8
8
  __all__ = [
9
9
  'git_utils'
10
10
  ]
11
- __version__ = '0.9.63'
11
+ __version__ = '0.9.65'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hspylib-clitt
3
- Version: 0.9.63
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](https://badgen.net/badge/license/MIT/gray)](LICENSE.md)
33
- [![Release](https://badgen.net/badge/release/v0.9.63/gray)](CHANGELOG.md#unreleased)
33
+ [![Release](https://badgen.net/badge/release/v0.9.65/gray)](CHANGELOG.md#unreleased)
34
34
  [![PyPi](https://badgen.net/badge/icon/python?icon=pypi&label)](https://pypi.org/project/hspylib-clitt)
35
35
  [![GitHub](https://badgen.net/badge/icon/github?icon=github&label)](https://github.com/yorevs/hspylib)
36
36
  [![Gitter](https://badgen.net/badge/icon/gitter?icon=gitter&label)](https://gitter.im/hspylib/community)
@@ -0,0 +1,5 @@
1
+ hspylib
2
+ pyperclip
3
+ emoji
4
+ urllib3
5
+ setuptools
@@ -1 +0,0 @@
1
- 0.9.63
@@ -1 +0,0 @@
1
- hspylib
File without changes
File without changes