hspylib-clitt 0.9.116__py3-none-any.whl → 0.9.118__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 (360) 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/exception/exceptions.py +1 -0
  14. clitt/core/icons/__init__.py +3 -3
  15. clitt/core/icons/emojis/__init__.py +3 -3
  16. clitt/core/icons/font_awesome/__init__.py +3 -3
  17. clitt/core/term/__init__.py +3 -3
  18. clitt/core/term/commons.py +33 -8
  19. clitt/core/term/cursor.py +19 -4
  20. clitt/core/term/screen.py +16 -1
  21. clitt/core/term/terminal.py +16 -17
  22. clitt/core/tui/__init__.py +3 -3
  23. clitt/core/tui/line_input/__init__.py +3 -3
  24. clitt/core/tui/line_input/keyboard_input.py +36 -35
  25. clitt/core/tui/line_input/line_input.py +5 -17
  26. clitt/core/tui/mchoose/__init__.py +3 -3
  27. clitt/core/tui/mchoose/mchoose.py +2 -3
  28. clitt/core/tui/mchoose/menu_choose.py +6 -14
  29. clitt/core/tui/mdashboard/__init__.py +3 -3
  30. clitt/core/tui/mdashboard/menu_dashboard.py +2 -8
  31. clitt/core/tui/menu/__init__.py +3 -3
  32. clitt/core/tui/minput/__init__.py +3 -3
  33. clitt/core/tui/mselect/__init__.py +3 -3
  34. clitt/core/tui/mselect/menu_select.py +2 -3
  35. clitt/core/tui/table/__init__.py +3 -3
  36. clitt/core/tui/tui_application.py +8 -21
  37. clitt/core/tui/tui_component.py +4 -5
  38. clitt/core/tui/tui_preferences.py +1 -1
  39. clitt/utils/__init__.py +3 -3
  40. {hspylib_clitt-0.9.116.dist-info → hspylib_clitt-0.9.118.dist-info}/METADATA +2 -2
  41. hspylib_clitt-0.9.118.dist-info/RECORD +97 -0
  42. {hspylib_clitt-0.9.116.dist-info → hspylib_clitt-0.9.118.dist-info}/WHEEL +1 -1
  43. {hspylib_clitt-0.9.116.dist-info → hspylib_clitt-0.9.118.dist-info}/top_level.txt +0 -1
  44. build/lib/build/lib/build/lib/build/lib/clitt/__classpath__.py +0 -28
  45. build/lib/build/lib/build/lib/build/lib/clitt/__init__.py +0 -13
  46. build/lib/build/lib/build/lib/build/lib/clitt/__main__.py +0 -139
  47. build/lib/build/lib/build/lib/build/lib/clitt/addons/__init__.py +0 -12
  48. build/lib/build/lib/build/lib/build/lib/clitt/addons/appman/__init__.py +0 -13
  49. build/lib/build/lib/build/lib/build/lib/clitt/addons/appman/appman.py +0 -305
  50. build/lib/build/lib/build/lib/build/lib/clitt/addons/appman/appman_enums.py +0 -39
  51. build/lib/build/lib/build/lib/build/lib/clitt/addons/appman/templates/__init__.py +0 -11
  52. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/__init__.py +0 -14
  53. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widget.py +0 -70
  54. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widget_entry.py +0 -54
  55. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widgets/__init__.py +0 -14
  56. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_free.py +0 -110
  57. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_punch.py +0 -246
  58. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_send_msg.py +0 -272
  59. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_time_calc.py +0 -146
  60. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widman.py +0 -123
  61. build/lib/build/lib/build/lib/build/lib/clitt/core/__init__.py +0 -15
  62. build/lib/build/lib/build/lib/build/lib/clitt/core/exception/__init__.py +0 -11
  63. build/lib/build/lib/build/lib/build/lib/clitt/core/exception/exceptions.py +0 -18
  64. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/__init__.py +0 -12
  65. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/emojis/__init__.py +0 -12
  66. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/emojis/emojis.py +0 -41
  67. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/emojis/face_smiling.py +0 -40
  68. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/__init__.py +0 -18
  69. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/app_icons.py +0 -55
  70. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/awesome.py +0 -76
  71. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/dashboard_icons.py +0 -93
  72. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/form_icons.py +0 -69
  73. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/game_icons.py +0 -59
  74. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/nav_icons.py +0 -42
  75. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/trickplay_icons.py +0 -39
  76. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/widget_icons.py +0 -37
  77. build/lib/build/lib/build/lib/build/lib/clitt/core/preferences.py +0 -87
  78. build/lib/build/lib/build/lib/build/lib/clitt/core/term/__init__.py +0 -14
  79. build/lib/build/lib/build/lib/build/lib/clitt/core/term/commons.py +0 -82
  80. build/lib/build/lib/build/lib/build/lib/clitt/core/term/cursor.py +0 -159
  81. build/lib/build/lib/build/lib/build/lib/clitt/core/term/screen.py +0 -91
  82. build/lib/build/lib/build/lib/build/lib/clitt/core/term/terminal.py +0 -203
  83. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/__init__.py +0 -20
  84. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/line_input/__init__.py +0 -12
  85. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/line_input/keyboard_input.py +0 -228
  86. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/line_input/line_input.py +0 -43
  87. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mchoose/__init__.py +0 -12
  88. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mchoose/mchoose.py +0 -44
  89. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mchoose/menu_choose.py +0 -200
  90. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/__init__.py +0 -14
  91. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_builder.py +0 -54
  92. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_item.py +0 -31
  93. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/mdashboard.py +0 -26
  94. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/menu_dashboard.py +0 -154
  95. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/__init__.py +0 -16
  96. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu.py +0 -111
  97. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_action.py +0 -47
  98. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_factory.py +0 -117
  99. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_item.py +0 -196
  100. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_ui.py +0 -98
  101. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_view.py +0 -57
  102. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/__init__.py +0 -19
  103. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/access_type.py +0 -26
  104. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/field_builder.py +0 -117
  105. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/form_builder.py +0 -72
  106. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/form_field.py +0 -180
  107. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/input_type.py +0 -30
  108. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/input_validator.py +0 -98
  109. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/menu_input.py +0 -292
  110. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/minput.py +0 -44
  111. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/minput_utils.py +0 -156
  112. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mselect/__init__.py +0 -12
  113. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mselect/menu_select.py +0 -171
  114. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mselect/mselect.py +0 -36
  115. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/table/__init__.py +0 -12
  116. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/table/table_enums.py +0 -47
  117. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/table/table_renderer.py +0 -339
  118. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/tui_application.py +0 -65
  119. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/tui_component.py +0 -155
  120. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/tui_preferences.py +0 -103
  121. build/lib/build/lib/build/lib/build/lib/clitt/utils/__init__.py +0 -11
  122. build/lib/build/lib/build/lib/build/lib/clitt/utils/git_utils.py +0 -66
  123. build/lib/build/lib/build/lib/clitt/__classpath__.py +0 -28
  124. build/lib/build/lib/build/lib/clitt/__init__.py +0 -13
  125. build/lib/build/lib/build/lib/clitt/__main__.py +0 -139
  126. build/lib/build/lib/build/lib/clitt/addons/__init__.py +0 -12
  127. build/lib/build/lib/build/lib/clitt/addons/appman/__init__.py +0 -13
  128. build/lib/build/lib/build/lib/clitt/addons/appman/appman.py +0 -305
  129. build/lib/build/lib/build/lib/clitt/addons/appman/appman_enums.py +0 -39
  130. build/lib/build/lib/build/lib/clitt/addons/appman/templates/__init__.py +0 -11
  131. build/lib/build/lib/build/lib/clitt/addons/widman/__init__.py +0 -14
  132. build/lib/build/lib/build/lib/clitt/addons/widman/widget.py +0 -70
  133. build/lib/build/lib/build/lib/clitt/addons/widman/widget_entry.py +0 -54
  134. build/lib/build/lib/build/lib/clitt/addons/widman/widgets/__init__.py +0 -14
  135. build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_free.py +0 -110
  136. build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_punch.py +0 -246
  137. build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_send_msg.py +0 -272
  138. build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_time_calc.py +0 -146
  139. build/lib/build/lib/build/lib/clitt/addons/widman/widman.py +0 -123
  140. build/lib/build/lib/build/lib/clitt/core/__init__.py +0 -15
  141. build/lib/build/lib/build/lib/clitt/core/exception/__init__.py +0 -11
  142. build/lib/build/lib/build/lib/clitt/core/exception/exceptions.py +0 -18
  143. build/lib/build/lib/build/lib/clitt/core/icons/__init__.py +0 -12
  144. build/lib/build/lib/build/lib/clitt/core/icons/emojis/__init__.py +0 -12
  145. build/lib/build/lib/build/lib/clitt/core/icons/emojis/emojis.py +0 -41
  146. build/lib/build/lib/build/lib/clitt/core/icons/emojis/face_smiling.py +0 -40
  147. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/__init__.py +0 -18
  148. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/app_icons.py +0 -55
  149. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/awesome.py +0 -76
  150. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/dashboard_icons.py +0 -93
  151. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/form_icons.py +0 -69
  152. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/game_icons.py +0 -59
  153. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/nav_icons.py +0 -42
  154. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/trickplay_icons.py +0 -39
  155. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/widget_icons.py +0 -37
  156. build/lib/build/lib/build/lib/clitt/core/preferences.py +0 -87
  157. build/lib/build/lib/build/lib/clitt/core/term/__init__.py +0 -14
  158. build/lib/build/lib/build/lib/clitt/core/term/commons.py +0 -82
  159. build/lib/build/lib/build/lib/clitt/core/term/cursor.py +0 -159
  160. build/lib/build/lib/build/lib/clitt/core/term/screen.py +0 -91
  161. build/lib/build/lib/build/lib/clitt/core/term/terminal.py +0 -203
  162. build/lib/build/lib/build/lib/clitt/core/tui/__init__.py +0 -20
  163. build/lib/build/lib/build/lib/clitt/core/tui/line_input/__init__.py +0 -12
  164. build/lib/build/lib/build/lib/clitt/core/tui/line_input/keyboard_input.py +0 -228
  165. build/lib/build/lib/build/lib/clitt/core/tui/line_input/line_input.py +0 -43
  166. build/lib/build/lib/build/lib/clitt/core/tui/mchoose/__init__.py +0 -12
  167. build/lib/build/lib/build/lib/clitt/core/tui/mchoose/mchoose.py +0 -44
  168. build/lib/build/lib/build/lib/clitt/core/tui/mchoose/menu_choose.py +0 -200
  169. build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/__init__.py +0 -14
  170. build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_builder.py +0 -54
  171. build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_item.py +0 -31
  172. build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/mdashboard.py +0 -26
  173. build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/menu_dashboard.py +0 -154
  174. build/lib/build/lib/build/lib/clitt/core/tui/menu/__init__.py +0 -16
  175. build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu.py +0 -111
  176. build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_action.py +0 -47
  177. build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_factory.py +0 -117
  178. build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_item.py +0 -196
  179. build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_ui.py +0 -98
  180. build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_view.py +0 -57
  181. build/lib/build/lib/build/lib/clitt/core/tui/minput/__init__.py +0 -19
  182. build/lib/build/lib/build/lib/clitt/core/tui/minput/access_type.py +0 -26
  183. build/lib/build/lib/build/lib/clitt/core/tui/minput/field_builder.py +0 -117
  184. build/lib/build/lib/build/lib/clitt/core/tui/minput/form_builder.py +0 -72
  185. build/lib/build/lib/build/lib/clitt/core/tui/minput/form_field.py +0 -180
  186. build/lib/build/lib/build/lib/clitt/core/tui/minput/input_type.py +0 -30
  187. build/lib/build/lib/build/lib/clitt/core/tui/minput/input_validator.py +0 -98
  188. build/lib/build/lib/build/lib/clitt/core/tui/minput/menu_input.py +0 -292
  189. build/lib/build/lib/build/lib/clitt/core/tui/minput/minput.py +0 -44
  190. build/lib/build/lib/build/lib/clitt/core/tui/minput/minput_utils.py +0 -156
  191. build/lib/build/lib/build/lib/clitt/core/tui/mselect/__init__.py +0 -12
  192. build/lib/build/lib/build/lib/clitt/core/tui/mselect/menu_select.py +0 -171
  193. build/lib/build/lib/build/lib/clitt/core/tui/mselect/mselect.py +0 -36
  194. build/lib/build/lib/build/lib/clitt/core/tui/table/__init__.py +0 -12
  195. build/lib/build/lib/build/lib/clitt/core/tui/table/table_enums.py +0 -47
  196. build/lib/build/lib/build/lib/clitt/core/tui/table/table_renderer.py +0 -339
  197. build/lib/build/lib/build/lib/clitt/core/tui/tui_application.py +0 -65
  198. build/lib/build/lib/build/lib/clitt/core/tui/tui_component.py +0 -155
  199. build/lib/build/lib/build/lib/clitt/core/tui/tui_preferences.py +0 -103
  200. build/lib/build/lib/build/lib/clitt/utils/__init__.py +0 -11
  201. build/lib/build/lib/build/lib/clitt/utils/git_utils.py +0 -66
  202. build/lib/build/lib/clitt/__classpath__.py +0 -28
  203. build/lib/build/lib/clitt/__init__.py +0 -13
  204. build/lib/build/lib/clitt/__main__.py +0 -139
  205. build/lib/build/lib/clitt/addons/__init__.py +0 -12
  206. build/lib/build/lib/clitt/addons/appman/__init__.py +0 -13
  207. build/lib/build/lib/clitt/addons/appman/appman.py +0 -305
  208. build/lib/build/lib/clitt/addons/appman/appman_enums.py +0 -39
  209. build/lib/build/lib/clitt/addons/appman/templates/__init__.py +0 -11
  210. build/lib/build/lib/clitt/addons/widman/__init__.py +0 -14
  211. build/lib/build/lib/clitt/addons/widman/widget.py +0 -70
  212. build/lib/build/lib/clitt/addons/widman/widget_entry.py +0 -54
  213. build/lib/build/lib/clitt/addons/widman/widgets/__init__.py +0 -14
  214. build/lib/build/lib/clitt/addons/widman/widgets/widget_free.py +0 -110
  215. build/lib/build/lib/clitt/addons/widman/widgets/widget_punch.py +0 -246
  216. build/lib/build/lib/clitt/addons/widman/widgets/widget_send_msg.py +0 -272
  217. build/lib/build/lib/clitt/addons/widman/widgets/widget_time_calc.py +0 -146
  218. build/lib/build/lib/clitt/addons/widman/widman.py +0 -123
  219. build/lib/build/lib/clitt/core/__init__.py +0 -15
  220. build/lib/build/lib/clitt/core/exception/__init__.py +0 -11
  221. build/lib/build/lib/clitt/core/exception/exceptions.py +0 -18
  222. build/lib/build/lib/clitt/core/icons/__init__.py +0 -12
  223. build/lib/build/lib/clitt/core/icons/emojis/__init__.py +0 -12
  224. build/lib/build/lib/clitt/core/icons/emojis/emojis.py +0 -41
  225. build/lib/build/lib/clitt/core/icons/emojis/face_smiling.py +0 -40
  226. build/lib/build/lib/clitt/core/icons/font_awesome/__init__.py +0 -18
  227. build/lib/build/lib/clitt/core/icons/font_awesome/app_icons.py +0 -55
  228. build/lib/build/lib/clitt/core/icons/font_awesome/awesome.py +0 -76
  229. build/lib/build/lib/clitt/core/icons/font_awesome/dashboard_icons.py +0 -93
  230. build/lib/build/lib/clitt/core/icons/font_awesome/form_icons.py +0 -69
  231. build/lib/build/lib/clitt/core/icons/font_awesome/game_icons.py +0 -59
  232. build/lib/build/lib/clitt/core/icons/font_awesome/nav_icons.py +0 -42
  233. build/lib/build/lib/clitt/core/icons/font_awesome/trickplay_icons.py +0 -39
  234. build/lib/build/lib/clitt/core/icons/font_awesome/widget_icons.py +0 -37
  235. build/lib/build/lib/clitt/core/preferences.py +0 -87
  236. build/lib/build/lib/clitt/core/term/__init__.py +0 -14
  237. build/lib/build/lib/clitt/core/term/commons.py +0 -82
  238. build/lib/build/lib/clitt/core/term/cursor.py +0 -159
  239. build/lib/build/lib/clitt/core/term/screen.py +0 -91
  240. build/lib/build/lib/clitt/core/term/terminal.py +0 -203
  241. build/lib/build/lib/clitt/core/tui/__init__.py +0 -20
  242. build/lib/build/lib/clitt/core/tui/line_input/__init__.py +0 -12
  243. build/lib/build/lib/clitt/core/tui/line_input/keyboard_input.py +0 -228
  244. build/lib/build/lib/clitt/core/tui/line_input/line_input.py +0 -43
  245. build/lib/build/lib/clitt/core/tui/mchoose/__init__.py +0 -12
  246. build/lib/build/lib/clitt/core/tui/mchoose/mchoose.py +0 -44
  247. build/lib/build/lib/clitt/core/tui/mchoose/menu_choose.py +0 -200
  248. build/lib/build/lib/clitt/core/tui/mdashboard/__init__.py +0 -14
  249. build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_builder.py +0 -54
  250. build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_item.py +0 -31
  251. build/lib/build/lib/clitt/core/tui/mdashboard/mdashboard.py +0 -26
  252. build/lib/build/lib/clitt/core/tui/mdashboard/menu_dashboard.py +0 -154
  253. build/lib/build/lib/clitt/core/tui/menu/__init__.py +0 -16
  254. build/lib/build/lib/clitt/core/tui/menu/tui_menu.py +0 -111
  255. build/lib/build/lib/clitt/core/tui/menu/tui_menu_action.py +0 -47
  256. build/lib/build/lib/clitt/core/tui/menu/tui_menu_factory.py +0 -117
  257. build/lib/build/lib/clitt/core/tui/menu/tui_menu_item.py +0 -196
  258. build/lib/build/lib/clitt/core/tui/menu/tui_menu_ui.py +0 -98
  259. build/lib/build/lib/clitt/core/tui/menu/tui_menu_view.py +0 -57
  260. build/lib/build/lib/clitt/core/tui/minput/__init__.py +0 -19
  261. build/lib/build/lib/clitt/core/tui/minput/access_type.py +0 -26
  262. build/lib/build/lib/clitt/core/tui/minput/field_builder.py +0 -117
  263. build/lib/build/lib/clitt/core/tui/minput/form_builder.py +0 -72
  264. build/lib/build/lib/clitt/core/tui/minput/form_field.py +0 -180
  265. build/lib/build/lib/clitt/core/tui/minput/input_type.py +0 -30
  266. build/lib/build/lib/clitt/core/tui/minput/input_validator.py +0 -98
  267. build/lib/build/lib/clitt/core/tui/minput/menu_input.py +0 -292
  268. build/lib/build/lib/clitt/core/tui/minput/minput.py +0 -44
  269. build/lib/build/lib/clitt/core/tui/minput/minput_utils.py +0 -156
  270. build/lib/build/lib/clitt/core/tui/mselect/__init__.py +0 -12
  271. build/lib/build/lib/clitt/core/tui/mselect/menu_select.py +0 -171
  272. build/lib/build/lib/clitt/core/tui/mselect/mselect.py +0 -36
  273. build/lib/build/lib/clitt/core/tui/table/__init__.py +0 -12
  274. build/lib/build/lib/clitt/core/tui/table/table_enums.py +0 -47
  275. build/lib/build/lib/clitt/core/tui/table/table_renderer.py +0 -339
  276. build/lib/build/lib/clitt/core/tui/tui_application.py +0 -65
  277. build/lib/build/lib/clitt/core/tui/tui_component.py +0 -155
  278. build/lib/build/lib/clitt/core/tui/tui_preferences.py +0 -103
  279. build/lib/build/lib/clitt/utils/__init__.py +0 -11
  280. build/lib/build/lib/clitt/utils/git_utils.py +0 -66
  281. build/lib/clitt/__classpath__.py +0 -28
  282. build/lib/clitt/__init__.py +0 -13
  283. build/lib/clitt/__main__.py +0 -139
  284. build/lib/clitt/addons/__init__.py +0 -12
  285. build/lib/clitt/addons/appman/__init__.py +0 -13
  286. build/lib/clitt/addons/appman/appman.py +0 -305
  287. build/lib/clitt/addons/appman/appman_enums.py +0 -39
  288. build/lib/clitt/addons/appman/templates/__init__.py +0 -11
  289. build/lib/clitt/addons/widman/__init__.py +0 -14
  290. build/lib/clitt/addons/widman/widget.py +0 -70
  291. build/lib/clitt/addons/widman/widget_entry.py +0 -54
  292. build/lib/clitt/addons/widman/widgets/__init__.py +0 -14
  293. build/lib/clitt/addons/widman/widgets/widget_free.py +0 -110
  294. build/lib/clitt/addons/widman/widgets/widget_punch.py +0 -246
  295. build/lib/clitt/addons/widman/widgets/widget_send_msg.py +0 -272
  296. build/lib/clitt/addons/widman/widgets/widget_time_calc.py +0 -146
  297. build/lib/clitt/addons/widman/widman.py +0 -123
  298. build/lib/clitt/core/__init__.py +0 -15
  299. build/lib/clitt/core/exception/__init__.py +0 -11
  300. build/lib/clitt/core/exception/exceptions.py +0 -18
  301. build/lib/clitt/core/icons/__init__.py +0 -12
  302. build/lib/clitt/core/icons/emojis/__init__.py +0 -12
  303. build/lib/clitt/core/icons/emojis/emojis.py +0 -41
  304. build/lib/clitt/core/icons/emojis/face_smiling.py +0 -40
  305. build/lib/clitt/core/icons/font_awesome/__init__.py +0 -18
  306. build/lib/clitt/core/icons/font_awesome/app_icons.py +0 -55
  307. build/lib/clitt/core/icons/font_awesome/awesome.py +0 -76
  308. build/lib/clitt/core/icons/font_awesome/dashboard_icons.py +0 -93
  309. build/lib/clitt/core/icons/font_awesome/form_icons.py +0 -69
  310. build/lib/clitt/core/icons/font_awesome/game_icons.py +0 -59
  311. build/lib/clitt/core/icons/font_awesome/nav_icons.py +0 -42
  312. build/lib/clitt/core/icons/font_awesome/trickplay_icons.py +0 -39
  313. build/lib/clitt/core/icons/font_awesome/widget_icons.py +0 -37
  314. build/lib/clitt/core/preferences.py +0 -87
  315. build/lib/clitt/core/term/__init__.py +0 -14
  316. build/lib/clitt/core/term/commons.py +0 -82
  317. build/lib/clitt/core/term/cursor.py +0 -159
  318. build/lib/clitt/core/term/screen.py +0 -91
  319. build/lib/clitt/core/term/terminal.py +0 -203
  320. build/lib/clitt/core/tui/__init__.py +0 -20
  321. build/lib/clitt/core/tui/line_input/__init__.py +0 -12
  322. build/lib/clitt/core/tui/line_input/keyboard_input.py +0 -228
  323. build/lib/clitt/core/tui/line_input/line_input.py +0 -43
  324. build/lib/clitt/core/tui/mchoose/__init__.py +0 -12
  325. build/lib/clitt/core/tui/mchoose/mchoose.py +0 -44
  326. build/lib/clitt/core/tui/mchoose/menu_choose.py +0 -200
  327. build/lib/clitt/core/tui/mdashboard/__init__.py +0 -14
  328. build/lib/clitt/core/tui/mdashboard/dashboard_builder.py +0 -54
  329. build/lib/clitt/core/tui/mdashboard/dashboard_item.py +0 -31
  330. build/lib/clitt/core/tui/mdashboard/mdashboard.py +0 -26
  331. build/lib/clitt/core/tui/mdashboard/menu_dashboard.py +0 -154
  332. build/lib/clitt/core/tui/menu/__init__.py +0 -16
  333. build/lib/clitt/core/tui/menu/tui_menu.py +0 -111
  334. build/lib/clitt/core/tui/menu/tui_menu_action.py +0 -47
  335. build/lib/clitt/core/tui/menu/tui_menu_factory.py +0 -117
  336. build/lib/clitt/core/tui/menu/tui_menu_item.py +0 -196
  337. build/lib/clitt/core/tui/menu/tui_menu_ui.py +0 -98
  338. build/lib/clitt/core/tui/menu/tui_menu_view.py +0 -57
  339. build/lib/clitt/core/tui/minput/__init__.py +0 -19
  340. build/lib/clitt/core/tui/minput/access_type.py +0 -26
  341. build/lib/clitt/core/tui/minput/field_builder.py +0 -117
  342. build/lib/clitt/core/tui/minput/form_builder.py +0 -72
  343. build/lib/clitt/core/tui/minput/form_field.py +0 -180
  344. build/lib/clitt/core/tui/minput/input_type.py +0 -30
  345. build/lib/clitt/core/tui/minput/input_validator.py +0 -98
  346. build/lib/clitt/core/tui/minput/menu_input.py +0 -292
  347. build/lib/clitt/core/tui/minput/minput.py +0 -44
  348. build/lib/clitt/core/tui/minput/minput_utils.py +0 -156
  349. build/lib/clitt/core/tui/mselect/__init__.py +0 -12
  350. build/lib/clitt/core/tui/mselect/menu_select.py +0 -171
  351. build/lib/clitt/core/tui/mselect/mselect.py +0 -36
  352. build/lib/clitt/core/tui/table/__init__.py +0 -12
  353. build/lib/clitt/core/tui/table/table_enums.py +0 -47
  354. build/lib/clitt/core/tui/table/table_renderer.py +0 -339
  355. build/lib/clitt/core/tui/tui_application.py +0 -65
  356. build/lib/clitt/core/tui/tui_component.py +0 -155
  357. build/lib/clitt/core/tui/tui_preferences.py +0 -103
  358. build/lib/clitt/utils/__init__.py +0 -11
  359. build/lib/clitt/utils/git_utils.py +0 -66
  360. hspylib_clitt-0.9.116.dist-info/RECORD +0 -413
@@ -1,155 +0,0 @@
1
- #!/usr/bin/env python3
2
- # -*- coding: utf-8 -*-
3
-
4
- """
5
- @project: HsPyLib-Clitt
6
- @package: clitt.core.tui
7
- @file: tui_component.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 abc import ABC, abstractmethod
16
- from hspylib.core.tools.text_tools import elide_text
17
- from hspylib.modules.cli.keyboard import Keyboard
18
- from typing import Any, List, Optional, TypeVar
19
-
20
- from clitt.core.icons.font_awesome.awesome import Awesome
21
- from clitt.core.term.commons import Direction
22
- from clitt.core.term.cursor import Cursor
23
- from clitt.core.term.screen import Screen
24
- from clitt.core.term.terminal import Terminal
25
- from clitt.core.tui.tui_preferences import TUIPreferences
26
-
27
- T = TypeVar("T", bound=Any)
28
-
29
-
30
- class TUIComponent(ABC):
31
- """Provide a base class for terminal UI components."""
32
-
33
- def __init__(self, title: str):
34
- self._re_render = True
35
- self._done = False
36
- self._title = title
37
- self._terminal = Terminal.INSTANCE
38
-
39
- @property
40
- def terminal(self) -> Terminal:
41
- return self._terminal
42
-
43
- @property
44
- def screen(self) -> Screen:
45
- return self.terminal.screen
46
-
47
- @property
48
- def cursor(self) -> Cursor:
49
- return self.terminal.screen.cursor
50
-
51
- @property
52
- def prefs(self) -> TUIPreferences:
53
- return self.screen.preferences
54
-
55
- @property
56
- def title(self) -> str:
57
- return self._title
58
-
59
- @property
60
- def rows(self) -> int:
61
- return self.screen.lines
62
-
63
- @property
64
- def columns(self) -> int:
65
- return self.screen.columns
66
-
67
- def _prepare_render(self, auto_wrap: bool = False, show_cursor: bool = False) -> None:
68
- """Prepare the screen for renderization."""
69
- self.screen.add_watcher(self.invalidate)
70
- Terminal.set_auto_wrap(auto_wrap)
71
- Terminal.set_show_cursor(show_cursor)
72
- self.screen.clear()
73
- self.cursor.save()
74
-
75
- def _loop(self, break_keys: List[Keyboard] = None) -> Keyboard:
76
- """Loop and wait for a keypress. Render the component if required."""
77
-
78
- break_keys = break_keys or Keyboard.break_keys()
79
- keypress = Keyboard.VK_NONE
80
-
81
- # Wait for user interaction
82
- while not self._done and keypress not in break_keys:
83
-
84
- # Menu Renderization
85
- if self._re_render:
86
- self.render()
87
- # Navigation input
88
- keypress = self.handle_keypress()
89
-
90
- self.cursor.end()
91
- self.cursor.erase(Direction.DOWN)
92
- self.cursor.reset_mode()
93
- self.cursor.writeln('\n')
94
-
95
- return keypress
96
-
97
- def draw_line(self, line_fmt: str, *args: Any) -> None:
98
- """Draws a formatted component line respecting the specified max_columns.
99
- :param line_fmt: the line format.
100
- :param args: the format arguments.
101
- """
102
- self.writeln(elide_text(line_fmt.format(*args), self.columns) + "%NC%")
103
-
104
- def draw_navbar(self, navbar: str) -> None:
105
- """Draws the component navigation bar respecting the specified max_columns.
106
- :param navbar: the component's navigation bar.
107
- """
108
- self.write(navbar)
109
-
110
- def draw_selector(self, is_selected: bool = False, has_bg_color: bool = True) -> Awesome:
111
- """Draws and highlight the selected component line.
112
- :param is_selected: whether to set a selected foreground color or not.
113
- :param has_bg_color: whether to set a background or not.
114
- """
115
- prefs = TUIPreferences.INSTANCE
116
- if is_selected:
117
- selector = prefs.selected_icon
118
- if has_bg_color:
119
- self.write(prefs.sel_bg_color.code)
120
- self.write(prefs.highlight_color.code)
121
- else:
122
- selector = prefs.unselected_icon
123
- self.write(prefs.text_color.code)
124
-
125
- return selector
126
-
127
- def write(self, obj: Any) -> None:
128
- """Write the string representation of the object to the screen."""
129
- self.terminal.echo(obj, end="")
130
-
131
- def writeln(self, obj: Any) -> None:
132
- """Write the string representation of the object to the screen, appending a new line."""
133
- self.terminal.echo(obj)
134
-
135
- def invalidate(self) -> None:
136
- """Invalidate current TUI renderization."""
137
- self.screen.clear()
138
- self.cursor.save()
139
- self.render()
140
-
141
- @abstractmethod
142
- def execute(self) -> Optional[T | List[T]]:
143
- """Execute the main TUI component flow."""
144
-
145
- @abstractmethod
146
- def render(self) -> None:
147
- """Renders the TUI component."""
148
-
149
- @abstractmethod
150
- def navbar(self, **kwargs) -> str:
151
- """Get the TUI component's navigation bar (optional)."""
152
-
153
- @abstractmethod
154
- def handle_keypress(self) -> Keyboard:
155
- """Handle a keyboard press."""
@@ -1,103 +0,0 @@
1
- #!/usr/bin/env python3
2
- # -*- coding: utf-8 -*-
3
-
4
- """
5
- @project: HsPyLib-Clitt
6
- @package: clitt.core.tui
7
- @file: tui_preferences.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
-
16
- from clitt.core.icons.font_awesome.form_icons import FormIcons
17
- from clitt.core.icons.font_awesome.nav_icons import Awesome, NavIcons
18
- from clitt.core.preferences import Preferences
19
- from hspylib.modules.cli.vt100.vt_color import VtColor
20
-
21
-
22
- class TUIPreferences(Preferences):
23
- """Terminal UI Preferences class."""
24
-
25
- INSTANCE = None
26
-
27
- def __init__(self):
28
- super().__init__("hhs.clitt")
29
-
30
- @property
31
- def max_rows(self) -> int:
32
- return max(3, self.get_preference("max.rows", 10))
33
-
34
- @property
35
- def items_per_line(self) -> int:
36
- return max(2, self.get_preference("items.per.line", 6))
37
-
38
- @property
39
- def title_line_length(self) -> int:
40
- return max(15, self.get_preference("title.line.len", 30))
41
-
42
- @property
43
- def title_color(self) -> VtColor:
44
- return self.get_preference("title.color", VtColor.ORANGE)
45
-
46
- @property
47
- def caption_color(self) -> VtColor:
48
- return self.get_preference("caption.color", VtColor.WHITE)
49
-
50
- @property
51
- def text_color(self) -> VtColor:
52
- return self.get_preference("text.color", VtColor.WHITE)
53
-
54
- @property
55
- def success_color(self) -> VtColor:
56
- return self.get_preference("success.color", VtColor.GREEN)
57
-
58
- @property
59
- def warning_color(self) -> VtColor:
60
- return self.get_preference("warning.color", VtColor.YELLOW)
61
-
62
- @property
63
- def error_color(self) -> VtColor:
64
- return self.get_preference("error.color", VtColor.RED)
65
-
66
- @property
67
- def highlight_color(self) -> VtColor:
68
- return self.get_preference("highlight.color", VtColor.CYAN)
69
-
70
- @property
71
- def navbar_color(self) -> VtColor:
72
- return self.get_preference("navbar.color", VtColor.YELLOW)
73
-
74
- @property
75
- def tooltip_color(self) -> VtColor:
76
- return self.get_preference("tooltip.color", VtColor.GREEN)
77
-
78
- @property
79
- def breadcrumb_color(self) -> VtColor:
80
- return self.get_preference("breadcrumb.color", VtColor.compose(VtColor.BG_BLUE, VtColor.WHITE))
81
-
82
- @property
83
- def sel_bg_color(self) -> VtColor:
84
- return self.get_preference("sel.bg.color", VtColor.BLUE)
85
-
86
- @property
87
- def selected_icon(self) -> Awesome:
88
- return self.get_preference("selected.icon", NavIcons.POINTER)
89
-
90
- @property
91
- def unselected_icon(self) -> Awesome:
92
- return self.get_preference("unselected.icon", Awesome.no_icon())
93
-
94
- @property
95
- def checked_icon(self) -> Awesome:
96
- return self.get_preference("checked.icon", FormIcons.MARKED)
97
-
98
- @property
99
- def unchecked_icon(self) -> Awesome:
100
- return self.get_preference("unchecked.icon", FormIcons.UNMARKED)
101
-
102
-
103
- assert TUIPreferences().INSTANCE is not None, "Failed to create TUIPreferences instance"
@@ -1,11 +0,0 @@
1
- # _*_ coding: utf-8 _*_
2
- #
3
- # hspylib-clitt v0.9.116
4
- #
5
- # Package: main.build.lib.build.lib.build.lib.build.lib.clitt.utils
6
- """Package initialization."""
7
-
8
- __all__ = [
9
- 'git_utils'
10
- ]
11
- __version__ = '0.9.116'
@@ -1,66 +0,0 @@
1
- #!/usr/bin/env python3
2
- # -*- coding: utf-8 -*-
3
-
4
- """
5
- @project: HsPyLib
6
- @package: clitt.utils
7
- @file: git_utils.py
8
- @created: Nov 14, 2019
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.terminal import Terminal
16
- from hspylib.modules.application.exit_status import ExitStatus
17
- from typing import Tuple
18
-
19
-
20
- class GitTools:
21
- """TODO"""
22
-
23
- @staticmethod
24
- def top_level_dir() -> Tuple[str, ExitStatus]:
25
- """TODO"""
26
- return Terminal.shell_exec("git rev-parse --show-toplevel")
27
-
28
- @staticmethod
29
- def current_branch() -> Tuple[str, ExitStatus]:
30
- """TODO"""
31
- return Terminal.shell_exec("git symbolic-ref --short HEAD")
32
-
33
- @staticmethod
34
- def changelog(from_tag: str, to_tag: str) -> Tuple[str, ExitStatus]:
35
- """TODO"""
36
- return Terminal.shell_exec(f"git log --oneline --pretty='format:%h %ad %s' --date=short {from_tag}^..{to_tag}^")
37
-
38
- @staticmethod
39
- def unreleased() -> Tuple[str, ExitStatus]:
40
- """TODO"""
41
- latest_tag = Terminal.shell_exec("git describe --tags --abbrev=0 HEAD^")
42
- return Terminal.shell_exec(f"git log --oneline --pretty='format:%h %ad %s' --date=short '{latest_tag}'..HEAD")
43
-
44
- @staticmethod
45
- def release_date(tag_name: str) -> Tuple[str, ExitStatus]:
46
- """TODO"""
47
- return Terminal.shell_exec(f"git log -1 --pretty='format:%ad' --date=short {tag_name}")
48
-
49
- @staticmethod
50
- def tag_list() -> Tuple[str, ExitStatus]:
51
- """TODO"""
52
- return Terminal.shell_exec("git log --tags --simplify-by-decoration --pretty='format:%ci %d'")
53
-
54
- @staticmethod
55
- def create_tag(version: str, commit_id: str = "HEAD", description: str = None) -> Tuple[str, ExitStatus]:
56
- """TODO"""
57
- return Terminal.shell_exec(f"git tag -a v{version} {commit_id} -m '{description or version}'")
58
-
59
- @staticmethod
60
- def search_logs(filter_by: str = ".*") -> Tuple[str, ExitStatus]:
61
- """TODO"""
62
- return Terminal.shell_exec(f"git log --grep='{filter_by}' --pretty=format:'%h %ad %s' --date=short")
63
-
64
- @staticmethod
65
- def show_file(filename: str, commit_id: str = "HEAD") -> Tuple[str, ExitStatus]:
66
- return Terminal.shell_exec(f"git show {commit_id}:{filename}")
@@ -1,28 +0,0 @@
1
- #!/usr/bin/env python3
2
- # -*- coding: utf-8 -*-
3
-
4
- """
5
- @project: HsPyLib-Clitt
6
- @package: clitt
7
- @file: __classpath__.py
8
- @created: Fri, 23 Dec 2022
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
-
16
- from hspylib.core.metaclass.classpath import Classpath
17
- from hspylib.core.tools.commons import get_path, run_dir
18
-
19
-
20
- class _Classpath(Classpath):
21
- """TODO"""
22
-
23
- def __init__(self):
24
- super().__init__(get_path(__file__), get_path(run_dir()), (get_path(__file__) / "resources"))
25
-
26
-
27
- # Instantiate the classpath singleton
28
- assert _Classpath().INSTANCE is not None, "Failed to create Classpath instance"
@@ -1,13 +0,0 @@
1
- # _*_ coding: utf-8 _*_
2
- #
3
- # hspylib-clitt v0.9.116
4
- #
5
- # Package: main.build.lib.build.lib.build.lib.build.lib.clitt
6
- """Package initialization."""
7
-
8
- __all__ = [
9
- 'addons',
10
- 'core',
11
- 'utils'
12
- ]
13
- __version__ = '0.9.116'
@@ -1,139 +0,0 @@
1
- #!/usr/bin/env python3
2
- # -*- coding: utf-8 -*-
3
-
4
- """
5
- @project: hspylib
6
- @package: hspylib
7
- @file: __main__.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.__classpath__ import _Classpath
16
- from clitt.addons.appman.appman import AppManager
17
- from clitt.addons.appman.appman_enums import AppExtension, AppType
18
- from clitt.addons.widman.widman import WidgetManager
19
- from clitt.core.tui.tui_application import TUIApplication
20
- from hspylib.core.enums.charset import Charset
21
- from hspylib.core.enums.enumeration import Enumeration
22
- from hspylib.core.tools.commons import run_dir, syserr
23
- from hspylib.core.tools.text_tools import strip_linebreaks
24
- from hspylib.modules.application.exit_status import ExitStatus
25
- from hspylib.modules.application.version import Version
26
-
27
- import sys
28
-
29
-
30
- class Main(TUIApplication):
31
- """HsPyLib CLI Terminal Tools - Create professional CLI applications."""
32
-
33
- # The welcome message
34
- DESCRIPTION = _Classpath.get_source_path("welcome.txt").read_text(encoding=Charset.UTF_8.val)
35
-
36
- # Location of the .version file
37
- VERSION_DIR = _Classpath.source_path()
38
-
39
- class Addon(Enumeration):
40
- """HsPyLib addon types."""
41
-
42
- # fmt: off
43
- APPMAN = 'appman'
44
- WIDGETS = 'widgets'
45
- # fmt: on
46
-
47
- @property
48
- def val(self) -> str:
49
- return str(self.value)
50
-
51
- def __init__(self, app_name: str):
52
- version = Version.load(load_dir=self.VERSION_DIR)
53
- super().__init__(app_name, version, self.DESCRIPTION.format(version))
54
-
55
- def _setup_arguments(self) -> None:
56
- """Initialize application parameters and options."""
57
-
58
- # fmt: off
59
- self._with_chained_args('application', 'the HsPyLib-Clitt addon to run') \
60
- .argument(
61
- self.Addon.APPMAN.val,
62
- 'app Application Manager: Create HsPyLib-Clitt based python applications') \
63
- .add_option(
64
- 'dest-dir', 'd', 'dest-dir',
65
- 'the destination directory. If omitted, the current directory will be used.',
66
- nargs='?', default=self._run_dir) \
67
- .add_parameter(
68
- 'app-name', 'the application name', nargs='?') \
69
- .add_parameter(
70
- 'app-type',
71
- 'the application type. Appman is going to scaffold a basic application based on the app type',
72
- choices=AppType.choices(), nargs='?') \
73
- .add_parameter(
74
- 'app-ext',
75
- '"gradle" is going to initialize you project with gradle (requires gradle). '
76
- '"git" is going to initialize a git repository (requires git)', nargs='*') \
77
- .argument(self.Addon.WIDGETS.val, 'app Widgets Manager: Execute an HsPyLib widget') \
78
- .add_parameter(
79
- 'widget-name',
80
- 'the name of the widget to be executed. If omitted, all available widgets will be '
81
- 'presented in a dashboard',
82
- nargs='?') \
83
- .add_parameter(
84
- 'widget-args', "the widget's arguments (if applicable)", nargs='*')
85
-
86
- def _main(self, *params, **kwargs) -> ExitStatus:
87
- """Main entry point handler."""
88
- return self._exec_application()
89
-
90
- def _exec_application(self) -> ExitStatus:
91
- """Execute the application main flow."""
92
-
93
- app = self.get_arg("application")
94
- if app == self.Addon.APPMAN.val:
95
- self.start_appman()
96
- elif app == self.Addon.WIDGETS.val:
97
- self.start_widman()
98
- else:
99
- syserr(f"### Invalid Addon application: {app}")
100
- self.usage(ExitStatus.FAILED)
101
-
102
- return ExitStatus.SUCCESS
103
-
104
- def start_widman(self) -> None:
105
- """Start the Widman application."""
106
- addon = WidgetManager(self)
107
- widget_name = self.get_arg("widget-name")
108
- if widget_name:
109
- widget_args = list(map(strip_linebreaks, self.get_arg("widget-args")))
110
- addon.execute(widget_name, *widget_args)
111
- else:
112
- addon.dashboard()
113
-
114
- def start_appman(self) -> None:
115
- """Start the Appman application."""
116
- addon = AppManager(self)
117
- app_type = self.get_arg("app-type")
118
- if app_type:
119
- app_ext = self.get_arg("app-ext")
120
- addon.create(
121
- self.get_arg("app-name"),
122
- AppType.of_value(app_type),
123
- list(map(AppExtension.value_of, app_ext)) if app_ext else [],
124
- self.get_arg("dest-dir") or run_dir(),
125
- )
126
- else:
127
- args = addon.prompt()
128
- if args:
129
- app_ext = []
130
- if args.initialize_gradle:
131
- app_ext.append(AppExtension.GRADLE)
132
- if args.initialize_git:
133
- app_ext.append(AppExtension.GIT)
134
- addon.create(args.app_name, AppType.of_value(args.app_type), list(app_ext), args.dest_dir or run_dir())
135
-
136
-
137
- # Application entry point
138
- if __name__ == "__main__":
139
- Main("clitt").INSTANCE.run(sys.argv[1:])
@@ -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.build.lib.clitt.addons
6
- """Package initialization."""
7
-
8
- __all__ = [
9
- 'appman',
10
- 'widman'
11
- ]
12
- __version__ = '0.9.116'
@@ -1,13 +0,0 @@
1
- # _*_ coding: utf-8 _*_
2
- #
3
- # hspylib-clitt v0.9.116
4
- #
5
- # Package: main.build.lib.build.lib.build.lib.build.lib.clitt.addons.appman
6
- """Package initialization."""
7
-
8
- __all__ = [
9
- 'appman',
10
- 'appman_enums',
11
- 'templates'
12
- ]
13
- __version__ = '0.9.116'