hspylib-clitt 0.9.116__py3-none-any.whl → 0.9.117__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 (353) hide show
  1. clitt/.version +1 -1
  2. clitt/__classpath__.py +2 -2
  3. clitt/__init__.py +3 -3
  4. clitt/__main__.py +3 -3
  5. clitt/addons/__init__.py +3 -3
  6. clitt/addons/appman/__init__.py +3 -3
  7. clitt/addons/appman/templates/__init__.py +3 -3
  8. clitt/addons/appman/templates/main_qt_view.py.tpl +1 -1
  9. clitt/addons/widman/__init__.py +3 -3
  10. clitt/addons/widman/widgets/__init__.py +3 -3
  11. clitt/core/__init__.py +3 -3
  12. clitt/core/exception/__init__.py +3 -3
  13. clitt/core/icons/__init__.py +3 -3
  14. clitt/core/icons/emojis/__init__.py +3 -3
  15. clitt/core/icons/font_awesome/__init__.py +3 -3
  16. clitt/core/term/__init__.py +3 -3
  17. clitt/core/term/cursor.py +1 -1
  18. clitt/core/term/screen.py +1 -1
  19. clitt/core/term/terminal.py +1 -1
  20. clitt/core/tui/__init__.py +3 -3
  21. clitt/core/tui/line_input/__init__.py +3 -3
  22. clitt/core/tui/line_input/keyboard_input.py +34 -34
  23. clitt/core/tui/line_input/line_input.py +5 -13
  24. clitt/core/tui/mchoose/__init__.py +3 -3
  25. clitt/core/tui/mdashboard/__init__.py +3 -3
  26. clitt/core/tui/menu/__init__.py +3 -3
  27. clitt/core/tui/minput/__init__.py +3 -3
  28. clitt/core/tui/mselect/__init__.py +3 -3
  29. clitt/core/tui/table/__init__.py +3 -3
  30. clitt/core/tui/tui_application.py +11 -23
  31. clitt/core/tui/tui_preferences.py +1 -1
  32. clitt/utils/__init__.py +3 -3
  33. {hspylib_clitt-0.9.116.dist-info → hspylib_clitt-0.9.117.dist-info}/METADATA +2 -2
  34. hspylib_clitt-0.9.117.dist-info/RECORD +97 -0
  35. {hspylib_clitt-0.9.116.dist-info → hspylib_clitt-0.9.117.dist-info}/WHEEL +1 -1
  36. {hspylib_clitt-0.9.116.dist-info → hspylib_clitt-0.9.117.dist-info}/top_level.txt +0 -1
  37. build/lib/build/lib/build/lib/build/lib/clitt/__classpath__.py +0 -28
  38. build/lib/build/lib/build/lib/build/lib/clitt/__init__.py +0 -13
  39. build/lib/build/lib/build/lib/build/lib/clitt/__main__.py +0 -139
  40. build/lib/build/lib/build/lib/build/lib/clitt/addons/__init__.py +0 -12
  41. build/lib/build/lib/build/lib/build/lib/clitt/addons/appman/__init__.py +0 -13
  42. build/lib/build/lib/build/lib/build/lib/clitt/addons/appman/appman.py +0 -305
  43. build/lib/build/lib/build/lib/build/lib/clitt/addons/appman/appman_enums.py +0 -39
  44. build/lib/build/lib/build/lib/build/lib/clitt/addons/appman/templates/__init__.py +0 -11
  45. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/__init__.py +0 -14
  46. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widget.py +0 -70
  47. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widget_entry.py +0 -54
  48. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widgets/__init__.py +0 -14
  49. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_free.py +0 -110
  50. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_punch.py +0 -246
  51. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_send_msg.py +0 -272
  52. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_time_calc.py +0 -146
  53. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widman.py +0 -123
  54. build/lib/build/lib/build/lib/build/lib/clitt/core/__init__.py +0 -15
  55. build/lib/build/lib/build/lib/build/lib/clitt/core/exception/__init__.py +0 -11
  56. build/lib/build/lib/build/lib/build/lib/clitt/core/exception/exceptions.py +0 -18
  57. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/__init__.py +0 -12
  58. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/emojis/__init__.py +0 -12
  59. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/emojis/emojis.py +0 -41
  60. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/emojis/face_smiling.py +0 -40
  61. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/__init__.py +0 -18
  62. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/app_icons.py +0 -55
  63. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/awesome.py +0 -76
  64. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/dashboard_icons.py +0 -93
  65. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/form_icons.py +0 -69
  66. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/game_icons.py +0 -59
  67. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/nav_icons.py +0 -42
  68. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/trickplay_icons.py +0 -39
  69. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/widget_icons.py +0 -37
  70. build/lib/build/lib/build/lib/build/lib/clitt/core/preferences.py +0 -87
  71. build/lib/build/lib/build/lib/build/lib/clitt/core/term/__init__.py +0 -14
  72. build/lib/build/lib/build/lib/build/lib/clitt/core/term/commons.py +0 -82
  73. build/lib/build/lib/build/lib/build/lib/clitt/core/term/cursor.py +0 -159
  74. build/lib/build/lib/build/lib/build/lib/clitt/core/term/screen.py +0 -91
  75. build/lib/build/lib/build/lib/build/lib/clitt/core/term/terminal.py +0 -203
  76. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/__init__.py +0 -20
  77. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/line_input/__init__.py +0 -12
  78. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/line_input/keyboard_input.py +0 -228
  79. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/line_input/line_input.py +0 -43
  80. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mchoose/__init__.py +0 -12
  81. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mchoose/mchoose.py +0 -44
  82. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mchoose/menu_choose.py +0 -200
  83. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/__init__.py +0 -14
  84. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_builder.py +0 -54
  85. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_item.py +0 -31
  86. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/mdashboard.py +0 -26
  87. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/menu_dashboard.py +0 -154
  88. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/__init__.py +0 -16
  89. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu.py +0 -111
  90. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_action.py +0 -47
  91. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_factory.py +0 -117
  92. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_item.py +0 -196
  93. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_ui.py +0 -98
  94. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_view.py +0 -57
  95. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/__init__.py +0 -19
  96. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/access_type.py +0 -26
  97. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/field_builder.py +0 -117
  98. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/form_builder.py +0 -72
  99. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/form_field.py +0 -180
  100. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/input_type.py +0 -30
  101. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/input_validator.py +0 -98
  102. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/menu_input.py +0 -292
  103. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/minput.py +0 -44
  104. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/minput_utils.py +0 -156
  105. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mselect/__init__.py +0 -12
  106. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mselect/menu_select.py +0 -171
  107. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mselect/mselect.py +0 -36
  108. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/table/__init__.py +0 -12
  109. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/table/table_enums.py +0 -47
  110. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/table/table_renderer.py +0 -339
  111. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/tui_application.py +0 -65
  112. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/tui_component.py +0 -155
  113. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/tui_preferences.py +0 -103
  114. build/lib/build/lib/build/lib/build/lib/clitt/utils/__init__.py +0 -11
  115. build/lib/build/lib/build/lib/build/lib/clitt/utils/git_utils.py +0 -66
  116. build/lib/build/lib/build/lib/clitt/__classpath__.py +0 -28
  117. build/lib/build/lib/build/lib/clitt/__init__.py +0 -13
  118. build/lib/build/lib/build/lib/clitt/__main__.py +0 -139
  119. build/lib/build/lib/build/lib/clitt/addons/__init__.py +0 -12
  120. build/lib/build/lib/build/lib/clitt/addons/appman/__init__.py +0 -13
  121. build/lib/build/lib/build/lib/clitt/addons/appman/appman.py +0 -305
  122. build/lib/build/lib/build/lib/clitt/addons/appman/appman_enums.py +0 -39
  123. build/lib/build/lib/build/lib/clitt/addons/appman/templates/__init__.py +0 -11
  124. build/lib/build/lib/build/lib/clitt/addons/widman/__init__.py +0 -14
  125. build/lib/build/lib/build/lib/clitt/addons/widman/widget.py +0 -70
  126. build/lib/build/lib/build/lib/clitt/addons/widman/widget_entry.py +0 -54
  127. build/lib/build/lib/build/lib/clitt/addons/widman/widgets/__init__.py +0 -14
  128. build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_free.py +0 -110
  129. build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_punch.py +0 -246
  130. build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_send_msg.py +0 -272
  131. build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_time_calc.py +0 -146
  132. build/lib/build/lib/build/lib/clitt/addons/widman/widman.py +0 -123
  133. build/lib/build/lib/build/lib/clitt/core/__init__.py +0 -15
  134. build/lib/build/lib/build/lib/clitt/core/exception/__init__.py +0 -11
  135. build/lib/build/lib/build/lib/clitt/core/exception/exceptions.py +0 -18
  136. build/lib/build/lib/build/lib/clitt/core/icons/__init__.py +0 -12
  137. build/lib/build/lib/build/lib/clitt/core/icons/emojis/__init__.py +0 -12
  138. build/lib/build/lib/build/lib/clitt/core/icons/emojis/emojis.py +0 -41
  139. build/lib/build/lib/build/lib/clitt/core/icons/emojis/face_smiling.py +0 -40
  140. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/__init__.py +0 -18
  141. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/app_icons.py +0 -55
  142. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/awesome.py +0 -76
  143. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/dashboard_icons.py +0 -93
  144. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/form_icons.py +0 -69
  145. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/game_icons.py +0 -59
  146. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/nav_icons.py +0 -42
  147. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/trickplay_icons.py +0 -39
  148. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/widget_icons.py +0 -37
  149. build/lib/build/lib/build/lib/clitt/core/preferences.py +0 -87
  150. build/lib/build/lib/build/lib/clitt/core/term/__init__.py +0 -14
  151. build/lib/build/lib/build/lib/clitt/core/term/commons.py +0 -82
  152. build/lib/build/lib/build/lib/clitt/core/term/cursor.py +0 -159
  153. build/lib/build/lib/build/lib/clitt/core/term/screen.py +0 -91
  154. build/lib/build/lib/build/lib/clitt/core/term/terminal.py +0 -203
  155. build/lib/build/lib/build/lib/clitt/core/tui/__init__.py +0 -20
  156. build/lib/build/lib/build/lib/clitt/core/tui/line_input/__init__.py +0 -12
  157. build/lib/build/lib/build/lib/clitt/core/tui/line_input/keyboard_input.py +0 -228
  158. build/lib/build/lib/build/lib/clitt/core/tui/line_input/line_input.py +0 -43
  159. build/lib/build/lib/build/lib/clitt/core/tui/mchoose/__init__.py +0 -12
  160. build/lib/build/lib/build/lib/clitt/core/tui/mchoose/mchoose.py +0 -44
  161. build/lib/build/lib/build/lib/clitt/core/tui/mchoose/menu_choose.py +0 -200
  162. build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/__init__.py +0 -14
  163. build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_builder.py +0 -54
  164. build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_item.py +0 -31
  165. build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/mdashboard.py +0 -26
  166. build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/menu_dashboard.py +0 -154
  167. build/lib/build/lib/build/lib/clitt/core/tui/menu/__init__.py +0 -16
  168. build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu.py +0 -111
  169. build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_action.py +0 -47
  170. build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_factory.py +0 -117
  171. build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_item.py +0 -196
  172. build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_ui.py +0 -98
  173. build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_view.py +0 -57
  174. build/lib/build/lib/build/lib/clitt/core/tui/minput/__init__.py +0 -19
  175. build/lib/build/lib/build/lib/clitt/core/tui/minput/access_type.py +0 -26
  176. build/lib/build/lib/build/lib/clitt/core/tui/minput/field_builder.py +0 -117
  177. build/lib/build/lib/build/lib/clitt/core/tui/minput/form_builder.py +0 -72
  178. build/lib/build/lib/build/lib/clitt/core/tui/minput/form_field.py +0 -180
  179. build/lib/build/lib/build/lib/clitt/core/tui/minput/input_type.py +0 -30
  180. build/lib/build/lib/build/lib/clitt/core/tui/minput/input_validator.py +0 -98
  181. build/lib/build/lib/build/lib/clitt/core/tui/minput/menu_input.py +0 -292
  182. build/lib/build/lib/build/lib/clitt/core/tui/minput/minput.py +0 -44
  183. build/lib/build/lib/build/lib/clitt/core/tui/minput/minput_utils.py +0 -156
  184. build/lib/build/lib/build/lib/clitt/core/tui/mselect/__init__.py +0 -12
  185. build/lib/build/lib/build/lib/clitt/core/tui/mselect/menu_select.py +0 -171
  186. build/lib/build/lib/build/lib/clitt/core/tui/mselect/mselect.py +0 -36
  187. build/lib/build/lib/build/lib/clitt/core/tui/table/__init__.py +0 -12
  188. build/lib/build/lib/build/lib/clitt/core/tui/table/table_enums.py +0 -47
  189. build/lib/build/lib/build/lib/clitt/core/tui/table/table_renderer.py +0 -339
  190. build/lib/build/lib/build/lib/clitt/core/tui/tui_application.py +0 -65
  191. build/lib/build/lib/build/lib/clitt/core/tui/tui_component.py +0 -155
  192. build/lib/build/lib/build/lib/clitt/core/tui/tui_preferences.py +0 -103
  193. build/lib/build/lib/build/lib/clitt/utils/__init__.py +0 -11
  194. build/lib/build/lib/build/lib/clitt/utils/git_utils.py +0 -66
  195. build/lib/build/lib/clitt/__classpath__.py +0 -28
  196. build/lib/build/lib/clitt/__init__.py +0 -13
  197. build/lib/build/lib/clitt/__main__.py +0 -139
  198. build/lib/build/lib/clitt/addons/__init__.py +0 -12
  199. build/lib/build/lib/clitt/addons/appman/__init__.py +0 -13
  200. build/lib/build/lib/clitt/addons/appman/appman.py +0 -305
  201. build/lib/build/lib/clitt/addons/appman/appman_enums.py +0 -39
  202. build/lib/build/lib/clitt/addons/appman/templates/__init__.py +0 -11
  203. build/lib/build/lib/clitt/addons/widman/__init__.py +0 -14
  204. build/lib/build/lib/clitt/addons/widman/widget.py +0 -70
  205. build/lib/build/lib/clitt/addons/widman/widget_entry.py +0 -54
  206. build/lib/build/lib/clitt/addons/widman/widgets/__init__.py +0 -14
  207. build/lib/build/lib/clitt/addons/widman/widgets/widget_free.py +0 -110
  208. build/lib/build/lib/clitt/addons/widman/widgets/widget_punch.py +0 -246
  209. build/lib/build/lib/clitt/addons/widman/widgets/widget_send_msg.py +0 -272
  210. build/lib/build/lib/clitt/addons/widman/widgets/widget_time_calc.py +0 -146
  211. build/lib/build/lib/clitt/addons/widman/widman.py +0 -123
  212. build/lib/build/lib/clitt/core/__init__.py +0 -15
  213. build/lib/build/lib/clitt/core/exception/__init__.py +0 -11
  214. build/lib/build/lib/clitt/core/exception/exceptions.py +0 -18
  215. build/lib/build/lib/clitt/core/icons/__init__.py +0 -12
  216. build/lib/build/lib/clitt/core/icons/emojis/__init__.py +0 -12
  217. build/lib/build/lib/clitt/core/icons/emojis/emojis.py +0 -41
  218. build/lib/build/lib/clitt/core/icons/emojis/face_smiling.py +0 -40
  219. build/lib/build/lib/clitt/core/icons/font_awesome/__init__.py +0 -18
  220. build/lib/build/lib/clitt/core/icons/font_awesome/app_icons.py +0 -55
  221. build/lib/build/lib/clitt/core/icons/font_awesome/awesome.py +0 -76
  222. build/lib/build/lib/clitt/core/icons/font_awesome/dashboard_icons.py +0 -93
  223. build/lib/build/lib/clitt/core/icons/font_awesome/form_icons.py +0 -69
  224. build/lib/build/lib/clitt/core/icons/font_awesome/game_icons.py +0 -59
  225. build/lib/build/lib/clitt/core/icons/font_awesome/nav_icons.py +0 -42
  226. build/lib/build/lib/clitt/core/icons/font_awesome/trickplay_icons.py +0 -39
  227. build/lib/build/lib/clitt/core/icons/font_awesome/widget_icons.py +0 -37
  228. build/lib/build/lib/clitt/core/preferences.py +0 -87
  229. build/lib/build/lib/clitt/core/term/__init__.py +0 -14
  230. build/lib/build/lib/clitt/core/term/commons.py +0 -82
  231. build/lib/build/lib/clitt/core/term/cursor.py +0 -159
  232. build/lib/build/lib/clitt/core/term/screen.py +0 -91
  233. build/lib/build/lib/clitt/core/term/terminal.py +0 -203
  234. build/lib/build/lib/clitt/core/tui/__init__.py +0 -20
  235. build/lib/build/lib/clitt/core/tui/line_input/__init__.py +0 -12
  236. build/lib/build/lib/clitt/core/tui/line_input/keyboard_input.py +0 -228
  237. build/lib/build/lib/clitt/core/tui/line_input/line_input.py +0 -43
  238. build/lib/build/lib/clitt/core/tui/mchoose/__init__.py +0 -12
  239. build/lib/build/lib/clitt/core/tui/mchoose/mchoose.py +0 -44
  240. build/lib/build/lib/clitt/core/tui/mchoose/menu_choose.py +0 -200
  241. build/lib/build/lib/clitt/core/tui/mdashboard/__init__.py +0 -14
  242. build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_builder.py +0 -54
  243. build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_item.py +0 -31
  244. build/lib/build/lib/clitt/core/tui/mdashboard/mdashboard.py +0 -26
  245. build/lib/build/lib/clitt/core/tui/mdashboard/menu_dashboard.py +0 -154
  246. build/lib/build/lib/clitt/core/tui/menu/__init__.py +0 -16
  247. build/lib/build/lib/clitt/core/tui/menu/tui_menu.py +0 -111
  248. build/lib/build/lib/clitt/core/tui/menu/tui_menu_action.py +0 -47
  249. build/lib/build/lib/clitt/core/tui/menu/tui_menu_factory.py +0 -117
  250. build/lib/build/lib/clitt/core/tui/menu/tui_menu_item.py +0 -196
  251. build/lib/build/lib/clitt/core/tui/menu/tui_menu_ui.py +0 -98
  252. build/lib/build/lib/clitt/core/tui/menu/tui_menu_view.py +0 -57
  253. build/lib/build/lib/clitt/core/tui/minput/__init__.py +0 -19
  254. build/lib/build/lib/clitt/core/tui/minput/access_type.py +0 -26
  255. build/lib/build/lib/clitt/core/tui/minput/field_builder.py +0 -117
  256. build/lib/build/lib/clitt/core/tui/minput/form_builder.py +0 -72
  257. build/lib/build/lib/clitt/core/tui/minput/form_field.py +0 -180
  258. build/lib/build/lib/clitt/core/tui/minput/input_type.py +0 -30
  259. build/lib/build/lib/clitt/core/tui/minput/input_validator.py +0 -98
  260. build/lib/build/lib/clitt/core/tui/minput/menu_input.py +0 -292
  261. build/lib/build/lib/clitt/core/tui/minput/minput.py +0 -44
  262. build/lib/build/lib/clitt/core/tui/minput/minput_utils.py +0 -156
  263. build/lib/build/lib/clitt/core/tui/mselect/__init__.py +0 -12
  264. build/lib/build/lib/clitt/core/tui/mselect/menu_select.py +0 -171
  265. build/lib/build/lib/clitt/core/tui/mselect/mselect.py +0 -36
  266. build/lib/build/lib/clitt/core/tui/table/__init__.py +0 -12
  267. build/lib/build/lib/clitt/core/tui/table/table_enums.py +0 -47
  268. build/lib/build/lib/clitt/core/tui/table/table_renderer.py +0 -339
  269. build/lib/build/lib/clitt/core/tui/tui_application.py +0 -65
  270. build/lib/build/lib/clitt/core/tui/tui_component.py +0 -155
  271. build/lib/build/lib/clitt/core/tui/tui_preferences.py +0 -103
  272. build/lib/build/lib/clitt/utils/__init__.py +0 -11
  273. build/lib/build/lib/clitt/utils/git_utils.py +0 -66
  274. build/lib/clitt/__classpath__.py +0 -28
  275. build/lib/clitt/__init__.py +0 -13
  276. build/lib/clitt/__main__.py +0 -139
  277. build/lib/clitt/addons/__init__.py +0 -12
  278. build/lib/clitt/addons/appman/__init__.py +0 -13
  279. build/lib/clitt/addons/appman/appman.py +0 -305
  280. build/lib/clitt/addons/appman/appman_enums.py +0 -39
  281. build/lib/clitt/addons/appman/templates/__init__.py +0 -11
  282. build/lib/clitt/addons/widman/__init__.py +0 -14
  283. build/lib/clitt/addons/widman/widget.py +0 -70
  284. build/lib/clitt/addons/widman/widget_entry.py +0 -54
  285. build/lib/clitt/addons/widman/widgets/__init__.py +0 -14
  286. build/lib/clitt/addons/widman/widgets/widget_free.py +0 -110
  287. build/lib/clitt/addons/widman/widgets/widget_punch.py +0 -246
  288. build/lib/clitt/addons/widman/widgets/widget_send_msg.py +0 -272
  289. build/lib/clitt/addons/widman/widgets/widget_time_calc.py +0 -146
  290. build/lib/clitt/addons/widman/widman.py +0 -123
  291. build/lib/clitt/core/__init__.py +0 -15
  292. build/lib/clitt/core/exception/__init__.py +0 -11
  293. build/lib/clitt/core/exception/exceptions.py +0 -18
  294. build/lib/clitt/core/icons/__init__.py +0 -12
  295. build/lib/clitt/core/icons/emojis/__init__.py +0 -12
  296. build/lib/clitt/core/icons/emojis/emojis.py +0 -41
  297. build/lib/clitt/core/icons/emojis/face_smiling.py +0 -40
  298. build/lib/clitt/core/icons/font_awesome/__init__.py +0 -18
  299. build/lib/clitt/core/icons/font_awesome/app_icons.py +0 -55
  300. build/lib/clitt/core/icons/font_awesome/awesome.py +0 -76
  301. build/lib/clitt/core/icons/font_awesome/dashboard_icons.py +0 -93
  302. build/lib/clitt/core/icons/font_awesome/form_icons.py +0 -69
  303. build/lib/clitt/core/icons/font_awesome/game_icons.py +0 -59
  304. build/lib/clitt/core/icons/font_awesome/nav_icons.py +0 -42
  305. build/lib/clitt/core/icons/font_awesome/trickplay_icons.py +0 -39
  306. build/lib/clitt/core/icons/font_awesome/widget_icons.py +0 -37
  307. build/lib/clitt/core/preferences.py +0 -87
  308. build/lib/clitt/core/term/__init__.py +0 -14
  309. build/lib/clitt/core/term/commons.py +0 -82
  310. build/lib/clitt/core/term/cursor.py +0 -159
  311. build/lib/clitt/core/term/screen.py +0 -91
  312. build/lib/clitt/core/term/terminal.py +0 -203
  313. build/lib/clitt/core/tui/__init__.py +0 -20
  314. build/lib/clitt/core/tui/line_input/__init__.py +0 -12
  315. build/lib/clitt/core/tui/line_input/keyboard_input.py +0 -228
  316. build/lib/clitt/core/tui/line_input/line_input.py +0 -43
  317. build/lib/clitt/core/tui/mchoose/__init__.py +0 -12
  318. build/lib/clitt/core/tui/mchoose/mchoose.py +0 -44
  319. build/lib/clitt/core/tui/mchoose/menu_choose.py +0 -200
  320. build/lib/clitt/core/tui/mdashboard/__init__.py +0 -14
  321. build/lib/clitt/core/tui/mdashboard/dashboard_builder.py +0 -54
  322. build/lib/clitt/core/tui/mdashboard/dashboard_item.py +0 -31
  323. build/lib/clitt/core/tui/mdashboard/mdashboard.py +0 -26
  324. build/lib/clitt/core/tui/mdashboard/menu_dashboard.py +0 -154
  325. build/lib/clitt/core/tui/menu/__init__.py +0 -16
  326. build/lib/clitt/core/tui/menu/tui_menu.py +0 -111
  327. build/lib/clitt/core/tui/menu/tui_menu_action.py +0 -47
  328. build/lib/clitt/core/tui/menu/tui_menu_factory.py +0 -117
  329. build/lib/clitt/core/tui/menu/tui_menu_item.py +0 -196
  330. build/lib/clitt/core/tui/menu/tui_menu_ui.py +0 -98
  331. build/lib/clitt/core/tui/menu/tui_menu_view.py +0 -57
  332. build/lib/clitt/core/tui/minput/__init__.py +0 -19
  333. build/lib/clitt/core/tui/minput/access_type.py +0 -26
  334. build/lib/clitt/core/tui/minput/field_builder.py +0 -117
  335. build/lib/clitt/core/tui/minput/form_builder.py +0 -72
  336. build/lib/clitt/core/tui/minput/form_field.py +0 -180
  337. build/lib/clitt/core/tui/minput/input_type.py +0 -30
  338. build/lib/clitt/core/tui/minput/input_validator.py +0 -98
  339. build/lib/clitt/core/tui/minput/menu_input.py +0 -292
  340. build/lib/clitt/core/tui/minput/minput.py +0 -44
  341. build/lib/clitt/core/tui/minput/minput_utils.py +0 -156
  342. build/lib/clitt/core/tui/mselect/__init__.py +0 -12
  343. build/lib/clitt/core/tui/mselect/menu_select.py +0 -171
  344. build/lib/clitt/core/tui/mselect/mselect.py +0 -36
  345. build/lib/clitt/core/tui/table/__init__.py +0 -12
  346. build/lib/clitt/core/tui/table/table_enums.py +0 -47
  347. build/lib/clitt/core/tui/table/table_renderer.py +0 -339
  348. build/lib/clitt/core/tui/tui_application.py +0 -65
  349. build/lib/clitt/core/tui/tui_component.py +0 -155
  350. build/lib/clitt/core/tui/tui_preferences.py +0 -103
  351. build/lib/clitt/utils/__init__.py +0 -11
  352. build/lib/clitt/utils/git_utils.py +0 -66
  353. hspylib_clitt-0.9.116.dist-info/RECORD +0 -413
@@ -1,44 +0,0 @@
1
- #!/usr/bin/env python3
2
- # -*- coding: utf-8 -*-
3
-
4
- """
5
- @project: HsPyLib
6
- @package: clitt.core.tui.minput
7
- @file: minput.py
8
- @created: Tue, 4 May 2021
9
- @author: <B>H</B>ugo <B>S</B>aporetti <B>J</B>unior"
10
- @site: https://github.com/yorevs/hspylib
11
- @license: MIT - Please refer to <https://opensource.org/licenses/MIT>
12
-
13
- Copyright·(c)·2024,·HSPyLib
14
- """
15
- from clitt.core.tui.minput.form_field import FormField
16
- from clitt.core.tui.minput.menu_input import MenuInput
17
- from hspylib.core.enums.charset import Charset
18
- from hspylib.core.namespace import Namespace
19
- from hspylib.core.preconditions import check_argument
20
- from hspylib.core.tools.text_tools import quote, snakecase
21
- from typing import List, Optional
22
-
23
- import os
24
-
25
-
26
- def minput(
27
- form_fields: List[FormField], title: str = "Please fill all fields of the form fields below", output: str = None
28
- ) -> Optional[Namespace]:
29
- """
30
- Terminal UI menu form input method.
31
- :param form_fields: the provided form items to input from.
32
- :param title: the title to be displayed before the form.
33
- :param output: optional output file containing the marked items.
34
- :return: a namespace containing all form values.
35
- """
36
- check_argument(len(form_fields) > 0, "Must provide at least one form field!")
37
- result = MenuInput(title, form_fields).execute()
38
-
39
- if result and output:
40
- with open(output, "w", encoding=Charset.UTF_8.val) as f_out:
41
- for name, value in zip(result.attributes, result.values):
42
- f_out.write(f"{snakecase(name, screaming=True)}={quote(value)}" + os.linesep)
43
-
44
- return result
@@ -1,156 +0,0 @@
1
- #!/usr/bin/env python3
2
- # -*- coding: utf-8 -*-
3
-
4
- """
5
- @project: HsPyLib
6
- @package: clitt.core.tui.minput
7
- @file: minput_utils.py
8
- @created: Thu, 20 May 2021
9
- @author: <B>H</B>ugo <B>S</B>aporetti <B>J</B>unior"
10
- @site: https://github.com/yorevs/hspylib
11
- @license: MIT - Please refer to <https://opensource.org/licenses/MIT>
12
-
13
- Copyright·(c)·2024,·HSPyLib
14
- """
15
- from clitt.core.term.screen import Screen
16
- from hspylib.core.exception.exceptions import InvalidInputError
17
- from typing import Any, Optional, Tuple
18
-
19
- import re
20
-
21
- MASK_SYMBOLS = ["#", "@", "%", "*"]
22
-
23
- VALUE_SEPARATORS = r"[|,;]"
24
-
25
- VALUE_SELECTORS = r"[<>]"
26
-
27
-
28
- def detail_len(field: Any) -> int:
29
- """Return the length of the details, according to the form field.
30
- :param field: the form field to get details.
31
- """
32
- max_len = len(str(field.max_length))
33
- return 1 + (2 * max_len)
34
-
35
-
36
- def mi_print(screen: Screen, text: str, prefix: str = None, field_len: int = 0, end: str = "") -> None:
37
- """Special menu input print.
38
- :param screen: the component's screen.
39
- :param text: the text to be printed.
40
- :param prefix the text to print before the text.
41
- :param field_len: the length of the field.
42
- :param end: string appended after the last value, default an empty string.
43
- """
44
- fmt = ("{}" if prefix else "") + "{:<" + str(field_len) + "} : "
45
- if prefix:
46
- screen.cursor.write(fmt.format(prefix, text), end=end)
47
- else:
48
- screen.cursor.write(fmt.format(text or ""), end=end)
49
-
50
-
51
- def mi_print_err(screen: Screen, text: str) -> None:
52
- """Special menu input print error message.
53
- :param screen: the component's screen.
54
- :param text: the text to be printed.
55
- """
56
- screen.cursor.write(f"%RED%{text}%NC%")
57
-
58
-
59
- def toggle_selected(tokenized_values: str) -> str:
60
- """Toggle the 'select' component value. Selects the next value on the token sequence.
61
- :param tokenized_values: the 'select' component tokenized values.
62
- """
63
- values = re.split(VALUE_SEPARATORS, tokenized_values)
64
- cur_idx = next((idx for idx, val in enumerate(values) if val.find("<") >= 0), -1)
65
- if cur_idx < 0:
66
- if len(values) > 1:
67
- values[1] = f"<{values[1]}>"
68
- else:
69
- values[0] = f"<{values[0]}>"
70
- return "|".join(values)
71
- unselected = list(map(lambda x: re.sub(VALUE_SELECTORS, "", x), values))
72
- # fmt: off
73
- return '|'.join([
74
- f'<{val}>'
75
- if idx == (cur_idx + 1) or ((cur_idx + 1) >= len(unselected) and idx == 0)
76
- else val for idx, val in enumerate(unselected)
77
- ])
78
- # fmt: on
79
-
80
-
81
- def get_selected(tokenized_values: str) -> Optional[Tuple[int, str]]:
82
- """Get the selected value from the 'select' component tokens.
83
- :param tokenized_values: the 'select' component tokenized values.
84
- """
85
- values = re.split(VALUE_SEPARATORS, tokenized_values)
86
- # fmt: off
87
- sel_item = next((
88
- re.sub(VALUE_SELECTORS, '', val)
89
- for val in values if val.startswith('<') and val.endswith('>')
90
- ), values[0])
91
- # fmt: on
92
- try:
93
- return values.index(sel_item), sel_item
94
- except ValueError:
95
- try:
96
- return values.index(f"<{sel_item}>"), sel_item
97
- except ValueError:
98
- return -1, sel_item
99
-
100
-
101
- def unpack_masked(value: str) -> Tuple[str, str]:
102
- """Unpack all values of the 'masked' component.
103
- :param value: the masked values to unpack.
104
- """
105
- if value:
106
- parts = re.split(VALUE_SEPARATORS, value)
107
- return parts[0], parts[1] if len(parts) == 2 else ""
108
-
109
- return "", ""
110
-
111
-
112
- def append_masked(value: str, mask: str, keypress_value: chr) -> str:
113
- """Append a value to the masked field.
114
- :param value: the masked field current value.
115
- :param mask: the masked field's mask.
116
- :param keypress_value: the value to append (it can be a part of the mask itself).
117
- """
118
- idx = len(value)
119
- masked_value = value
120
- if idx < len(mask):
121
- if keypress_value == mask[idx]:
122
- return f"{value}{keypress_value}|{mask}"
123
- while idx < len(mask) and mask[idx] not in MASK_SYMBOLS:
124
- masked_value += mask[idx]
125
- idx += 1
126
- if mask and idx < len(mask):
127
- mask_re = mask_regex(mask, idx)
128
- if re.search(mask_re, keypress_value):
129
- masked_value += keypress_value
130
- else:
131
- raise InvalidInputError(f"Value '{keypress_value}' is invalid. Expecting: {mask_re}")
132
-
133
- return f"{masked_value}|{mask}"
134
-
135
-
136
- def over_masked(value: str, mask: str) -> str:
137
- """
138
- Return the value to be printed by a 'masked' input field. A placeholder value will be used for unfilled values.
139
- :param value: the masked field current value.
140
- :param mask: the masked field's mask.
141
- """
142
- if value:
143
- over_masked_val = ""
144
- for idx, element in enumerate(mask):
145
- if element in MASK_SYMBOLS:
146
- over_masked_val += value[idx] if idx < len(value) else mask[idx]
147
- else:
148
- over_masked_val += element
149
- return over_masked_val
150
-
151
- return mask
152
-
153
-
154
- def mask_regex(mask: str, idx: int) -> str:
155
- """Return a regex matching the index of the mask."""
156
- return mask[idx].replace("#", "[0-9]").replace("@", "[a-zA-Z]").replace("%", "[a-zA-Z0-9]").replace("*", ".")
@@ -1,12 +0,0 @@
1
- # _*_ coding: utf-8 _*_
2
- #
3
- # hspylib-clitt v0.9.116
4
- #
5
- # Package: main.build.lib.build.lib.build.lib.clitt.core.tui.mselect
6
- """Package initialization."""
7
-
8
- __all__ = [
9
- 'menu_select',
10
- 'mselect'
11
- ]
12
- __version__ = '0.9.116'
@@ -1,171 +0,0 @@
1
- #!/usr/bin/env python3
2
- # -*- coding: utf-8 -*-
3
-
4
- """
5
- @project: HsPyLib
6
- @package: clitt.core.tui.mselect
7
- @file: menu_select.py
8
- @created: Wed, 17 May 2023
9
- @author: <B>H</B>ugo <B>S</B>aporetti <B>J</B>unior"
10
- @site: https://github.com/yorevs/hspylib
11
- @license: MIT - Please refer to <https://opensource.org/licenses/MIT>
12
-
13
- Copyright·(c)·2024,·HSPyLib
14
- """
15
- from hspylib.modules.cli.keyboard import Keyboard
16
- from typing import List, Optional, TypeAlias, TypeVar
17
-
18
- from clitt.core.icons.font_awesome.nav_icons import NavIcons
19
- from clitt.core.term.commons import Direction, Portion
20
- from clitt.core.tui.tui_component import TUIComponent
21
-
22
- T = TypeVar("T")
23
-
24
- MSelectItems: TypeAlias = List[T]
25
-
26
-
27
- class MenuSelect(TUIComponent):
28
- """Terminal UI menu select input method"""
29
-
30
- NAV_ICONS = NavIcons.compose(NavIcons.UP, NavIcons.DOWN)
31
-
32
- ROW_OFFSET = 5
33
-
34
- MIN_ROWS = 3
35
-
36
- def __init__(self, title: str, items: MSelectItems):
37
- super().__init__(title)
38
- self._items = items
39
- self._show_from = 0
40
- self._show_to = self._max_rows()
41
- self._diff_index = self._show_to - self._show_from
42
- self._sel_index = 0
43
- self._max_line_length = max(len(str(item)) for item in items)
44
-
45
- def execute(self) -> Optional[T]:
46
- """Execute the component's main flow."""
47
-
48
- if (length := len(self._items)) == 0:
49
- return None
50
- if length == 1: # When only one option is provided, select the element at index 0 and return
51
- return self._items[0]
52
-
53
- self._prepare_render()
54
- keypress = self._loop()
55
-
56
- return self._items[self._sel_index] if keypress.isEnter() else None
57
-
58
- def render(self) -> None:
59
- """Renders the TUI component."""
60
-
61
- length = len(self._items)
62
- self.cursor.restore()
63
- self.writeln(f"{self.prefs.title_color.placeholder}{self.title}%EOL%%NC%")
64
-
65
- for idx in range(self._show_from, self._show_to):
66
- if idx >= length:
67
- break # When the index is greater than the number of items, stop rendering
68
-
69
- option_line = str(self._items[idx])
70
- self.cursor.erase(Portion.LINE)
71
- # Print the selector if the index is currently selected
72
- selector = self.draw_selector(idx == self._sel_index)
73
- # fmt: off
74
- line_fmt = (
75
- " {:>" + f"{len(str(length))}" + "} "
76
- + "{:>" + f"{len(selector)}" + "} "
77
- + "{:<" + f"{self._max_line_length}" + "} "
78
- )
79
- # fmt: on
80
- self.draw_line(line_fmt, idx + 1, selector, option_line)
81
-
82
- self.draw_navbar(self.navbar(to=length))
83
- self._re_render = False
84
-
85
- def navbar(self, **kwargs) -> str:
86
- return (
87
- f"%EOL%{self.prefs.navbar_color.placeholder}"
88
- f"[Enter] Select [{self.NAV_ICONS}] "
89
- f"Navigate [Esc] Quit [1..{kwargs['to']}] Goto: %NC%"
90
- )
91
-
92
- def handle_keypress(self) -> Keyboard:
93
- if keypress := Keyboard.wait_keystroke():
94
- match keypress:
95
- case _ as key if key in Keyboard.break_keys():
96
- self._done = True
97
- case Keyboard.VK_UP:
98
- self._handle_key_up()
99
- case Keyboard.VK_DOWN:
100
- self._handle_key_down()
101
- case Keyboard.VK_TAB:
102
- self._handle_tab()
103
- case Keyboard.VK_SHIFT_TAB:
104
- self._handle_shift_tab()
105
- case _ as key if key in Keyboard.digits():
106
- self._handle_digit(keypress)
107
-
108
- return keypress
109
-
110
- def _handle_digit(self, digit: Keyboard) -> None:
111
- """TODO"""
112
- length = len(self._items)
113
- typed_index = digit.value
114
- self.cursor.write(f"{digit.value}") # echo the digit typed
115
- index_len = 1
116
- while len(typed_index) < len(str(length)):
117
- keystroke = Keyboard.wait_keystroke()
118
- if not keystroke or not keystroke.isdigit():
119
- typed_index = None if keystroke != Keyboard.VK_ENTER else typed_index
120
- break
121
- typed_index = f"{typed_index}{keystroke.value if keystroke else ''}"
122
- self.cursor.write(f"{keystroke.value if keystroke else ''}")
123
- index_len += 1
124
- # Erase the index typed by the user
125
- self.cursor.move(index_len, Direction.LEFT)
126
- self.cursor.erase(Direction.RIGHT)
127
- if typed_index and 1 <= int(typed_index) <= length:
128
- self._show_to = max(int(typed_index), self._diff_index)
129
- self._show_from = self._show_to - self._diff_index
130
- self._sel_index = int(typed_index) - 1
131
- self._re_render = True
132
-
133
- def _handle_key_up(self) -> None:
134
- """TODO"""
135
- if self._sel_index == self._show_from and self._show_from > 0:
136
- self._show_from -= 1
137
- self._show_to -= 1
138
- if self._sel_index - 1 >= 0:
139
- self._sel_index -= 1
140
- self._re_render = True
141
-
142
- def _handle_key_down(self) -> None:
143
- """TODO"""
144
- length = len(self._items)
145
- if self._sel_index + 1 == self._show_to and self._show_to < length:
146
- self._show_from += 1
147
- self._show_to += 1
148
- if self._sel_index + 1 < length:
149
- self._sel_index += 1
150
- self._re_render = True
151
-
152
- def _handle_tab(self) -> None:
153
- """TODO"""
154
- length = len(self._items)
155
- page_index = min(self._show_to + self._diff_index, length)
156
- self._show_to = max(page_index, self._diff_index)
157
- self._show_from = self._show_to - self._diff_index
158
- self._sel_index = self._show_from
159
- self._re_render = True
160
-
161
- def _handle_shift_tab(self) -> None:
162
- """TODO"""
163
- page_index = max(self._show_from - self._diff_index, 0)
164
- self._show_from = min(page_index, self._diff_index)
165
- self._show_to = self._show_from + self._diff_index
166
- self._sel_index = self._show_from
167
- self._re_render = True
168
-
169
- def _max_rows(self) -> int:
170
- screen_lines = self.screen.lines - self.ROW_OFFSET
171
- return min(self.prefs.max_rows, screen_lines)
@@ -1,36 +0,0 @@
1
- #!/usr/bin/env python3
2
- # -*- coding: utf-8 -*-
3
-
4
- """
5
- @project: HsPyLib
6
- @package: clitt.core.tui.mselect
7
- @file: mselect.py
8
- @created: Tue, 4 May 2021
9
- @author: <B>H</B>ugo <B>S</B>aporetti <B>J</B>unior"
10
- @site: https://github.com/yorevs/hspylib
11
- @license: MIT - Please refer to <https://opensource.org/licenses/MIT>
12
-
13
- Copyright·(c)·2024,·HSPyLib
14
- """
15
- from clitt.core.tui.mselect.menu_select import MenuSelect
16
- from hspylib.core.enums.charset import Charset
17
- from typing import List, Optional, TypeVar
18
-
19
- T = TypeVar("T")
20
-
21
-
22
- def mselect(items: List[T], title: str = "Please select one", output: str = None) -> Optional[T]:
23
- """
24
- Terminal UI menu select input method.
25
- :param items: the provided items to select from.
26
- :param title: the title to be displayed before the options.
27
- :param output: optional output file containing the selected item.
28
- :return: the selected item.
29
- """
30
- result = MenuSelect(title, items).execute()
31
-
32
- if result and output:
33
- with open(output, "w", encoding=Charset.UTF_8.val) as f_out:
34
- f_out.write(result)
35
-
36
- return result
@@ -1,12 +0,0 @@
1
- # _*_ coding: utf-8 _*_
2
- #
3
- # hspylib-clitt v0.9.116
4
- #
5
- # Package: main.build.lib.build.lib.build.lib.clitt.core.tui.table
6
- """Package initialization."""
7
-
8
- __all__ = [
9
- 'table_enums',
10
- 'table_renderer'
11
- ]
12
- __version__ = '0.9.116'
@@ -1,47 +0,0 @@
1
- #!/usr/bin/env python3
2
- # -*- coding: utf-8 -*-
3
-
4
- """
5
- @project: HsPyLib
6
- @package: clitt.core.tui.table
7
- @file: table_enums.py
8
- @created: Tue, 4 Jul 2023
9
- @author: <B>H</B>ugo <B>S</B>aporetti <B>J</B>unior"
10
- @site: https://github.com/yorevs/hspylib
11
- @license: MIT - Please refer to <https://opensource.org/licenses/MIT>
12
-
13
- Copyright·(c)·2024,·HSPyLib
14
- """
15
- from enum import auto
16
- from hspylib.core.enums.enumeration import Enumeration
17
- from hspylib.core.tools import text_tools
18
- from typing import Callable
19
-
20
-
21
- class TextAlignment(Enumeration):
22
- """Table cell/header text justification helper."""
23
-
24
- # fmt: off
25
- LEFT = auto(), text_tools.justified_left
26
- CENTER = auto(), text_tools.justified_center
27
- RIGHT = auto(), text_tools.justified_right
28
- # fmt: on
29
-
30
- def val(self) -> Callable:
31
- return self.value[1]
32
-
33
-
34
- class TextCase(Enumeration):
35
- """Table cell/header text case helper."""
36
-
37
- # fmt: off
38
- TITLE = auto(), text_tools.titlecase
39
- SNAKE = auto(), text_tools.snakecase
40
- CAMEL = auto(), text_tools.camelcase
41
- KEBAB = auto(), text_tools.kebabcase
42
- LOWER = auto(), text_tools.lowercase
43
- UPPER = auto(), text_tools.uppercase
44
- # fmt: on
45
-
46
- def val(self) -> Callable:
47
- return self.value[1]