hspylib-clitt 0.9.138__tar.gz → 0.9.140__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 (104) hide show
  1. {hspylib_clitt-0.9.138/hspylib_clitt.egg-info → hspylib_clitt-0.9.140}/PKG-INFO +3 -2
  2. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/README.md +1 -1
  3. hspylib_clitt-0.9.140/clitt/.version +1 -0
  4. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/__classpath__.py +1 -1
  5. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/__init__.py +2 -2
  6. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/__main__.py +1 -1
  7. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/addons/__init__.py +2 -2
  8. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/addons/appman/__init__.py +2 -2
  9. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/addons/appman/templates/__init__.py +2 -2
  10. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/addons/appman/templates/main.py.tpl +2 -2
  11. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/addons/appman/templates/main_qt.py.tpl +2 -2
  12. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/addons/appman/templates/main_qt_view.py.tpl +1 -1
  13. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/addons/widman/__init__.py +2 -2
  14. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/addons/widman/widgets/__init__.py +2 -2
  15. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/__init__.py +2 -2
  16. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/exception/__init__.py +2 -2
  17. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/icons/__init__.py +2 -2
  18. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/icons/emojis/__init__.py +2 -2
  19. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/icons/font_awesome/__init__.py +2 -2
  20. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/term/__init__.py +2 -2
  21. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/__init__.py +2 -2
  22. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/line_input/__init__.py +2 -2
  23. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/line_input/keyboard_input.py +19 -15
  24. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/line_input/line_input.py +3 -1
  25. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/mchoose/__init__.py +2 -2
  26. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/mdashboard/__init__.py +2 -2
  27. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/menu/__init__.py +2 -2
  28. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/minput/__init__.py +2 -2
  29. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/mselect/__init__.py +2 -2
  30. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/table/__init__.py +2 -2
  31. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/utils/__init__.py +2 -2
  32. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140/hspylib_clitt.egg-info}/PKG-INFO +3 -2
  33. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/hspylib_clitt.egg-info/requires.txt +1 -0
  34. hspylib_clitt-0.9.138/clitt/.version +0 -1
  35. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/MANIFEST.in +0 -0
  36. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/addons/appman/appman.py +0 -0
  37. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/addons/appman/appman_enums.py +0 -0
  38. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/addons/appman/templates/build.gradle.tpl +0 -0
  39. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/addons/appman/templates/classpath.py.tpl +0 -0
  40. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/addons/appman/templates/dependencies.hspd.tpl +0 -0
  41. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/addons/appman/templates/gitignore.tpl +0 -0
  42. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/addons/appman/templates/main_qt_view.ui.tpl +0 -0
  43. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/addons/appman/templates/run.sh.tpl +0 -0
  44. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/addons/appman/templates/test_main.py.tpl +0 -0
  45. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/addons/appman/templates/usage.txt.tpl +0 -0
  46. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/addons/appman/templates/widget.py.tpl +0 -0
  47. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/addons/widman/widget.py +0 -0
  48. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/addons/widman/widget_entry.py +0 -0
  49. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/addons/widman/widgets/widget_free.py +0 -0
  50. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/addons/widman/widgets/widget_punch.py +0 -0
  51. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/addons/widman/widgets/widget_send_msg.py +0 -0
  52. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/addons/widman/widgets/widget_time_calc.py +0 -0
  53. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/addons/widman/widman.py +0 -0
  54. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/exception/exceptions.py +0 -0
  55. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/icons/emojis/emojis.py +0 -0
  56. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/icons/emojis/face_smiling.py +0 -0
  57. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/icons/font_awesome/app_icons.py +0 -0
  58. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/icons/font_awesome/awesome.py +0 -0
  59. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/icons/font_awesome/dashboard_icons.py +0 -0
  60. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/icons/font_awesome/form_icons.py +0 -0
  61. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/icons/font_awesome/game_icons.py +0 -0
  62. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/icons/font_awesome/nav_icons.py +0 -0
  63. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/icons/font_awesome/trickplay_icons.py +0 -0
  64. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/icons/font_awesome/widget_icons.py +0 -0
  65. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/preferences.py +0 -0
  66. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/term/commons.py +0 -0
  67. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/term/cursor.py +0 -0
  68. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/term/screen.py +0 -0
  69. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/term/terminal.py +0 -0
  70. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/mchoose/mchoose.py +0 -0
  71. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/mchoose/menu_choose.py +0 -0
  72. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/mdashboard/dashboard_builder.py +0 -0
  73. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/mdashboard/dashboard_item.py +0 -0
  74. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/mdashboard/mdashboard.py +0 -0
  75. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/mdashboard/menu_dashboard.py +0 -0
  76. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/menu/tui_menu.py +0 -0
  77. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/menu/tui_menu_action.py +0 -0
  78. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/menu/tui_menu_factory.py +0 -0
  79. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/menu/tui_menu_item.py +0 -0
  80. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/menu/tui_menu_ui.py +0 -0
  81. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/menu/tui_menu_view.py +0 -0
  82. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/minput/access_type.py +0 -0
  83. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/minput/field_builder.py +0 -0
  84. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/minput/form_builder.py +0 -0
  85. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/minput/form_field.py +0 -0
  86. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/minput/input_type.py +0 -0
  87. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/minput/input_validator.py +0 -0
  88. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/minput/menu_input.py +0 -0
  89. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/minput/minput.py +0 -0
  90. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/minput/minput_utils.py +0 -0
  91. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/mselect/menu_select.py +0 -0
  92. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/mselect/mselect.py +0 -0
  93. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/table/table_enums.py +0 -0
  94. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/table/table_renderer.py +0 -0
  95. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/tui_application.py +0 -0
  96. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/tui_component.py +0 -0
  97. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/core/tui/tui_preferences.py +0 -0
  98. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/utils/git_utils.py +0 -0
  99. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/clitt/welcome.txt +0 -0
  100. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/hspylib_clitt.egg-info/SOURCES.txt +0 -0
  101. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/hspylib_clitt.egg-info/dependency_links.txt +0 -0
  102. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/hspylib_clitt.egg-info/top_level.txt +0 -0
  103. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/setup.cfg +0 -0
  104. {hspylib_clitt-0.9.138 → hspylib_clitt-0.9.140}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hspylib-clitt
3
- Version: 0.9.138
3
+ Version: 0.9.140
4
4
  Summary: HsPyLib - CLI Terminal Tools
5
5
  Home-page: https://github.com/yorevs/hspylib
6
6
  Author: Hugo Saporetti Junior
@@ -29,6 +29,7 @@ Requires-Dist: hspylib
29
29
  Requires-Dist: pyperclip>=1.9.0
30
30
  Requires-Dist: urllib3>=1.26.20
31
31
  Requires-Dist: emoji>=2.12.1
32
+ Requires-Dist: rich>=13.8.1
32
33
 
33
34
  <img src="https://iili.io/HYBJFA7.png" width="64" height="64" align="right" />
34
35
 
@@ -40,7 +41,7 @@ Requires-Dist: emoji>=2.12.1
40
41
  [![Gitter](https://badgen.net/badge/icon/gitter?icon=gitter&label)](https://gitter.im/hspylib/community)
41
42
  [![Donate](https://badgen.net/badge/paypal/donate/yellow)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=J5CDEFLF6M3H4)
42
43
  [![License](https://badgen.net/badge/license/MIT/gray)](LICENSE.md)
43
- [![Release](https://badgen.net/badge/release/v0.9.138/gray)](docs/CHANGELOG.md#unreleased)
44
+ [![Release](https://badgen.net/badge/release/v0.9.140/gray)](docs/CHANGELOG.md#unreleased)
44
45
  [![build-and-test](https://github.com/yorevs/hspylib/actions/workflows/build-and-test.yml/badge.svg)](https://github.com/yorevs/hspylib/actions/workflows/build-and-test.yml)
45
46
 
46
47
  HsPyLib is not just a Python library; it's a gateway to elevating your programming experience to new heights. Built on
@@ -8,7 +8,7 @@
8
8
  [![Gitter](https://badgen.net/badge/icon/gitter?icon=gitter&label)](https://gitter.im/hspylib/community)
9
9
  [![Donate](https://badgen.net/badge/paypal/donate/yellow)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=J5CDEFLF6M3H4)
10
10
  [![License](https://badgen.net/badge/license/MIT/gray)](LICENSE.md)
11
- [![Release](https://badgen.net/badge/release/v0.9.138/gray)](docs/CHANGELOG.md#unreleased)
11
+ [![Release](https://badgen.net/badge/release/v0.9.140/gray)](docs/CHANGELOG.md#unreleased)
12
12
  [![build-and-test](https://github.com/yorevs/hspylib/actions/workflows/build-and-test.yml/badge.svg)](https://github.com/yorevs/hspylib/actions/workflows/build-and-test.yml)
13
13
 
14
14
  HsPyLib is not just a Python library; it's a gateway to elevating your programming experience to new heights. Built on
@@ -0,0 +1 @@
1
+ 0.9.140
@@ -25,4 +25,4 @@ class _Classpath(Classpath):
25
25
 
26
26
 
27
27
  # Instantiate the classpath singleton
28
- assert (classpath := _Classpath().INSTANCE) is not None, "Failed to create Classpath instance"
28
+ assert (classpath := _Classpath()) is not None, "Failed to create Classpath instance"
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.138
3
+ # hspylib-clitt v0.9.140
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.138'
13
+ __version__ = '0.9.140'
@@ -34,7 +34,7 @@ class Main(TUIApplication):
34
34
  DESCRIPTION = classpath.get_source("welcome.txt").read_text(encoding=Charset.UTF_8.val)
35
35
 
36
36
  # Location of the .version file
37
- VERSION_DIR = classpath.source_path()
37
+ VERSION_DIR = classpath.source_path
38
38
 
39
39
  class Addon(Enumeration):
40
40
  """HsPyLib addon types."""
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.138
3
+ # hspylib-clitt v0.9.140
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.138'
12
+ __version__ = '0.9.140'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.138
3
+ # hspylib-clitt v0.9.140
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.138'
13
+ __version__ = '0.9.140'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.138
3
+ # hspylib-clitt v0.9.140
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.138'
11
+ __version__ = '0.9.140'
@@ -20,10 +20,10 @@ class Main(Application):
20
20
  DESCRIPTION = (HERE / "welcome.txt").read_text(encoding=Charset.UTF_8.val)
21
21
 
22
22
  # Location of the .version file
23
- VERSION_DIR = _Classpath.source_path()
23
+ VERSION_DIR = _classpath.source_path
24
24
 
25
25
  # Location of the resource directory
26
- RESOURCE_DIR = str(_Classpath.resource_path())
26
+ RESOURCE_DIR = str(_classpath.resource_path)
27
27
 
28
28
  def __init__(self, app_name: str):
29
29
  version = Version.load(load_dir=self.VERSION_DIR)
@@ -20,10 +20,10 @@ class Main(QtApplication):
20
20
  DESCRIPTION = (HERE / "welcome.txt").read_text(encoding=Charset.UTF_8.val)
21
21
 
22
22
  # Location of the .version file
23
- VERSION_DIR = _Classpath.source_path()
23
+ VERSION_DIR = _classpath.source_path
24
24
 
25
25
  # Location of the resource directory
26
- RESOURCE_DIR = str(_Classpath.resource_path())
26
+ RESOURCE_DIR = str(_classpath.resource_path)
27
27
 
28
28
  def __init__(self, app_name: str):
29
29
  version = Version.load(load_dir=self.VERSION_DIR)
@@ -8,7 +8,7 @@ class MainQtView(QtView):
8
8
  """Main application view"""
9
9
  VERSION = classpath.get_source(".version").read_text(encoding=Charset.UTF_8.val)
10
10
 
11
- FORMS_DIR = str(_Classpath.resource_path() / "forms")
11
+ FORMS_DIR = str(_classpath.resource_path / "forms")
12
12
 
13
13
  def __init__(self):
14
14
  # Must come after the initialization above
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.138
3
+ # hspylib-clitt v0.9.140
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.138'
14
+ __version__ = '0.9.140'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.138
3
+ # hspylib-clitt v0.9.140
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.138'
14
+ __version__ = '0.9.140'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.138
3
+ # hspylib-clitt v0.9.140
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.138'
15
+ __version__ = '0.9.140'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.138
3
+ # hspylib-clitt v0.9.140
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.138'
11
+ __version__ = '0.9.140'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.138
3
+ # hspylib-clitt v0.9.140
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.138'
12
+ __version__ = '0.9.140'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.138
3
+ # hspylib-clitt v0.9.140
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.138'
12
+ __version__ = '0.9.140'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.138
3
+ # hspylib-clitt v0.9.140
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.138'
18
+ __version__ = '0.9.140'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.138
3
+ # hspylib-clitt v0.9.140
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.138'
14
+ __version__ = '0.9.140'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.138
3
+ # hspylib-clitt v0.9.140
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.138'
20
+ __version__ = '0.9.140'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.138
3
+ # hspylib-clitt v0.9.140
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.138'
12
+ __version__ = '0.9.140'
@@ -48,6 +48,20 @@ class KeyboardInput(TUIComponent):
48
48
  # Stack containing current input reverts.
49
49
  _REDO_HISTORY: list[str] = []
50
50
 
51
+ @classmethod
52
+ def save_history_file(cls, filepath: AnyPath, overwrite: bool = False) -> None:
53
+ """Save history to the specified file. If `overwrite` is True, the file will be overwritten; otherwise, data will be appended.
54
+ :param filepath: Path to the file where history will be saved.
55
+ :param overwrite: Whether to overwrite the file if it exists. Defaults to False.
56
+ """
57
+ punctuation = set(string.punctuation + ' ')
58
+ history: list[str] = list(
59
+ filter(lambda line: line and not all(char in punctuation for char in line), cls.history())
60
+ )
61
+ with open(filepath, 'w' if overwrite else 'a') as file:
62
+ for inpt in history:
63
+ file.write(f"{inpt}" + os.linesep)
64
+
51
65
  @classmethod
52
66
  def preload_history_file(cls, filepath: AnyPath) -> int:
53
67
  """Preload the input with the provided items from the file.
@@ -87,19 +101,6 @@ class KeyboardInput(TUIComponent):
87
101
  """Return the actual input history."""
88
102
  return list(filter(lambda v: v, cls._HISTORY))
89
103
 
90
- @classmethod
91
- def save_history_file(cls, filepath: AnyPath, overwrite: bool = False) -> None:
92
- """Save history to the specified file. If `overwrite` is True, the file will be overwritten; otherwise, data will be appended.
93
- :param filepath: Path to the file where history will be saved.
94
- :param overwrite: Whether to overwrite the file if it exists. Defaults to False.
95
- """
96
- punctuation = set(string.punctuation + ' ')
97
- history: list[str] = list(
98
- filter(lambda line: line and not all(char in punctuation for char in line), cls.history())
99
- )
100
- with open(filepath, 'w' if overwrite else 'a') as file:
101
- list(map(file.write, [a + os.linesep for a in history]))
102
-
103
104
  @classmethod
104
105
  def _add_history(cls, input_text: str) -> None:
105
106
  """Add the following input to the history set.
@@ -138,6 +139,7 @@ class KeyboardInput(TUIComponent):
138
139
  prompt_color: VtColor = VtColor.NC,
139
140
  text_color: VtColor = VtColor.NC,
140
141
  navbar_enable: bool = False,
142
+ case_insensitive: bool = True
141
143
  ):
142
144
  self._HISTORY[-1] = ""
143
145
  self._HIST_INDEX = max(0, len(self._HISTORY) - 1)
@@ -146,6 +148,7 @@ class KeyboardInput(TUIComponent):
146
148
  self._prompt_color: VtColor = prompt_color
147
149
  self._text_color: VtColor = text_color
148
150
  self._navbar_enable: bool = navbar_enable
151
+ self._case_insensitive: bool = case_insensitive
149
152
  self._offset: Position = 0, 0
150
153
  self._input_index: int = 0
151
154
  self._input_text: str = ""
@@ -332,8 +335,9 @@ class KeyboardInput(TUIComponent):
332
335
 
333
336
  def _render_suggestions(self) -> None:
334
337
  """Render the input suggestions."""
335
- edt_text: str = self.text
336
- filtered: list[str] = list(filter(lambda h: h.startswith(edt_text), self._HISTORY))
338
+ edt_text: str = self.text.lower() if self._case_insensitive else self.text
339
+ filtered: list[str] = list(map(str.lower, self._HISTORY)) if self._case_insensitive else self._HISTORY
340
+ filtered: list[str] = [s for s in filtered if s.startswith(edt_text)]
337
341
  hint: str = ''
338
342
 
339
343
  if edt_text and edt_text in filtered:
@@ -24,6 +24,7 @@ def line_input(
24
24
  prompt_color: VtColor = VtColor.NC,
25
25
  text_color: VtColor = VtColor.NC,
26
26
  navbar_enable: bool = False,
27
+ case_insensitive: bool = True,
27
28
  ) -> Optional[str | Keyboard]:
28
29
  """Read a string from standard input.
29
30
  :param prompt: The message to be displayed to the user.
@@ -31,6 +32,7 @@ def line_input(
31
32
  :param prompt_color: The color of the prompt text.
32
33
  :param text_color: The color of the input text.
33
34
  :param navbar_enable: Whether to display the navbar or not.
35
+ :param case_insensitive: Whether suggestions are case insensitive or not.
34
36
  """
35
- ptt = KeyboardInput(prompt, placeholder, prompt_color, text_color, navbar_enable)
37
+ ptt = KeyboardInput(prompt, placeholder, prompt_color, text_color, navbar_enable, case_insensitive)
36
38
  return ptt.execute()
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.138
3
+ # hspylib-clitt v0.9.140
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.138'
12
+ __version__ = '0.9.140'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.138
3
+ # hspylib-clitt v0.9.140
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.138'
14
+ __version__ = '0.9.140'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.138
3
+ # hspylib-clitt v0.9.140
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.138'
16
+ __version__ = '0.9.140'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.138
3
+ # hspylib-clitt v0.9.140
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.138'
19
+ __version__ = '0.9.140'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.138
3
+ # hspylib-clitt v0.9.140
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.138'
12
+ __version__ = '0.9.140'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.138
3
+ # hspylib-clitt v0.9.140
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.138'
12
+ __version__ = '0.9.140'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.138
3
+ # hspylib-clitt v0.9.140
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.138'
11
+ __version__ = '0.9.140'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hspylib-clitt
3
- Version: 0.9.138
3
+ Version: 0.9.140
4
4
  Summary: HsPyLib - CLI Terminal Tools
5
5
  Home-page: https://github.com/yorevs/hspylib
6
6
  Author: Hugo Saporetti Junior
@@ -29,6 +29,7 @@ Requires-Dist: hspylib
29
29
  Requires-Dist: pyperclip>=1.9.0
30
30
  Requires-Dist: urllib3>=1.26.20
31
31
  Requires-Dist: emoji>=2.12.1
32
+ Requires-Dist: rich>=13.8.1
32
33
 
33
34
  <img src="https://iili.io/HYBJFA7.png" width="64" height="64" align="right" />
34
35
 
@@ -40,7 +41,7 @@ Requires-Dist: emoji>=2.12.1
40
41
  [![Gitter](https://badgen.net/badge/icon/gitter?icon=gitter&label)](https://gitter.im/hspylib/community)
41
42
  [![Donate](https://badgen.net/badge/paypal/donate/yellow)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=J5CDEFLF6M3H4)
42
43
  [![License](https://badgen.net/badge/license/MIT/gray)](LICENSE.md)
43
- [![Release](https://badgen.net/badge/release/v0.9.138/gray)](docs/CHANGELOG.md#unreleased)
44
+ [![Release](https://badgen.net/badge/release/v0.9.140/gray)](docs/CHANGELOG.md#unreleased)
44
45
  [![build-and-test](https://github.com/yorevs/hspylib/actions/workflows/build-and-test.yml/badge.svg)](https://github.com/yorevs/hspylib/actions/workflows/build-and-test.yml)
45
46
 
46
47
  HsPyLib is not just a Python library; it's a gateway to elevating your programming experience to new heights. Built on
@@ -2,3 +2,4 @@ hspylib
2
2
  pyperclip>=1.9.0
3
3
  urllib3>=1.26.20
4
4
  emoji>=2.12.1
5
+ rich>=13.8.1
@@ -1 +0,0 @@
1
- 0.9.138