hspylib-clitt 0.9.119__py3-none-any.whl → 0.9.121__py3-none-any.whl

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 (345) hide show
  1. clitt/.version +1 -1
  2. clitt/__init__.py +3 -3
  3. clitt/addons/__init__.py +3 -3
  4. clitt/addons/appman/__init__.py +3 -3
  5. clitt/addons/appman/templates/__init__.py +3 -3
  6. clitt/addons/widman/__init__.py +3 -3
  7. clitt/addons/widman/widgets/__init__.py +3 -3
  8. clitt/core/__init__.py +3 -3
  9. clitt/core/exception/__init__.py +3 -3
  10. clitt/core/icons/__init__.py +3 -3
  11. clitt/core/icons/emojis/__init__.py +3 -3
  12. clitt/core/icons/font_awesome/__init__.py +3 -3
  13. clitt/core/term/__init__.py +3 -3
  14. clitt/core/tui/__init__.py +3 -3
  15. clitt/core/tui/line_input/__init__.py +3 -3
  16. clitt/core/tui/line_input/keyboard_input.py +85 -78
  17. clitt/core/tui/mchoose/__init__.py +3 -3
  18. clitt/core/tui/mdashboard/__init__.py +3 -3
  19. clitt/core/tui/menu/__init__.py +3 -3
  20. clitt/core/tui/minput/__init__.py +3 -3
  21. clitt/core/tui/minput/menu_input.py +7 -15
  22. clitt/core/tui/mselect/__init__.py +3 -3
  23. clitt/core/tui/table/__init__.py +3 -3
  24. clitt/utils/__init__.py +3 -3
  25. {hspylib_clitt-0.9.119.dist-info → hspylib_clitt-0.9.121.dist-info}/METADATA +2 -2
  26. hspylib_clitt-0.9.121.dist-info/RECORD +97 -0
  27. {hspylib_clitt-0.9.119.dist-info → hspylib_clitt-0.9.121.dist-info}/top_level.txt +0 -1
  28. build/lib/build/lib/build/lib/build/lib/clitt/__classpath__.py +0 -28
  29. build/lib/build/lib/build/lib/build/lib/clitt/__init__.py +0 -13
  30. build/lib/build/lib/build/lib/build/lib/clitt/__main__.py +0 -139
  31. build/lib/build/lib/build/lib/build/lib/clitt/addons/__init__.py +0 -12
  32. build/lib/build/lib/build/lib/build/lib/clitt/addons/appman/__init__.py +0 -13
  33. build/lib/build/lib/build/lib/build/lib/clitt/addons/appman/appman.py +0 -305
  34. build/lib/build/lib/build/lib/build/lib/clitt/addons/appman/appman_enums.py +0 -39
  35. build/lib/build/lib/build/lib/build/lib/clitt/addons/appman/templates/__init__.py +0 -11
  36. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/__init__.py +0 -14
  37. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widget.py +0 -70
  38. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widget_entry.py +0 -54
  39. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widgets/__init__.py +0 -14
  40. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_free.py +0 -110
  41. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_punch.py +0 -246
  42. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_send_msg.py +0 -272
  43. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_time_calc.py +0 -146
  44. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widman.py +0 -123
  45. build/lib/build/lib/build/lib/build/lib/clitt/core/__init__.py +0 -15
  46. build/lib/build/lib/build/lib/build/lib/clitt/core/exception/__init__.py +0 -11
  47. build/lib/build/lib/build/lib/build/lib/clitt/core/exception/exceptions.py +0 -19
  48. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/__init__.py +0 -12
  49. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/emojis/__init__.py +0 -12
  50. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/emojis/emojis.py +0 -41
  51. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/emojis/face_smiling.py +0 -40
  52. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/__init__.py +0 -18
  53. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/app_icons.py +0 -55
  54. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/awesome.py +0 -76
  55. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/dashboard_icons.py +0 -93
  56. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/form_icons.py +0 -69
  57. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/game_icons.py +0 -59
  58. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/nav_icons.py +0 -42
  59. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/trickplay_icons.py +0 -39
  60. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/widget_icons.py +0 -37
  61. build/lib/build/lib/build/lib/build/lib/clitt/core/preferences.py +0 -87
  62. build/lib/build/lib/build/lib/build/lib/clitt/core/term/__init__.py +0 -14
  63. build/lib/build/lib/build/lib/build/lib/clitt/core/term/commons.py +0 -106
  64. build/lib/build/lib/build/lib/build/lib/clitt/core/term/cursor.py +0 -174
  65. build/lib/build/lib/build/lib/build/lib/clitt/core/term/screen.py +0 -106
  66. build/lib/build/lib/build/lib/build/lib/clitt/core/term/terminal.py +0 -202
  67. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/__init__.py +0 -20
  68. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/line_input/__init__.py +0 -12
  69. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/line_input/keyboard_input.py +0 -229
  70. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/line_input/line_input.py +0 -31
  71. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mchoose/__init__.py +0 -12
  72. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mchoose/mchoose.py +0 -43
  73. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mchoose/menu_choose.py +0 -192
  74. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/__init__.py +0 -14
  75. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_builder.py +0 -54
  76. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_item.py +0 -31
  77. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/mdashboard.py +0 -26
  78. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/menu_dashboard.py +0 -148
  79. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/__init__.py +0 -16
  80. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu.py +0 -111
  81. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_action.py +0 -47
  82. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_factory.py +0 -117
  83. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_item.py +0 -196
  84. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_ui.py +0 -98
  85. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_view.py +0 -57
  86. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/__init__.py +0 -19
  87. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/access_type.py +0 -26
  88. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/field_builder.py +0 -117
  89. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/form_builder.py +0 -72
  90. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/form_field.py +0 -180
  91. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/input_type.py +0 -30
  92. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/input_validator.py +0 -98
  93. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/menu_input.py +0 -292
  94. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/minput.py +0 -44
  95. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/minput_utils.py +0 -156
  96. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mselect/__init__.py +0 -12
  97. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mselect/menu_select.py +0 -170
  98. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mselect/mselect.py +0 -36
  99. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/table/__init__.py +0 -12
  100. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/table/table_enums.py +0 -47
  101. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/table/table_renderer.py +0 -339
  102. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/tui_application.py +0 -52
  103. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/tui_component.py +0 -154
  104. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/tui_preferences.py +0 -103
  105. build/lib/build/lib/build/lib/build/lib/clitt/utils/__init__.py +0 -11
  106. build/lib/build/lib/build/lib/build/lib/clitt/utils/git_utils.py +0 -66
  107. build/lib/build/lib/build/lib/clitt/__classpath__.py +0 -28
  108. build/lib/build/lib/build/lib/clitt/__init__.py +0 -13
  109. build/lib/build/lib/build/lib/clitt/__main__.py +0 -139
  110. build/lib/build/lib/build/lib/clitt/addons/__init__.py +0 -12
  111. build/lib/build/lib/build/lib/clitt/addons/appman/__init__.py +0 -13
  112. build/lib/build/lib/build/lib/clitt/addons/appman/appman.py +0 -305
  113. build/lib/build/lib/build/lib/clitt/addons/appman/appman_enums.py +0 -39
  114. build/lib/build/lib/build/lib/clitt/addons/appman/templates/__init__.py +0 -11
  115. build/lib/build/lib/build/lib/clitt/addons/widman/__init__.py +0 -14
  116. build/lib/build/lib/build/lib/clitt/addons/widman/widget.py +0 -70
  117. build/lib/build/lib/build/lib/clitt/addons/widman/widget_entry.py +0 -54
  118. build/lib/build/lib/build/lib/clitt/addons/widman/widgets/__init__.py +0 -14
  119. build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_free.py +0 -110
  120. build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_punch.py +0 -246
  121. build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_send_msg.py +0 -272
  122. build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_time_calc.py +0 -146
  123. build/lib/build/lib/build/lib/clitt/addons/widman/widman.py +0 -123
  124. build/lib/build/lib/build/lib/clitt/core/__init__.py +0 -15
  125. build/lib/build/lib/build/lib/clitt/core/exception/__init__.py +0 -11
  126. build/lib/build/lib/build/lib/clitt/core/exception/exceptions.py +0 -19
  127. build/lib/build/lib/build/lib/clitt/core/icons/__init__.py +0 -12
  128. build/lib/build/lib/build/lib/clitt/core/icons/emojis/__init__.py +0 -12
  129. build/lib/build/lib/build/lib/clitt/core/icons/emojis/emojis.py +0 -41
  130. build/lib/build/lib/build/lib/clitt/core/icons/emojis/face_smiling.py +0 -40
  131. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/__init__.py +0 -18
  132. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/app_icons.py +0 -55
  133. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/awesome.py +0 -76
  134. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/dashboard_icons.py +0 -93
  135. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/form_icons.py +0 -69
  136. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/game_icons.py +0 -59
  137. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/nav_icons.py +0 -42
  138. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/trickplay_icons.py +0 -39
  139. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/widget_icons.py +0 -37
  140. build/lib/build/lib/build/lib/clitt/core/preferences.py +0 -87
  141. build/lib/build/lib/build/lib/clitt/core/term/__init__.py +0 -14
  142. build/lib/build/lib/build/lib/clitt/core/term/commons.py +0 -106
  143. build/lib/build/lib/build/lib/clitt/core/term/cursor.py +0 -174
  144. build/lib/build/lib/build/lib/clitt/core/term/screen.py +0 -106
  145. build/lib/build/lib/build/lib/clitt/core/term/terminal.py +0 -202
  146. build/lib/build/lib/build/lib/clitt/core/tui/__init__.py +0 -20
  147. build/lib/build/lib/build/lib/clitt/core/tui/line_input/__init__.py +0 -12
  148. build/lib/build/lib/build/lib/clitt/core/tui/line_input/keyboard_input.py +0 -229
  149. build/lib/build/lib/build/lib/clitt/core/tui/line_input/line_input.py +0 -31
  150. build/lib/build/lib/build/lib/clitt/core/tui/mchoose/__init__.py +0 -12
  151. build/lib/build/lib/build/lib/clitt/core/tui/mchoose/mchoose.py +0 -43
  152. build/lib/build/lib/build/lib/clitt/core/tui/mchoose/menu_choose.py +0 -192
  153. build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/__init__.py +0 -14
  154. build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_builder.py +0 -54
  155. build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_item.py +0 -31
  156. build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/mdashboard.py +0 -26
  157. build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/menu_dashboard.py +0 -148
  158. build/lib/build/lib/build/lib/clitt/core/tui/menu/__init__.py +0 -16
  159. build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu.py +0 -111
  160. build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_action.py +0 -47
  161. build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_factory.py +0 -117
  162. build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_item.py +0 -196
  163. build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_ui.py +0 -98
  164. build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_view.py +0 -57
  165. build/lib/build/lib/build/lib/clitt/core/tui/minput/__init__.py +0 -19
  166. build/lib/build/lib/build/lib/clitt/core/tui/minput/access_type.py +0 -26
  167. build/lib/build/lib/build/lib/clitt/core/tui/minput/field_builder.py +0 -117
  168. build/lib/build/lib/build/lib/clitt/core/tui/minput/form_builder.py +0 -72
  169. build/lib/build/lib/build/lib/clitt/core/tui/minput/form_field.py +0 -180
  170. build/lib/build/lib/build/lib/clitt/core/tui/minput/input_type.py +0 -30
  171. build/lib/build/lib/build/lib/clitt/core/tui/minput/input_validator.py +0 -98
  172. build/lib/build/lib/build/lib/clitt/core/tui/minput/menu_input.py +0 -292
  173. build/lib/build/lib/build/lib/clitt/core/tui/minput/minput.py +0 -44
  174. build/lib/build/lib/build/lib/clitt/core/tui/minput/minput_utils.py +0 -156
  175. build/lib/build/lib/build/lib/clitt/core/tui/mselect/__init__.py +0 -12
  176. build/lib/build/lib/build/lib/clitt/core/tui/mselect/menu_select.py +0 -170
  177. build/lib/build/lib/build/lib/clitt/core/tui/mselect/mselect.py +0 -36
  178. build/lib/build/lib/build/lib/clitt/core/tui/table/__init__.py +0 -12
  179. build/lib/build/lib/build/lib/clitt/core/tui/table/table_enums.py +0 -47
  180. build/lib/build/lib/build/lib/clitt/core/tui/table/table_renderer.py +0 -339
  181. build/lib/build/lib/build/lib/clitt/core/tui/tui_application.py +0 -52
  182. build/lib/build/lib/build/lib/clitt/core/tui/tui_component.py +0 -154
  183. build/lib/build/lib/build/lib/clitt/core/tui/tui_preferences.py +0 -103
  184. build/lib/build/lib/build/lib/clitt/utils/__init__.py +0 -11
  185. build/lib/build/lib/build/lib/clitt/utils/git_utils.py +0 -66
  186. build/lib/build/lib/clitt/__classpath__.py +0 -28
  187. build/lib/build/lib/clitt/__init__.py +0 -13
  188. build/lib/build/lib/clitt/__main__.py +0 -139
  189. build/lib/build/lib/clitt/addons/__init__.py +0 -12
  190. build/lib/build/lib/clitt/addons/appman/__init__.py +0 -13
  191. build/lib/build/lib/clitt/addons/appman/appman.py +0 -305
  192. build/lib/build/lib/clitt/addons/appman/appman_enums.py +0 -39
  193. build/lib/build/lib/clitt/addons/appman/templates/__init__.py +0 -11
  194. build/lib/build/lib/clitt/addons/widman/__init__.py +0 -14
  195. build/lib/build/lib/clitt/addons/widman/widget.py +0 -70
  196. build/lib/build/lib/clitt/addons/widman/widget_entry.py +0 -54
  197. build/lib/build/lib/clitt/addons/widman/widgets/__init__.py +0 -14
  198. build/lib/build/lib/clitt/addons/widman/widgets/widget_free.py +0 -110
  199. build/lib/build/lib/clitt/addons/widman/widgets/widget_punch.py +0 -246
  200. build/lib/build/lib/clitt/addons/widman/widgets/widget_send_msg.py +0 -272
  201. build/lib/build/lib/clitt/addons/widman/widgets/widget_time_calc.py +0 -146
  202. build/lib/build/lib/clitt/addons/widman/widman.py +0 -123
  203. build/lib/build/lib/clitt/core/__init__.py +0 -15
  204. build/lib/build/lib/clitt/core/exception/__init__.py +0 -11
  205. build/lib/build/lib/clitt/core/exception/exceptions.py +0 -19
  206. build/lib/build/lib/clitt/core/icons/__init__.py +0 -12
  207. build/lib/build/lib/clitt/core/icons/emojis/__init__.py +0 -12
  208. build/lib/build/lib/clitt/core/icons/emojis/emojis.py +0 -41
  209. build/lib/build/lib/clitt/core/icons/emojis/face_smiling.py +0 -40
  210. build/lib/build/lib/clitt/core/icons/font_awesome/__init__.py +0 -18
  211. build/lib/build/lib/clitt/core/icons/font_awesome/app_icons.py +0 -55
  212. build/lib/build/lib/clitt/core/icons/font_awesome/awesome.py +0 -76
  213. build/lib/build/lib/clitt/core/icons/font_awesome/dashboard_icons.py +0 -93
  214. build/lib/build/lib/clitt/core/icons/font_awesome/form_icons.py +0 -69
  215. build/lib/build/lib/clitt/core/icons/font_awesome/game_icons.py +0 -59
  216. build/lib/build/lib/clitt/core/icons/font_awesome/nav_icons.py +0 -42
  217. build/lib/build/lib/clitt/core/icons/font_awesome/trickplay_icons.py +0 -39
  218. build/lib/build/lib/clitt/core/icons/font_awesome/widget_icons.py +0 -37
  219. build/lib/build/lib/clitt/core/preferences.py +0 -87
  220. build/lib/build/lib/clitt/core/term/__init__.py +0 -14
  221. build/lib/build/lib/clitt/core/term/commons.py +0 -106
  222. build/lib/build/lib/clitt/core/term/cursor.py +0 -174
  223. build/lib/build/lib/clitt/core/term/screen.py +0 -106
  224. build/lib/build/lib/clitt/core/term/terminal.py +0 -202
  225. build/lib/build/lib/clitt/core/tui/__init__.py +0 -20
  226. build/lib/build/lib/clitt/core/tui/line_input/__init__.py +0 -12
  227. build/lib/build/lib/clitt/core/tui/line_input/keyboard_input.py +0 -229
  228. build/lib/build/lib/clitt/core/tui/line_input/line_input.py +0 -31
  229. build/lib/build/lib/clitt/core/tui/mchoose/__init__.py +0 -12
  230. build/lib/build/lib/clitt/core/tui/mchoose/mchoose.py +0 -43
  231. build/lib/build/lib/clitt/core/tui/mchoose/menu_choose.py +0 -192
  232. build/lib/build/lib/clitt/core/tui/mdashboard/__init__.py +0 -14
  233. build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_builder.py +0 -54
  234. build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_item.py +0 -31
  235. build/lib/build/lib/clitt/core/tui/mdashboard/mdashboard.py +0 -26
  236. build/lib/build/lib/clitt/core/tui/mdashboard/menu_dashboard.py +0 -148
  237. build/lib/build/lib/clitt/core/tui/menu/__init__.py +0 -16
  238. build/lib/build/lib/clitt/core/tui/menu/tui_menu.py +0 -111
  239. build/lib/build/lib/clitt/core/tui/menu/tui_menu_action.py +0 -47
  240. build/lib/build/lib/clitt/core/tui/menu/tui_menu_factory.py +0 -117
  241. build/lib/build/lib/clitt/core/tui/menu/tui_menu_item.py +0 -196
  242. build/lib/build/lib/clitt/core/tui/menu/tui_menu_ui.py +0 -98
  243. build/lib/build/lib/clitt/core/tui/menu/tui_menu_view.py +0 -57
  244. build/lib/build/lib/clitt/core/tui/minput/__init__.py +0 -19
  245. build/lib/build/lib/clitt/core/tui/minput/access_type.py +0 -26
  246. build/lib/build/lib/clitt/core/tui/minput/field_builder.py +0 -117
  247. build/lib/build/lib/clitt/core/tui/minput/form_builder.py +0 -72
  248. build/lib/build/lib/clitt/core/tui/minput/form_field.py +0 -180
  249. build/lib/build/lib/clitt/core/tui/minput/input_type.py +0 -30
  250. build/lib/build/lib/clitt/core/tui/minput/input_validator.py +0 -98
  251. build/lib/build/lib/clitt/core/tui/minput/menu_input.py +0 -292
  252. build/lib/build/lib/clitt/core/tui/minput/minput.py +0 -44
  253. build/lib/build/lib/clitt/core/tui/minput/minput_utils.py +0 -156
  254. build/lib/build/lib/clitt/core/tui/mselect/__init__.py +0 -12
  255. build/lib/build/lib/clitt/core/tui/mselect/menu_select.py +0 -170
  256. build/lib/build/lib/clitt/core/tui/mselect/mselect.py +0 -36
  257. build/lib/build/lib/clitt/core/tui/table/__init__.py +0 -12
  258. build/lib/build/lib/clitt/core/tui/table/table_enums.py +0 -47
  259. build/lib/build/lib/clitt/core/tui/table/table_renderer.py +0 -339
  260. build/lib/build/lib/clitt/core/tui/tui_application.py +0 -52
  261. build/lib/build/lib/clitt/core/tui/tui_component.py +0 -154
  262. build/lib/build/lib/clitt/core/tui/tui_preferences.py +0 -103
  263. build/lib/build/lib/clitt/utils/__init__.py +0 -11
  264. build/lib/build/lib/clitt/utils/git_utils.py +0 -66
  265. build/lib/clitt/__classpath__.py +0 -28
  266. build/lib/clitt/__init__.py +0 -13
  267. build/lib/clitt/__main__.py +0 -139
  268. build/lib/clitt/addons/__init__.py +0 -12
  269. build/lib/clitt/addons/appman/__init__.py +0 -13
  270. build/lib/clitt/addons/appman/appman.py +0 -305
  271. build/lib/clitt/addons/appman/appman_enums.py +0 -39
  272. build/lib/clitt/addons/appman/templates/__init__.py +0 -11
  273. build/lib/clitt/addons/widman/__init__.py +0 -14
  274. build/lib/clitt/addons/widman/widget.py +0 -70
  275. build/lib/clitt/addons/widman/widget_entry.py +0 -54
  276. build/lib/clitt/addons/widman/widgets/__init__.py +0 -14
  277. build/lib/clitt/addons/widman/widgets/widget_free.py +0 -110
  278. build/lib/clitt/addons/widman/widgets/widget_punch.py +0 -246
  279. build/lib/clitt/addons/widman/widgets/widget_send_msg.py +0 -272
  280. build/lib/clitt/addons/widman/widgets/widget_time_calc.py +0 -146
  281. build/lib/clitt/addons/widman/widman.py +0 -123
  282. build/lib/clitt/core/__init__.py +0 -15
  283. build/lib/clitt/core/exception/__init__.py +0 -11
  284. build/lib/clitt/core/exception/exceptions.py +0 -19
  285. build/lib/clitt/core/icons/__init__.py +0 -12
  286. build/lib/clitt/core/icons/emojis/__init__.py +0 -12
  287. build/lib/clitt/core/icons/emojis/emojis.py +0 -41
  288. build/lib/clitt/core/icons/emojis/face_smiling.py +0 -40
  289. build/lib/clitt/core/icons/font_awesome/__init__.py +0 -18
  290. build/lib/clitt/core/icons/font_awesome/app_icons.py +0 -55
  291. build/lib/clitt/core/icons/font_awesome/awesome.py +0 -76
  292. build/lib/clitt/core/icons/font_awesome/dashboard_icons.py +0 -93
  293. build/lib/clitt/core/icons/font_awesome/form_icons.py +0 -69
  294. build/lib/clitt/core/icons/font_awesome/game_icons.py +0 -59
  295. build/lib/clitt/core/icons/font_awesome/nav_icons.py +0 -42
  296. build/lib/clitt/core/icons/font_awesome/trickplay_icons.py +0 -39
  297. build/lib/clitt/core/icons/font_awesome/widget_icons.py +0 -37
  298. build/lib/clitt/core/preferences.py +0 -87
  299. build/lib/clitt/core/term/__init__.py +0 -14
  300. build/lib/clitt/core/term/commons.py +0 -106
  301. build/lib/clitt/core/term/cursor.py +0 -174
  302. build/lib/clitt/core/term/screen.py +0 -106
  303. build/lib/clitt/core/term/terminal.py +0 -202
  304. build/lib/clitt/core/tui/__init__.py +0 -20
  305. build/lib/clitt/core/tui/line_input/__init__.py +0 -12
  306. build/lib/clitt/core/tui/line_input/keyboard_input.py +0 -229
  307. build/lib/clitt/core/tui/line_input/line_input.py +0 -31
  308. build/lib/clitt/core/tui/mchoose/__init__.py +0 -12
  309. build/lib/clitt/core/tui/mchoose/mchoose.py +0 -43
  310. build/lib/clitt/core/tui/mchoose/menu_choose.py +0 -192
  311. build/lib/clitt/core/tui/mdashboard/__init__.py +0 -14
  312. build/lib/clitt/core/tui/mdashboard/dashboard_builder.py +0 -54
  313. build/lib/clitt/core/tui/mdashboard/dashboard_item.py +0 -31
  314. build/lib/clitt/core/tui/mdashboard/mdashboard.py +0 -26
  315. build/lib/clitt/core/tui/mdashboard/menu_dashboard.py +0 -148
  316. build/lib/clitt/core/tui/menu/__init__.py +0 -16
  317. build/lib/clitt/core/tui/menu/tui_menu.py +0 -111
  318. build/lib/clitt/core/tui/menu/tui_menu_action.py +0 -47
  319. build/lib/clitt/core/tui/menu/tui_menu_factory.py +0 -117
  320. build/lib/clitt/core/tui/menu/tui_menu_item.py +0 -196
  321. build/lib/clitt/core/tui/menu/tui_menu_ui.py +0 -98
  322. build/lib/clitt/core/tui/menu/tui_menu_view.py +0 -57
  323. build/lib/clitt/core/tui/minput/__init__.py +0 -19
  324. build/lib/clitt/core/tui/minput/access_type.py +0 -26
  325. build/lib/clitt/core/tui/minput/field_builder.py +0 -117
  326. build/lib/clitt/core/tui/minput/form_builder.py +0 -72
  327. build/lib/clitt/core/tui/minput/form_field.py +0 -180
  328. build/lib/clitt/core/tui/minput/input_type.py +0 -30
  329. build/lib/clitt/core/tui/minput/input_validator.py +0 -98
  330. build/lib/clitt/core/tui/minput/menu_input.py +0 -292
  331. build/lib/clitt/core/tui/minput/minput.py +0 -44
  332. build/lib/clitt/core/tui/minput/minput_utils.py +0 -156
  333. build/lib/clitt/core/tui/mselect/__init__.py +0 -12
  334. build/lib/clitt/core/tui/mselect/menu_select.py +0 -170
  335. build/lib/clitt/core/tui/mselect/mselect.py +0 -36
  336. build/lib/clitt/core/tui/table/__init__.py +0 -12
  337. build/lib/clitt/core/tui/table/table_enums.py +0 -47
  338. build/lib/clitt/core/tui/table/table_renderer.py +0 -339
  339. build/lib/clitt/core/tui/tui_application.py +0 -52
  340. build/lib/clitt/core/tui/tui_component.py +0 -154
  341. build/lib/clitt/core/tui/tui_preferences.py +0 -103
  342. build/lib/clitt/utils/__init__.py +0 -11
  343. build/lib/clitt/utils/git_utils.py +0 -66
  344. hspylib_clitt-0.9.119.dist-info/RECORD +0 -413
  345. {hspylib_clitt-0.9.119.dist-info → hspylib_clitt-0.9.121.dist-info}/WHEEL +0 -0
clitt/.version CHANGED
@@ -1 +1 @@
1
- 0.9.119
1
+ 0.9.121
clitt/__init__.py CHANGED
@@ -1,8 +1,8 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.119
3
+ # hspylib-clitt v0.9.121
4
4
  #
5
- # Package: main.build.lib.clitt
5
+ # Package: main.clitt
6
6
  """Package initialization."""
7
7
 
8
8
  __all__ = [
@@ -10,4 +10,4 @@ __all__ = [
10
10
  'core',
11
11
  'utils'
12
12
  ]
13
- __version__ = '0.9.119'
13
+ __version__ = '0.9.121'
clitt/addons/__init__.py CHANGED
@@ -1,12 +1,12 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.119
3
+ # hspylib-clitt v0.9.121
4
4
  #
5
- # Package: main.build.lib.clitt.addons
5
+ # Package: main.clitt.addons
6
6
  """Package initialization."""
7
7
 
8
8
  __all__ = [
9
9
  'appman',
10
10
  'widman'
11
11
  ]
12
- __version__ = '0.9.119'
12
+ __version__ = '0.9.121'
@@ -1,8 +1,8 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.119
3
+ # hspylib-clitt v0.9.121
4
4
  #
5
- # Package: main.build.lib.clitt.addons.appman
5
+ # Package: main.clitt.addons.appman
6
6
  """Package initialization."""
7
7
 
8
8
  __all__ = [
@@ -10,4 +10,4 @@ __all__ = [
10
10
  'appman_enums',
11
11
  'templates'
12
12
  ]
13
- __version__ = '0.9.119'
13
+ __version__ = '0.9.121'
@@ -1,11 +1,11 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.119
3
+ # hspylib-clitt v0.9.121
4
4
  #
5
- # Package: main.build.lib.clitt.addons.appman.templates
5
+ # Package: main.clitt.addons.appman.templates
6
6
  """Package initialization."""
7
7
 
8
8
  __all__ = [
9
9
 
10
10
  ]
11
- __version__ = '0.9.119'
11
+ __version__ = '0.9.121'
@@ -1,8 +1,8 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.119
3
+ # hspylib-clitt v0.9.121
4
4
  #
5
- # Package: main.build.lib.clitt.addons.widman
5
+ # Package: main.clitt.addons.widman
6
6
  """Package initialization."""
7
7
 
8
8
  __all__ = [
@@ -11,4 +11,4 @@ __all__ = [
11
11
  'widgets',
12
12
  'widman'
13
13
  ]
14
- __version__ = '0.9.119'
14
+ __version__ = '0.9.121'
@@ -1,8 +1,8 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.119
3
+ # hspylib-clitt v0.9.121
4
4
  #
5
- # Package: main.build.lib.clitt.addons.widman.widgets
5
+ # Package: main.clitt.addons.widman.widgets
6
6
  """Package initialization."""
7
7
 
8
8
  __all__ = [
@@ -11,4 +11,4 @@ __all__ = [
11
11
  'widget_send_msg',
12
12
  'widget_time_calc'
13
13
  ]
14
- __version__ = '0.9.119'
14
+ __version__ = '0.9.121'
clitt/core/__init__.py CHANGED
@@ -1,8 +1,8 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.119
3
+ # hspylib-clitt v0.9.121
4
4
  #
5
- # Package: main.build.lib.clitt.core
5
+ # Package: main.clitt.core
6
6
  """Package initialization."""
7
7
 
8
8
  __all__ = [
@@ -12,4 +12,4 @@ __all__ = [
12
12
  'term',
13
13
  'tui'
14
14
  ]
15
- __version__ = '0.9.119'
15
+ __version__ = '0.9.121'
@@ -1,11 +1,11 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.119
3
+ # hspylib-clitt v0.9.121
4
4
  #
5
- # Package: main.build.lib.clitt.core.exception
5
+ # Package: main.clitt.core.exception
6
6
  """Package initialization."""
7
7
 
8
8
  __all__ = [
9
9
  'exceptions'
10
10
  ]
11
- __version__ = '0.9.119'
11
+ __version__ = '0.9.121'
@@ -1,12 +1,12 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.119
3
+ # hspylib-clitt v0.9.121
4
4
  #
5
- # Package: main.build.lib.clitt.core.icons
5
+ # Package: main.clitt.core.icons
6
6
  """Package initialization."""
7
7
 
8
8
  __all__ = [
9
9
  'emojis',
10
10
  'font_awesome'
11
11
  ]
12
- __version__ = '0.9.119'
12
+ __version__ = '0.9.121'
@@ -1,12 +1,12 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.119
3
+ # hspylib-clitt v0.9.121
4
4
  #
5
- # Package: main.build.lib.clitt.core.icons.emojis
5
+ # Package: main.clitt.core.icons.emojis
6
6
  """Package initialization."""
7
7
 
8
8
  __all__ = [
9
9
  'emojis',
10
10
  'face_smiling'
11
11
  ]
12
- __version__ = '0.9.119'
12
+ __version__ = '0.9.121'
@@ -1,8 +1,8 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.119
3
+ # hspylib-clitt v0.9.121
4
4
  #
5
- # Package: main.build.lib.clitt.core.icons.font_awesome
5
+ # Package: main.clitt.core.icons.font_awesome
6
6
  """Package initialization."""
7
7
 
8
8
  __all__ = [
@@ -15,4 +15,4 @@ __all__ = [
15
15
  'trickplay_icons',
16
16
  'widget_icons'
17
17
  ]
18
- __version__ = '0.9.119'
18
+ __version__ = '0.9.121'
@@ -1,8 +1,8 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.119
3
+ # hspylib-clitt v0.9.121
4
4
  #
5
- # Package: main.build.lib.clitt.core.term
5
+ # Package: main.clitt.core.term
6
6
  """Package initialization."""
7
7
 
8
8
  __all__ = [
@@ -11,4 +11,4 @@ __all__ = [
11
11
  'screen',
12
12
  'terminal'
13
13
  ]
14
- __version__ = '0.9.119'
14
+ __version__ = '0.9.121'
@@ -1,8 +1,8 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.119
3
+ # hspylib-clitt v0.9.121
4
4
  #
5
- # Package: main.build.lib.clitt.core.tui
5
+ # Package: main.clitt.core.tui
6
6
  """Package initialization."""
7
7
 
8
8
  __all__ = [
@@ -17,4 +17,4 @@ __all__ = [
17
17
  'tui_component',
18
18
  'tui_preferences'
19
19
  ]
20
- __version__ = '0.9.119'
20
+ __version__ = '0.9.121'
@@ -1,12 +1,12 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.119
3
+ # hspylib-clitt v0.9.121
4
4
  #
5
- # Package: main.build.lib.clitt.core.tui.line_input
5
+ # Package: main.clitt.core.tui.line_input
6
6
  """Package initialization."""
7
7
 
8
8
  __all__ = [
9
9
  'keyboard_input',
10
10
  'line_input'
11
11
  ]
12
- __version__ = '0.9.119'
12
+ __version__ = '0.9.121'
@@ -13,14 +13,14 @@
13
13
  Copyright·(c)·2024,·HSPyLib
14
14
  """
15
15
 
16
+ from typing import Optional
17
+
16
18
  from clitt.core.term.commons import Direction
17
19
  from clitt.core.term.terminal import Terminal
18
20
  from clitt.core.tui.tui_component import TUIComponent
21
+ from hspylib.core.tools.dict_tools import get_or_default
19
22
  from hspylib.modules.cli.keyboard import Keyboard
20
23
  from hspylib.modules.cli.vt100.vt_color import VtColor
21
- from typing import Dict, List, Optional
22
-
23
- import pyperclip
24
24
 
25
25
 
26
26
  class KeyboardInput(TUIComponent):
@@ -30,57 +30,47 @@ class KeyboardInput(TUIComponent):
30
30
  _HIST_INDEX: int = 0
31
31
 
32
32
  # Dict containing all previously accepted inputs.
33
- _HISTORY: Dict[int, str] = {0: ""}
33
+ _HISTORY: list[str] = [""]
34
34
 
35
35
  # Stack containing current input changes.
36
- _UNDO_HISTORY: List[str] = []
36
+ _UNDO_HISTORY: list[str] = []
37
37
 
38
38
  # Stack containing current input reverts.
39
- _REDO_HISTORY: List[str] = []
40
-
41
- @staticmethod
42
- def preload_history(history: List[str]) -> None:
43
- """Preload the input with the provided dictionary."""
44
- rev_history = reversed(history)
45
- for entry in rev_history:
46
- KeyboardInput._add_history(entry)
47
- KeyboardInput._HIST_INDEX = 0
48
-
49
- @staticmethod
50
- def forget_history() -> None:
39
+ _REDO_HISTORY: list[str] = []
40
+
41
+ @classmethod
42
+ def preload_history(cls, history: list[str]) -> None:
43
+ """Preload the input with the provided dictionary.
44
+ :param history: The history keyboard inputs.
45
+ """
46
+ for entry in reversed(history):
47
+ cls._add_history(entry)
48
+ cls._HIST_INDEX = max(0, len(cls._HISTORY) - 1)
49
+
50
+ @classmethod
51
+ def forget_history(cls) -> None:
51
52
  """Forget all input history entries."""
52
- tmp: str = KeyboardInput._HISTORY[0]
53
- KeyboardInput._HISTORY.clear()
54
- KeyboardInput._HISTORY[0] = tmp
53
+ tmp: str = cls._HISTORY[-1]
54
+ cls._HISTORY.clear()
55
+ cls._HISTORY.append(tmp)
55
56
 
56
- @staticmethod
57
- def history() -> List[str]:
57
+ @classmethod
58
+ def history(cls) -> list[str]:
58
59
  """Return the actual input history."""
59
- return list(filter(lambda v: v, KeyboardInput._HISTORY.values()))
60
+ return list(filter(lambda v: v, cls._HISTORY))
60
61
 
61
- @staticmethod
62
- def _add_history(input_text: str) -> None:
62
+ @classmethod
63
+ def _add_history(cls, input_text: str) -> None:
63
64
  """Add the following input to the history set.
64
65
  :param input_text: The input text to add to the history.
65
66
  """
66
- if input_text and input_text not in list(KeyboardInput._HISTORY.values())[1:]:
67
- idx: int = max(1, len(KeyboardInput._HISTORY))
68
- KeyboardInput._HISTORY[idx] = input_text
69
- KeyboardInput._HIST_INDEX = idx
70
-
71
- @classmethod
72
- def _next_in_history(cls) -> Optional[str]:
73
- index = min(len(cls._HISTORY) - 1, cls._HIST_INDEX + 1)
74
- text = cls._HISTORY.get(index, "")
75
- cls._HIST_INDEX = index
76
- return text or cls._HISTORY[0]
77
-
78
- @classmethod
79
- def _prev_in_history(cls) -> Optional[str]:
80
- index = max(0, cls._HIST_INDEX - 1)
81
- text = cls._HISTORY.get(index, "")
82
- cls._HIST_INDEX = index
83
- return text or cls._HISTORY[0]
67
+ if input_text and input_text not in list(cls._HISTORY)[1:]:
68
+ idx: int = max(1, len(cls._HISTORY))
69
+ if input_text not in cls._HISTORY:
70
+ cls._HISTORY.insert(idx - 1, input_text)
71
+ else:
72
+ cls._HISTORY = cls._HISTORY[1:-1] + cls._HISTORY[:1] + cls._HISTORY[-1:]
73
+ cls._HIST_INDEX = idx
84
74
 
85
75
  @classmethod
86
76
  def _undo(cls) -> Optional[str]:
@@ -104,43 +94,29 @@ class KeyboardInput(TUIComponent):
104
94
  navbar_enable: bool = False,
105
95
  ):
106
96
  super().__init__(prompt)
107
- self._prompt_color = prompt_color
108
- self._text_color = text_color
109
- self._navbar_enable = navbar_enable
110
- self._input_index = 0
97
+ self._prompt_color: VtColor = prompt_color
98
+ self._text_color: VtColor = text_color
99
+ self._navbar_enable: bool = navbar_enable
100
+ self._input_index: int = 0
111
101
  self._input_text: str = ""
112
- self._HISTORY[0] = ""
102
+ self._HISTORY[-1] = ""
113
103
 
114
104
  @property
115
105
  def length(self) -> int:
116
106
  return len(self._input_text) if self._input_text else 0
117
107
 
118
108
  def _prepare_render(self, auto_wrap: bool = True, show_cursor: bool = True) -> None:
109
+ self.screen.add_watcher(self.invalidate)
119
110
  Terminal.set_auto_wrap(auto_wrap)
120
111
  Terminal.set_show_cursor(show_cursor)
121
112
  self.cursor.save()
122
113
 
123
- def _loop(self, break_keys: List[Keyboard] = None) -> Keyboard:
124
- break_keys = break_keys or Keyboard.break_keys()
125
- keypress = Keyboard.VK_NONE
126
-
127
- # Wait for user interaction
128
- while not self._done and keypress and keypress not in break_keys:
129
- # Menu Renderization
130
- if self._re_render:
131
- self.render()
132
- # Navigation input
133
- keypress = self.handle_keypress()
134
-
135
- return keypress
136
-
137
114
  def execute(self) -> Optional[str | Keyboard]:
138
- self.write(f"{self._prompt_color.placeholder}{self.title}{self._text_color.placeholder}")
139
115
  self._prepare_render()
140
116
  keypress = self._loop() or Keyboard.VK_ESC
141
117
 
142
118
  if keypress.isEnter():
143
- self._add_history(self._input_text)
119
+ self._HISTORY.append('')
144
120
  self._UNDO_HISTORY.clear()
145
121
  self._REDO_HISTORY.clear()
146
122
  elif keypress == Keyboard.VK_ESC:
@@ -150,11 +126,31 @@ class KeyboardInput(TUIComponent):
150
126
 
151
127
  return self._input_text
152
128
 
129
+ def reset(self) -> None:
130
+ """Reset the contents of the input."""
131
+ self._input_index = 0
132
+ self._update_input("")
133
+
134
+ def _loop(self, break_keys: list[Keyboard] = None) -> Keyboard:
135
+ break_keys = break_keys or Keyboard.break_keys()
136
+ keypress = Keyboard.VK_NONE
137
+
138
+ # Wait for user interaction
139
+ while not self._done and keypress and keypress not in break_keys:
140
+ # Menu Renderization
141
+ if self._re_render:
142
+ self.render()
143
+ # Navigation input
144
+ keypress = self.handle_keypress()
145
+
146
+ return keypress
147
+
153
148
  def render(self) -> None:
154
149
  Terminal.set_show_cursor(False)
155
150
  self.cursor.restore()
151
+ self.write(f"{self._prompt_color.placeholder}{self.title}{self._text_color.placeholder}")
156
152
  self.write(self._input_text)
157
- self._terminal.cursor.erase(Direction.RIGHT)
153
+ self._terminal.cursor.erase(Direction.DOWN)
158
154
  self._re_render = False
159
155
  self._set_cursor_pos()
160
156
  Terminal.set_show_cursor()
@@ -175,26 +171,19 @@ class KeyboardInput(TUIComponent):
175
171
  self._update_input(
176
172
  self._input_text[: self._input_index] + self._input_text[1 + self._input_index :]
177
173
  )
178
- case Keyboard.VK_CTRL_F: # Forget history
174
+ case Keyboard.VK_CTRL_R:
175
+ self.reset()
176
+ case Keyboard.VK_CTRL_F:
179
177
  self.forget_history()
180
- case Keyboard.VK_CTRL_P: # Paste from clipboard
181
- text = (pyperclip.paste() or "").replace("\n", "↵")
182
- self._update_input(
183
- self._input_text[: self._input_index] + text + self._input_text[self._input_index :]
184
- )
185
- self._input_index += len(text)
186
- case Keyboard.VK_CTRL_R: # Reset contents
187
- self._input_index = 0
188
- self._update_input("")
189
178
  case Keyboard.VK_LEFT:
190
179
  self._input_index = max(0, self._input_index - 1)
191
180
  case Keyboard.VK_RIGHT:
192
181
  self._input_index = min(self.length, self._input_index + 1)
193
182
  case Keyboard.VK_UP:
194
- self._input_text = self._next_in_history()
183
+ self._input_text = self._prev_in_history()
195
184
  self._input_index = self.length
196
185
  case Keyboard.VK_DOWN:
197
- self._input_text = self._prev_in_history()
186
+ self._input_text = self._next_in_history()
198
187
  self._input_index = self.length
199
188
  case Keyboard.VK_HOME:
200
189
  self._input_index = 0
@@ -224,6 +213,24 @@ class KeyboardInput(TUIComponent):
224
213
  :param text: The text to be set.
225
214
  """
226
215
  self._UNDO_HISTORY.append(self._input_text)
227
- self._HISTORY[0] = text if text not in self._HISTORY else self._input_text
216
+ self._HISTORY[-1] = text if text not in self._HISTORY else self._input_text
228
217
  self._input_text = text
229
218
  return text
219
+
220
+ def _next_in_history(self) -> str:
221
+ """Return the next input in history."""
222
+ edt_text: str = self._HISTORY[-1]
223
+ filtered: list[str] = list(filter(lambda h: h.startswith(edt_text), self._HISTORY))
224
+ index = min(len(filtered) - 1, self._HIST_INDEX + 1)
225
+ text = get_or_default(filtered, index, "")
226
+ self._HIST_INDEX = index
227
+ return text or filtered[-1]
228
+
229
+ def _prev_in_history(self) -> str:
230
+ """Return the previous input in history."""
231
+ edt_text: str = self._HISTORY[-1]
232
+ filtered: list[str] = list(filter(lambda h: h.lower().startswith(edt_text.lower()), self._HISTORY))
233
+ index = max(0, min(len(filtered) - 2, self._HIST_INDEX - 1))
234
+ text = get_or_default(filtered, index, "")
235
+ self._HIST_INDEX = index
236
+ return text or filtered[-1]
@@ -1,12 +1,12 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.119
3
+ # hspylib-clitt v0.9.121
4
4
  #
5
- # Package: main.build.lib.clitt.core.tui.mchoose
5
+ # Package: main.clitt.core.tui.mchoose
6
6
  """Package initialization."""
7
7
 
8
8
  __all__ = [
9
9
  'mchoose',
10
10
  'menu_choose'
11
11
  ]
12
- __version__ = '0.9.119'
12
+ __version__ = '0.9.121'
@@ -1,8 +1,8 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.119
3
+ # hspylib-clitt v0.9.121
4
4
  #
5
- # Package: main.build.lib.clitt.core.tui.mdashboard
5
+ # Package: main.clitt.core.tui.mdashboard
6
6
  """Package initialization."""
7
7
 
8
8
  __all__ = [
@@ -11,4 +11,4 @@ __all__ = [
11
11
  'mdashboard',
12
12
  'menu_dashboard'
13
13
  ]
14
- __version__ = '0.9.119'
14
+ __version__ = '0.9.121'
@@ -1,8 +1,8 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.119
3
+ # hspylib-clitt v0.9.121
4
4
  #
5
- # Package: main.build.lib.clitt.core.tui.menu
5
+ # Package: main.clitt.core.tui.menu
6
6
  """Package initialization."""
7
7
 
8
8
  __all__ = [
@@ -13,4 +13,4 @@ __all__ = [
13
13
  'tui_menu_ui',
14
14
  'tui_menu_view'
15
15
  ]
16
- __version__ = '0.9.119'
16
+ __version__ = '0.9.121'
@@ -1,8 +1,8 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.119
3
+ # hspylib-clitt v0.9.121
4
4
  #
5
- # Package: main.build.lib.clitt.core.tui.minput
5
+ # Package: main.clitt.core.tui.minput
6
6
  """Package initialization."""
7
7
 
8
8
  __all__ = [
@@ -16,4 +16,4 @@ __all__ = [
16
16
  'minput',
17
17
  'minput_utils'
18
18
  ]
19
- __version__ = '0.9.119'
19
+ __version__ = '0.9.121'
@@ -12,6 +12,12 @@
12
12
 
13
13
  Copyright·(c)·2024,·HSPyLib
14
14
  """
15
+ import re
16
+ from functools import reduce
17
+ from operator import add
18
+ from time import sleep
19
+ from typing import List, Optional
20
+
15
21
  from clitt.core.icons.font_awesome.form_icons import FormIcons
16
22
  from clitt.core.icons.font_awesome.nav_icons import NavIcons
17
23
  from clitt.core.term.commons import Direction, get_cursor_position
@@ -22,17 +28,10 @@ from clitt.core.tui.minput.form_field import FormField
22
28
  from clitt.core.tui.minput.input_type import InputType
23
29
  from clitt.core.tui.minput.minput_utils import MASK_SYMBOLS, VALUE_SEPARATORS
24
30
  from clitt.core.tui.tui_component import TUIComponent
25
- from functools import reduce
26
31
  from hspylib.core.exception.exceptions import InvalidInputError, InvalidStateError
27
32
  from hspylib.core.namespace import Namespace
28
33
  from hspylib.core.tools.text_tools import xstr
29
34
  from hspylib.modules.cli.keyboard import Keyboard
30
- from operator import add
31
- from time import sleep
32
- from typing import List, Optional
33
-
34
- import pyperclip
35
- import re
36
35
 
37
36
 
38
37
  class MenuInput(TUIComponent):
@@ -100,7 +99,7 @@ class MenuInput(TUIComponent):
100
99
  f"%EOL%{NavIcons.POINTER} %GREEN%{self.cur_field.tooltip or f'the {self.cur_field.label.lower()}'}%NC%"
101
100
  f"%EOL%{self.prefs.navbar_color.placeholder}%EOL%"
102
101
  f"[Enter] Submit [{self.NAV_ICONS}] "
103
- f"Navigate [{NavIcons.TAB}] Next [Space] Toggle [^P] Paste [Esc] Quit %NC%"
102
+ f"Navigate [{NavIcons.TAB}] Next [Space] Toggle [Esc] Quit %NC%"
104
103
  )
105
104
 
106
105
  def handle_keypress(self) -> Keyboard:
@@ -119,8 +118,6 @@ class MenuInput(TUIComponent):
119
118
  self._display_error("This field is read only !")
120
119
  else:
121
120
  self._handle_backspace()
122
- case Keyboard.VK_CTRL_P:
123
- self._handle_ctrl_p()
124
121
  case Keyboard.VK_ENTER:
125
122
  return self._handle_enter()
126
123
  case _ as key if key.isalnum() or key.ispunct() or key == Keyboard.VK_SPACE:
@@ -201,11 +198,6 @@ class MenuInput(TUIComponent):
201
198
  elif not self.cur_field.can_write():
202
199
  self._display_error("This field is read only !")
203
200
 
204
- def _handle_ctrl_p(self) -> None:
205
- """Handle 'ctrl + p' press. Paste content from clipboard."""
206
- for c in pyperclip.paste():
207
- self._handle_input(Keyboard.of_value(c))
208
-
209
201
  def _set_cursor_pos(self) -> None:
210
202
  """Set the cursor at the right position according to the ATB index."""
211
203
  pos = self.positions[self.tab_index]
@@ -1,12 +1,12 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.119
3
+ # hspylib-clitt v0.9.121
4
4
  #
5
- # Package: main.build.lib.clitt.core.tui.mselect
5
+ # Package: main.clitt.core.tui.mselect
6
6
  """Package initialization."""
7
7
 
8
8
  __all__ = [
9
9
  'menu_select',
10
10
  'mselect'
11
11
  ]
12
- __version__ = '0.9.119'
12
+ __version__ = '0.9.121'
@@ -1,12 +1,12 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.119
3
+ # hspylib-clitt v0.9.121
4
4
  #
5
- # Package: main.build.lib.clitt.core.tui.table
5
+ # Package: main.clitt.core.tui.table
6
6
  """Package initialization."""
7
7
 
8
8
  __all__ = [
9
9
  'table_enums',
10
10
  'table_renderer'
11
11
  ]
12
- __version__ = '0.9.119'
12
+ __version__ = '0.9.121'
clitt/utils/__init__.py CHANGED
@@ -1,11 +1,11 @@
1
1
  # _*_ coding: utf-8 _*_
2
2
  #
3
- # hspylib-clitt v0.9.119
3
+ # hspylib-clitt v0.9.121
4
4
  #
5
- # Package: main.build.lib.clitt.utils
5
+ # Package: main.clitt.utils
6
6
  """Package initialization."""
7
7
 
8
8
  __all__ = [
9
9
  'git_utils'
10
10
  ]
11
- __version__ = '0.9.119'
11
+ __version__ = '0.9.121'