hspylib-clitt 0.9.130__tar.gz → 0.9.133__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.130/hspylib_clitt.egg-info → hspylib_clitt-0.9.133}/PKG-INFO +3 -3
  2. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/README.md +1 -1
  3. hspylib_clitt-0.9.133/clitt/.version +1 -0
  4. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/__init__.py +2 -2
  5. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/addons/__init__.py +2 -2
  6. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/addons/appman/__init__.py +2 -2
  7. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/addons/appman/templates/__init__.py +2 -2
  8. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/addons/appman/templates/build.gradle.tpl +7 -7
  9. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/addons/widman/__init__.py +2 -2
  10. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/addons/widman/widgets/__init__.py +2 -2
  11. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/__init__.py +2 -2
  12. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/exception/__init__.py +2 -2
  13. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/icons/__init__.py +2 -2
  14. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/icons/emojis/__init__.py +2 -2
  15. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/icons/font_awesome/__init__.py +2 -2
  16. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/term/__init__.py +2 -2
  17. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/__init__.py +2 -2
  18. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/line_input/__init__.py +2 -2
  19. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/line_input/keyboard_input.py +57 -4
  20. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/mchoose/__init__.py +2 -2
  21. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/mdashboard/__init__.py +2 -2
  22. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/menu/__init__.py +2 -2
  23. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/minput/__init__.py +2 -2
  24. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/mselect/__init__.py +2 -2
  25. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/table/__init__.py +2 -2
  26. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/utils/__init__.py +2 -2
  27. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133/hspylib_clitt.egg-info}/PKG-INFO +3 -3
  28. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/hspylib_clitt.egg-info/requires.txt +1 -1
  29. hspylib_clitt-0.9.130/clitt/.version +0 -1
  30. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/MANIFEST.in +0 -0
  31. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/__classpath__.py +0 -0
  32. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/__main__.py +0 -0
  33. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/addons/appman/appman.py +0 -0
  34. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/addons/appman/appman_enums.py +0 -0
  35. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/addons/appman/templates/classpath.py.tpl +0 -0
  36. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/addons/appman/templates/dependencies.hspd.tpl +0 -0
  37. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/addons/appman/templates/gitignore.tpl +0 -0
  38. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/addons/appman/templates/main.py.tpl +0 -0
  39. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/addons/appman/templates/main_qt.py.tpl +0 -0
  40. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/addons/appman/templates/main_qt_view.py.tpl +0 -0
  41. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/addons/appman/templates/main_qt_view.ui.tpl +0 -0
  42. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/addons/appman/templates/run.sh.tpl +0 -0
  43. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/addons/appman/templates/test_main.py.tpl +0 -0
  44. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/addons/appman/templates/usage.txt.tpl +0 -0
  45. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/addons/appman/templates/widget.py.tpl +0 -0
  46. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/addons/widman/widget.py +0 -0
  47. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/addons/widman/widget_entry.py +0 -0
  48. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/addons/widman/widgets/widget_free.py +0 -0
  49. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/addons/widman/widgets/widget_punch.py +0 -0
  50. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/addons/widman/widgets/widget_send_msg.py +0 -0
  51. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/addons/widman/widgets/widget_time_calc.py +0 -0
  52. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/addons/widman/widman.py +0 -0
  53. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/exception/exceptions.py +0 -0
  54. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/icons/emojis/emojis.py +0 -0
  55. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/icons/emojis/face_smiling.py +0 -0
  56. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/icons/font_awesome/app_icons.py +0 -0
  57. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/icons/font_awesome/awesome.py +0 -0
  58. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/icons/font_awesome/dashboard_icons.py +0 -0
  59. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/icons/font_awesome/form_icons.py +0 -0
  60. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/icons/font_awesome/game_icons.py +0 -0
  61. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/icons/font_awesome/nav_icons.py +0 -0
  62. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/icons/font_awesome/trickplay_icons.py +0 -0
  63. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/icons/font_awesome/widget_icons.py +0 -0
  64. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/preferences.py +0 -0
  65. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/term/commons.py +0 -0
  66. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/term/cursor.py +0 -0
  67. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/term/screen.py +0 -0
  68. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/term/terminal.py +0 -0
  69. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/line_input/line_input.py +0 -0
  70. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/mchoose/mchoose.py +0 -0
  71. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/mchoose/menu_choose.py +0 -0
  72. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/mdashboard/dashboard_builder.py +0 -0
  73. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/mdashboard/dashboard_item.py +0 -0
  74. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/mdashboard/mdashboard.py +0 -0
  75. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/mdashboard/menu_dashboard.py +0 -0
  76. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/menu/tui_menu.py +0 -0
  77. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/menu/tui_menu_action.py +0 -0
  78. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/menu/tui_menu_factory.py +0 -0
  79. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/menu/tui_menu_item.py +0 -0
  80. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/menu/tui_menu_ui.py +0 -0
  81. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/menu/tui_menu_view.py +0 -0
  82. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/minput/access_type.py +0 -0
  83. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/minput/field_builder.py +0 -0
  84. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/minput/form_builder.py +0 -0
  85. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/minput/form_field.py +0 -0
  86. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/minput/input_type.py +0 -0
  87. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/minput/input_validator.py +0 -0
  88. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/minput/menu_input.py +0 -0
  89. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/minput/minput.py +0 -0
  90. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/minput/minput_utils.py +0 -0
  91. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/mselect/menu_select.py +0 -0
  92. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/mselect/mselect.py +0 -0
  93. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/table/table_enums.py +0 -0
  94. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/table/table_renderer.py +0 -0
  95. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/tui_application.py +0 -0
  96. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/tui_component.py +0 -0
  97. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/core/tui/tui_preferences.py +0 -0
  98. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/utils/git_utils.py +0 -0
  99. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/clitt/welcome.txt +0 -0
  100. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/hspylib_clitt.egg-info/SOURCES.txt +0 -0
  101. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/hspylib_clitt.egg-info/dependency_links.txt +0 -0
  102. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/hspylib_clitt.egg-info/top_level.txt +0 -0
  103. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/setup.cfg +0 -0
  104. {hspylib_clitt-0.9.130 → hspylib_clitt-0.9.133}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hspylib-clitt
3
- Version: 0.9.130
3
+ Version: 0.9.133
4
4
  Summary: HsPyLib - CLI Terminal Tools
5
5
  Home-page: https://github.com/yorevs/hspylib
6
6
  Author: Hugo Saporetti Junior
@@ -27,7 +27,7 @@ Requires-Python: >=3.10
27
27
  Description-Content-Type: text/markdown
28
28
  Requires-Dist: hspylib
29
29
  Requires-Dist: pyperclip>=1.9.0
30
- Requires-Dist: urllib3>=2.2.2
30
+ Requires-Dist: urllib3>=1.26.20
31
31
  Requires-Dist: emoji>=2.12.1
32
32
 
33
33
  <img src="https://iili.io/HYBJFA7.png" width="64" height="64" align="right" />
@@ -40,7 +40,7 @@ Requires-Dist: emoji>=2.12.1
40
40
  [![Gitter](https://badgen.net/badge/icon/gitter?icon=gitter&label)](https://gitter.im/hspylib/community)
41
41
  [![Donate](https://badgen.net/badge/paypal/donate/yellow)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=J5CDEFLF6M3H4)
42
42
  [![License](https://badgen.net/badge/license/MIT/gray)](LICENSE.md)
43
- [![Release](https://badgen.net/badge/release/v0.9.130/gray)](docs/CHANGELOG.md#unreleased)
43
+ [![Release](https://badgen.net/badge/release/v0.9.133/gray)](docs/CHANGELOG.md#unreleased)
44
44
  [![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
45
 
46
46
  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.130/gray)](docs/CHANGELOG.md#unreleased)
11
+ [![Release](https://badgen.net/badge/release/v0.9.133/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.133
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.130
3
+ # hspylib-clitt v0.9.133
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.130'
13
+ __version__ = '0.9.133'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.130
3
+ # hspylib-clitt v0.9.133
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.130'
12
+ __version__ = '0.9.133'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.130
3
+ # hspylib-clitt v0.9.133
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.130'
13
+ __version__ = '0.9.133'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.130
3
+ # hspylib-clitt v0.9.133
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.130'
11
+ __version__ = '0.9.133'
@@ -37,13 +37,13 @@ ext {
37
37
  pythonPath = "$sourceRoot/main:$sourceRoot/test:$sourceRoot/demo"
38
38
  }
39
39
 
40
- apply from: "$rootDir/gradle/dependencies.gradle"
41
- apply from: "$rootDir/gradle/python.gradle"
42
- apply from: "$rootDir/gradle/build-info.gradle"
43
- apply from: "$rootDir/gradle/pypi-publish.gradle"
44
- apply from: "$rootDir/gradle/docker.gradle"
45
- apply from: "$rootDir/gradle/badges.gradle"
46
- apply from: "$rootDir/gradle/docgen.gradle"
40
+ apply from: "${gradleDir}/dependencies.gradle"
41
+ apply from: "${gradleDir}/python.gradle"
42
+ apply from: "${gradleDir}/build-info.gradle"
43
+ apply from: "${gradleDir}/pypi-publish.gradle"
44
+ apply from: "${gradleDir}/docker.gradle"
45
+ apply from: "${gradleDir}/badges.gradle"
46
+ apply from: "${gradleDir}/docgen.gradle"
47
47
 
48
48
  /* Run Configurations */
49
49
  task exportRunConfigurations(type: Copy) {
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.130
3
+ # hspylib-clitt v0.9.133
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.130'
14
+ __version__ = '0.9.133'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.130
3
+ # hspylib-clitt v0.9.133
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.130'
14
+ __version__ = '0.9.133'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.130
3
+ # hspylib-clitt v0.9.133
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.130'
15
+ __version__ = '0.9.133'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.130
3
+ # hspylib-clitt v0.9.133
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.130'
11
+ __version__ = '0.9.133'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.130
3
+ # hspylib-clitt v0.9.133
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.130'
12
+ __version__ = '0.9.133'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.130
3
+ # hspylib-clitt v0.9.133
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.130'
12
+ __version__ = '0.9.133'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.130
3
+ # hspylib-clitt v0.9.133
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.130'
18
+ __version__ = '0.9.133'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.130
3
+ # hspylib-clitt v0.9.133
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.130'
14
+ __version__ = '0.9.133'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.130
3
+ # hspylib-clitt v0.9.133
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.130'
20
+ __version__ = '0.9.133'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.130
3
+ # hspylib-clitt v0.9.133
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.130'
12
+ __version__ = '0.9.133'
@@ -13,16 +13,20 @@
13
13
  Copyright·(c)·2024,·HSPyLib
14
14
  """
15
15
  import os
16
+ import string
16
17
  from collections import defaultdict
17
18
  from typing import Optional, Callable, TypeAlias
18
19
 
19
- from clitt.core.term.commons import Direction, Position
20
- from clitt.core.term.terminal import Terminal
21
- from clitt.core.tui.tui_component import TUIComponent
20
+ from hspylib.core.config.path_object import PathObject
21
+ from hspylib.core.metaclass.classpath import AnyPath
22
22
  from hspylib.core.tools.dict_tools import get_or_default
23
23
  from hspylib.modules.cli.keyboard import Keyboard
24
24
  from hspylib.modules.cli.vt100.vt_color import VtColor
25
25
 
26
+ from clitt.core.term.commons import Direction, Position
27
+ from clitt.core.term.terminal import Terminal
28
+ from clitt.core.tui.tui_component import TUIComponent
29
+
26
30
  KeyBinding: TypeAlias = dict[Keyboard, Callable[[], None]]
27
31
 
28
32
 
@@ -44,6 +48,24 @@ class KeyboardInput(TUIComponent):
44
48
  # Stack containing current input reverts.
45
49
  _REDO_HISTORY: list[str] = []
46
50
 
51
+ @classmethod
52
+ def preload_history_file(cls, filepath: AnyPath) -> int:
53
+ """Preload the input with the provided items from the file.
54
+ :param filepath: Path to the text file.
55
+ :return: Number of items read.
56
+ """
57
+ punctuation = set(string.punctuation + ' ')
58
+ history: list[str] = []
59
+ final_path = PathObject.of(filepath)
60
+ if final_path.exists:
61
+ with open(filepath, 'r') as file:
62
+ for line in file:
63
+ if (line := line.strip()) and not all(char in punctuation for char in line):
64
+ history.append(line)
65
+ cls.preload_history(history)
66
+
67
+ return len(history)
68
+
47
69
  @classmethod
48
70
  def preload_history(cls, history: list[str]) -> None:
49
71
  """Preload the input with the provided dictionary.
@@ -65,6 +87,19 @@ class KeyboardInput(TUIComponent):
65
87
  """Return the actual input history."""
66
88
  return list(filter(lambda v: v, cls._HISTORY))
67
89
 
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
+
68
103
  @classmethod
69
104
  def _add_history(cls, input_text: str) -> None:
70
105
  """Add the following input to the history set.
@@ -156,7 +191,13 @@ class KeyboardInput(TUIComponent):
156
191
  self._add_history(self.text)
157
192
  self._UNDO_HISTORY.clear()
158
193
  self._REDO_HISTORY.clear()
194
+ Terminal.set_show_cursor(False)
195
+ self.cursor.move(self._offset[0], Direction.UP)
196
+ self.cursor.move(self._offset[1], Direction.LEFT)
159
197
  self.cursor.erase(Direction.DOWN)
198
+ self.write(self.prompt)
199
+ self.write(self.text)
200
+ Terminal.set_show_cursor(True)
160
201
  elif keypress == Keyboard.VK_ESC:
161
202
  self.text = None
162
203
  self.writeln("%NC%")
@@ -182,6 +223,14 @@ class KeyboardInput(TUIComponent):
182
223
  self._update_input(text)
183
224
  self._input_index = len(text)
184
225
 
226
+ def complete_word(self) -> None:
227
+ """Complete the input text with the next suggested word (including the space)."""
228
+ text: str = (
229
+ self.text + (self._suggestion.split(' ', 1)[0] + ' ')) \
230
+ if ' ' in self._suggestion else self.text + self._suggestion
231
+ self._update_input(text)
232
+ self._input_index = len(text)
233
+
185
234
  def render(self) -> None:
186
235
  Terminal.set_show_cursor(False)
187
236
  self.cursor.move(self._offset[0], Direction.UP)
@@ -220,7 +269,11 @@ class KeyboardInput(TUIComponent):
220
269
  case Keyboard.VK_LEFT:
221
270
  self._input_index = max(0, self._input_index - 1)
222
271
  case Keyboard.VK_RIGHT:
223
- self._input_index = min(self.length, self._input_index + 1)
272
+ max_index: int = min(self.length, self._input_index + 1)
273
+ if self._input_index != max_index:
274
+ self._input_index = max_index
275
+ else:
276
+ self.complete_word()
224
277
  case Keyboard.VK_UP:
225
278
  self.text = self._prev_in_history()
226
279
  self._input_index = self.length
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.130
3
+ # hspylib-clitt v0.9.133
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.130'
12
+ __version__ = '0.9.133'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.130
3
+ # hspylib-clitt v0.9.133
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.130'
14
+ __version__ = '0.9.133'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.130
3
+ # hspylib-clitt v0.9.133
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.130'
16
+ __version__ = '0.9.133'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.130
3
+ # hspylib-clitt v0.9.133
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.130'
19
+ __version__ = '0.9.133'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.130
3
+ # hspylib-clitt v0.9.133
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.130'
12
+ __version__ = '0.9.133'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.130
3
+ # hspylib-clitt v0.9.133
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.130'
12
+ __version__ = '0.9.133'
@@ -1,6 +1,6 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.130
3
+ # hspylib-clitt v0.9.133
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.130'
11
+ __version__ = '0.9.133'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hspylib-clitt
3
- Version: 0.9.130
3
+ Version: 0.9.133
4
4
  Summary: HsPyLib - CLI Terminal Tools
5
5
  Home-page: https://github.com/yorevs/hspylib
6
6
  Author: Hugo Saporetti Junior
@@ -27,7 +27,7 @@ Requires-Python: >=3.10
27
27
  Description-Content-Type: text/markdown
28
28
  Requires-Dist: hspylib
29
29
  Requires-Dist: pyperclip>=1.9.0
30
- Requires-Dist: urllib3>=2.2.2
30
+ Requires-Dist: urllib3>=1.26.20
31
31
  Requires-Dist: emoji>=2.12.1
32
32
 
33
33
  <img src="https://iili.io/HYBJFA7.png" width="64" height="64" align="right" />
@@ -40,7 +40,7 @@ Requires-Dist: emoji>=2.12.1
40
40
  [![Gitter](https://badgen.net/badge/icon/gitter?icon=gitter&label)](https://gitter.im/hspylib/community)
41
41
  [![Donate](https://badgen.net/badge/paypal/donate/yellow)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=J5CDEFLF6M3H4)
42
42
  [![License](https://badgen.net/badge/license/MIT/gray)](LICENSE.md)
43
- [![Release](https://badgen.net/badge/release/v0.9.130/gray)](docs/CHANGELOG.md#unreleased)
43
+ [![Release](https://badgen.net/badge/release/v0.9.133/gray)](docs/CHANGELOG.md#unreleased)
44
44
  [![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
45
 
46
46
  HsPyLib is not just a Python library; it's a gateway to elevating your programming experience to new heights. Built on
@@ -1,4 +1,4 @@
1
1
  hspylib
2
2
  pyperclip>=1.9.0
3
- urllib3>=2.2.2
3
+ urllib3>=1.26.20
4
4
  emoji>=2.12.1
@@ -1 +0,0 @@
1
- 0.9.130