hspylib-clitt 0.9.117__py3-none-any.whl → 0.9.119__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 (356) hide show
  1. build/lib/build/lib/build/lib/build/lib/clitt/__classpath__.py +28 -0
  2. build/lib/build/lib/build/lib/build/lib/clitt/__init__.py +13 -0
  3. build/lib/build/lib/build/lib/build/lib/clitt/__main__.py +139 -0
  4. build/lib/build/lib/build/lib/build/lib/clitt/addons/__init__.py +12 -0
  5. build/lib/build/lib/build/lib/build/lib/clitt/addons/appman/__init__.py +13 -0
  6. build/lib/build/lib/build/lib/build/lib/clitt/addons/appman/appman.py +305 -0
  7. build/lib/build/lib/build/lib/build/lib/clitt/addons/appman/appman_enums.py +39 -0
  8. build/lib/build/lib/build/lib/build/lib/clitt/addons/appman/templates/__init__.py +11 -0
  9. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/__init__.py +14 -0
  10. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widget.py +70 -0
  11. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widget_entry.py +54 -0
  12. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widgets/__init__.py +14 -0
  13. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_free.py +110 -0
  14. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_punch.py +246 -0
  15. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_send_msg.py +272 -0
  16. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_time_calc.py +146 -0
  17. build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widman.py +123 -0
  18. build/lib/build/lib/build/lib/build/lib/clitt/core/__init__.py +15 -0
  19. build/lib/build/lib/build/lib/build/lib/clitt/core/exception/__init__.py +11 -0
  20. build/lib/build/lib/build/lib/build/lib/clitt/core/exception/exceptions.py +19 -0
  21. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/__init__.py +12 -0
  22. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/emojis/__init__.py +12 -0
  23. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/emojis/emojis.py +41 -0
  24. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/emojis/face_smiling.py +40 -0
  25. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/__init__.py +18 -0
  26. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/app_icons.py +55 -0
  27. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/awesome.py +76 -0
  28. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/dashboard_icons.py +93 -0
  29. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/form_icons.py +69 -0
  30. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/game_icons.py +59 -0
  31. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/nav_icons.py +42 -0
  32. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/trickplay_icons.py +39 -0
  33. build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/widget_icons.py +37 -0
  34. build/lib/build/lib/build/lib/build/lib/clitt/core/preferences.py +87 -0
  35. build/lib/build/lib/build/lib/build/lib/clitt/core/term/__init__.py +14 -0
  36. build/lib/build/lib/build/lib/build/lib/clitt/core/term/commons.py +106 -0
  37. build/lib/build/lib/build/lib/build/lib/clitt/core/term/cursor.py +174 -0
  38. build/lib/build/lib/build/lib/build/lib/clitt/core/term/screen.py +106 -0
  39. build/lib/build/lib/build/lib/build/lib/clitt/core/term/terminal.py +202 -0
  40. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/__init__.py +20 -0
  41. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/line_input/__init__.py +12 -0
  42. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/line_input/keyboard_input.py +229 -0
  43. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/line_input/line_input.py +31 -0
  44. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mchoose/__init__.py +12 -0
  45. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mchoose/mchoose.py +43 -0
  46. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mchoose/menu_choose.py +192 -0
  47. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/__init__.py +14 -0
  48. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_builder.py +54 -0
  49. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_item.py +31 -0
  50. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/mdashboard.py +26 -0
  51. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/menu_dashboard.py +148 -0
  52. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/__init__.py +16 -0
  53. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu.py +111 -0
  54. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_action.py +47 -0
  55. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_factory.py +117 -0
  56. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_item.py +196 -0
  57. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_ui.py +98 -0
  58. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_view.py +57 -0
  59. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/__init__.py +19 -0
  60. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/access_type.py +26 -0
  61. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/field_builder.py +117 -0
  62. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/form_builder.py +72 -0
  63. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/form_field.py +180 -0
  64. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/input_type.py +30 -0
  65. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/input_validator.py +98 -0
  66. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/menu_input.py +292 -0
  67. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/minput.py +44 -0
  68. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/minput_utils.py +156 -0
  69. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mselect/__init__.py +12 -0
  70. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mselect/menu_select.py +170 -0
  71. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mselect/mselect.py +36 -0
  72. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/table/__init__.py +12 -0
  73. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/table/table_enums.py +47 -0
  74. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/table/table_renderer.py +339 -0
  75. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/tui_application.py +52 -0
  76. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/tui_component.py +154 -0
  77. build/lib/build/lib/build/lib/build/lib/clitt/core/tui/tui_preferences.py +103 -0
  78. build/lib/build/lib/build/lib/build/lib/clitt/utils/__init__.py +11 -0
  79. build/lib/build/lib/build/lib/build/lib/clitt/utils/git_utils.py +66 -0
  80. build/lib/build/lib/build/lib/clitt/__classpath__.py +28 -0
  81. build/lib/build/lib/build/lib/clitt/__init__.py +13 -0
  82. build/lib/build/lib/build/lib/clitt/__main__.py +139 -0
  83. build/lib/build/lib/build/lib/clitt/addons/__init__.py +12 -0
  84. build/lib/build/lib/build/lib/clitt/addons/appman/__init__.py +13 -0
  85. build/lib/build/lib/build/lib/clitt/addons/appman/appman.py +305 -0
  86. build/lib/build/lib/build/lib/clitt/addons/appman/appman_enums.py +39 -0
  87. build/lib/build/lib/build/lib/clitt/addons/appman/templates/__init__.py +11 -0
  88. build/lib/build/lib/build/lib/clitt/addons/widman/__init__.py +14 -0
  89. build/lib/build/lib/build/lib/clitt/addons/widman/widget.py +70 -0
  90. build/lib/build/lib/build/lib/clitt/addons/widman/widget_entry.py +54 -0
  91. build/lib/build/lib/build/lib/clitt/addons/widman/widgets/__init__.py +14 -0
  92. build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_free.py +110 -0
  93. build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_punch.py +246 -0
  94. build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_send_msg.py +272 -0
  95. build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_time_calc.py +146 -0
  96. build/lib/build/lib/build/lib/clitt/addons/widman/widman.py +123 -0
  97. build/lib/build/lib/build/lib/clitt/core/__init__.py +15 -0
  98. build/lib/build/lib/build/lib/clitt/core/exception/__init__.py +11 -0
  99. build/lib/build/lib/build/lib/clitt/core/exception/exceptions.py +19 -0
  100. build/lib/build/lib/build/lib/clitt/core/icons/__init__.py +12 -0
  101. build/lib/build/lib/build/lib/clitt/core/icons/emojis/__init__.py +12 -0
  102. build/lib/build/lib/build/lib/clitt/core/icons/emojis/emojis.py +41 -0
  103. build/lib/build/lib/build/lib/clitt/core/icons/emojis/face_smiling.py +40 -0
  104. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/__init__.py +18 -0
  105. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/app_icons.py +55 -0
  106. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/awesome.py +76 -0
  107. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/dashboard_icons.py +93 -0
  108. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/form_icons.py +69 -0
  109. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/game_icons.py +59 -0
  110. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/nav_icons.py +42 -0
  111. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/trickplay_icons.py +39 -0
  112. build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/widget_icons.py +37 -0
  113. build/lib/build/lib/build/lib/clitt/core/preferences.py +87 -0
  114. build/lib/build/lib/build/lib/clitt/core/term/__init__.py +14 -0
  115. build/lib/build/lib/build/lib/clitt/core/term/commons.py +106 -0
  116. build/lib/build/lib/build/lib/clitt/core/term/cursor.py +174 -0
  117. build/lib/build/lib/build/lib/clitt/core/term/screen.py +106 -0
  118. build/lib/build/lib/build/lib/clitt/core/term/terminal.py +202 -0
  119. build/lib/build/lib/build/lib/clitt/core/tui/__init__.py +20 -0
  120. build/lib/build/lib/build/lib/clitt/core/tui/line_input/__init__.py +12 -0
  121. build/lib/build/lib/build/lib/clitt/core/tui/line_input/keyboard_input.py +229 -0
  122. build/lib/build/lib/build/lib/clitt/core/tui/line_input/line_input.py +31 -0
  123. build/lib/build/lib/build/lib/clitt/core/tui/mchoose/__init__.py +12 -0
  124. build/lib/build/lib/build/lib/clitt/core/tui/mchoose/mchoose.py +43 -0
  125. build/lib/build/lib/build/lib/clitt/core/tui/mchoose/menu_choose.py +192 -0
  126. build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/__init__.py +14 -0
  127. build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_builder.py +54 -0
  128. build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_item.py +31 -0
  129. build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/mdashboard.py +26 -0
  130. build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/menu_dashboard.py +148 -0
  131. build/lib/build/lib/build/lib/clitt/core/tui/menu/__init__.py +16 -0
  132. build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu.py +111 -0
  133. build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_action.py +47 -0
  134. build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_factory.py +117 -0
  135. build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_item.py +196 -0
  136. build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_ui.py +98 -0
  137. build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_view.py +57 -0
  138. build/lib/build/lib/build/lib/clitt/core/tui/minput/__init__.py +19 -0
  139. build/lib/build/lib/build/lib/clitt/core/tui/minput/access_type.py +26 -0
  140. build/lib/build/lib/build/lib/clitt/core/tui/minput/field_builder.py +117 -0
  141. build/lib/build/lib/build/lib/clitt/core/tui/minput/form_builder.py +72 -0
  142. build/lib/build/lib/build/lib/clitt/core/tui/minput/form_field.py +180 -0
  143. build/lib/build/lib/build/lib/clitt/core/tui/minput/input_type.py +30 -0
  144. build/lib/build/lib/build/lib/clitt/core/tui/minput/input_validator.py +98 -0
  145. build/lib/build/lib/build/lib/clitt/core/tui/minput/menu_input.py +292 -0
  146. build/lib/build/lib/build/lib/clitt/core/tui/minput/minput.py +44 -0
  147. build/lib/build/lib/build/lib/clitt/core/tui/minput/minput_utils.py +156 -0
  148. build/lib/build/lib/build/lib/clitt/core/tui/mselect/__init__.py +12 -0
  149. build/lib/build/lib/build/lib/clitt/core/tui/mselect/menu_select.py +170 -0
  150. build/lib/build/lib/build/lib/clitt/core/tui/mselect/mselect.py +36 -0
  151. build/lib/build/lib/build/lib/clitt/core/tui/table/__init__.py +12 -0
  152. build/lib/build/lib/build/lib/clitt/core/tui/table/table_enums.py +47 -0
  153. build/lib/build/lib/build/lib/clitt/core/tui/table/table_renderer.py +339 -0
  154. build/lib/build/lib/build/lib/clitt/core/tui/tui_application.py +52 -0
  155. build/lib/build/lib/build/lib/clitt/core/tui/tui_component.py +154 -0
  156. build/lib/build/lib/build/lib/clitt/core/tui/tui_preferences.py +103 -0
  157. build/lib/build/lib/build/lib/clitt/utils/__init__.py +11 -0
  158. build/lib/build/lib/build/lib/clitt/utils/git_utils.py +66 -0
  159. build/lib/build/lib/clitt/__classpath__.py +28 -0
  160. build/lib/build/lib/clitt/__init__.py +13 -0
  161. build/lib/build/lib/clitt/__main__.py +139 -0
  162. build/lib/build/lib/clitt/addons/__init__.py +12 -0
  163. build/lib/build/lib/clitt/addons/appman/__init__.py +13 -0
  164. build/lib/build/lib/clitt/addons/appman/appman.py +305 -0
  165. build/lib/build/lib/clitt/addons/appman/appman_enums.py +39 -0
  166. build/lib/build/lib/clitt/addons/appman/templates/__init__.py +11 -0
  167. build/lib/build/lib/clitt/addons/widman/__init__.py +14 -0
  168. build/lib/build/lib/clitt/addons/widman/widget.py +70 -0
  169. build/lib/build/lib/clitt/addons/widman/widget_entry.py +54 -0
  170. build/lib/build/lib/clitt/addons/widman/widgets/__init__.py +14 -0
  171. build/lib/build/lib/clitt/addons/widman/widgets/widget_free.py +110 -0
  172. build/lib/build/lib/clitt/addons/widman/widgets/widget_punch.py +246 -0
  173. build/lib/build/lib/clitt/addons/widman/widgets/widget_send_msg.py +272 -0
  174. build/lib/build/lib/clitt/addons/widman/widgets/widget_time_calc.py +146 -0
  175. build/lib/build/lib/clitt/addons/widman/widman.py +123 -0
  176. build/lib/build/lib/clitt/core/__init__.py +15 -0
  177. build/lib/build/lib/clitt/core/exception/__init__.py +11 -0
  178. build/lib/build/lib/clitt/core/exception/exceptions.py +19 -0
  179. build/lib/build/lib/clitt/core/icons/__init__.py +12 -0
  180. build/lib/build/lib/clitt/core/icons/emojis/__init__.py +12 -0
  181. build/lib/build/lib/clitt/core/icons/emojis/emojis.py +41 -0
  182. build/lib/build/lib/clitt/core/icons/emojis/face_smiling.py +40 -0
  183. build/lib/build/lib/clitt/core/icons/font_awesome/__init__.py +18 -0
  184. build/lib/build/lib/clitt/core/icons/font_awesome/app_icons.py +55 -0
  185. build/lib/build/lib/clitt/core/icons/font_awesome/awesome.py +76 -0
  186. build/lib/build/lib/clitt/core/icons/font_awesome/dashboard_icons.py +93 -0
  187. build/lib/build/lib/clitt/core/icons/font_awesome/form_icons.py +69 -0
  188. build/lib/build/lib/clitt/core/icons/font_awesome/game_icons.py +59 -0
  189. build/lib/build/lib/clitt/core/icons/font_awesome/nav_icons.py +42 -0
  190. build/lib/build/lib/clitt/core/icons/font_awesome/trickplay_icons.py +39 -0
  191. build/lib/build/lib/clitt/core/icons/font_awesome/widget_icons.py +37 -0
  192. build/lib/build/lib/clitt/core/preferences.py +87 -0
  193. build/lib/build/lib/clitt/core/term/__init__.py +14 -0
  194. build/lib/build/lib/clitt/core/term/commons.py +106 -0
  195. build/lib/build/lib/clitt/core/term/cursor.py +174 -0
  196. build/lib/build/lib/clitt/core/term/screen.py +106 -0
  197. build/lib/build/lib/clitt/core/term/terminal.py +202 -0
  198. build/lib/build/lib/clitt/core/tui/__init__.py +20 -0
  199. build/lib/build/lib/clitt/core/tui/line_input/__init__.py +12 -0
  200. build/lib/build/lib/clitt/core/tui/line_input/keyboard_input.py +229 -0
  201. build/lib/build/lib/clitt/core/tui/line_input/line_input.py +31 -0
  202. build/lib/build/lib/clitt/core/tui/mchoose/__init__.py +12 -0
  203. build/lib/build/lib/clitt/core/tui/mchoose/mchoose.py +43 -0
  204. build/lib/build/lib/clitt/core/tui/mchoose/menu_choose.py +192 -0
  205. build/lib/build/lib/clitt/core/tui/mdashboard/__init__.py +14 -0
  206. build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_builder.py +54 -0
  207. build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_item.py +31 -0
  208. build/lib/build/lib/clitt/core/tui/mdashboard/mdashboard.py +26 -0
  209. build/lib/build/lib/clitt/core/tui/mdashboard/menu_dashboard.py +148 -0
  210. build/lib/build/lib/clitt/core/tui/menu/__init__.py +16 -0
  211. build/lib/build/lib/clitt/core/tui/menu/tui_menu.py +111 -0
  212. build/lib/build/lib/clitt/core/tui/menu/tui_menu_action.py +47 -0
  213. build/lib/build/lib/clitt/core/tui/menu/tui_menu_factory.py +117 -0
  214. build/lib/build/lib/clitt/core/tui/menu/tui_menu_item.py +196 -0
  215. build/lib/build/lib/clitt/core/tui/menu/tui_menu_ui.py +98 -0
  216. build/lib/build/lib/clitt/core/tui/menu/tui_menu_view.py +57 -0
  217. build/lib/build/lib/clitt/core/tui/minput/__init__.py +19 -0
  218. build/lib/build/lib/clitt/core/tui/minput/access_type.py +26 -0
  219. build/lib/build/lib/clitt/core/tui/minput/field_builder.py +117 -0
  220. build/lib/build/lib/clitt/core/tui/minput/form_builder.py +72 -0
  221. build/lib/build/lib/clitt/core/tui/minput/form_field.py +180 -0
  222. build/lib/build/lib/clitt/core/tui/minput/input_type.py +30 -0
  223. build/lib/build/lib/clitt/core/tui/minput/input_validator.py +98 -0
  224. build/lib/build/lib/clitt/core/tui/minput/menu_input.py +292 -0
  225. build/lib/build/lib/clitt/core/tui/minput/minput.py +44 -0
  226. build/lib/build/lib/clitt/core/tui/minput/minput_utils.py +156 -0
  227. build/lib/build/lib/clitt/core/tui/mselect/__init__.py +12 -0
  228. build/lib/build/lib/clitt/core/tui/mselect/menu_select.py +170 -0
  229. build/lib/build/lib/clitt/core/tui/mselect/mselect.py +36 -0
  230. build/lib/build/lib/clitt/core/tui/table/__init__.py +12 -0
  231. build/lib/build/lib/clitt/core/tui/table/table_enums.py +47 -0
  232. build/lib/build/lib/clitt/core/tui/table/table_renderer.py +339 -0
  233. build/lib/build/lib/clitt/core/tui/tui_application.py +52 -0
  234. build/lib/build/lib/clitt/core/tui/tui_component.py +154 -0
  235. build/lib/build/lib/clitt/core/tui/tui_preferences.py +103 -0
  236. build/lib/build/lib/clitt/utils/__init__.py +11 -0
  237. build/lib/build/lib/clitt/utils/git_utils.py +66 -0
  238. build/lib/clitt/__classpath__.py +28 -0
  239. build/lib/clitt/__init__.py +13 -0
  240. build/lib/clitt/__main__.py +139 -0
  241. build/lib/clitt/addons/__init__.py +12 -0
  242. build/lib/clitt/addons/appman/__init__.py +13 -0
  243. build/lib/clitt/addons/appman/appman.py +305 -0
  244. build/lib/clitt/addons/appman/appman_enums.py +39 -0
  245. build/lib/clitt/addons/appman/templates/__init__.py +11 -0
  246. build/lib/clitt/addons/widman/__init__.py +14 -0
  247. build/lib/clitt/addons/widman/widget.py +70 -0
  248. build/lib/clitt/addons/widman/widget_entry.py +54 -0
  249. build/lib/clitt/addons/widman/widgets/__init__.py +14 -0
  250. build/lib/clitt/addons/widman/widgets/widget_free.py +110 -0
  251. build/lib/clitt/addons/widman/widgets/widget_punch.py +246 -0
  252. build/lib/clitt/addons/widman/widgets/widget_send_msg.py +272 -0
  253. build/lib/clitt/addons/widman/widgets/widget_time_calc.py +146 -0
  254. build/lib/clitt/addons/widman/widman.py +123 -0
  255. build/lib/clitt/core/__init__.py +15 -0
  256. build/lib/clitt/core/exception/__init__.py +11 -0
  257. build/lib/clitt/core/exception/exceptions.py +19 -0
  258. build/lib/clitt/core/icons/__init__.py +12 -0
  259. build/lib/clitt/core/icons/emojis/__init__.py +12 -0
  260. build/lib/clitt/core/icons/emojis/emojis.py +41 -0
  261. build/lib/clitt/core/icons/emojis/face_smiling.py +40 -0
  262. build/lib/clitt/core/icons/font_awesome/__init__.py +18 -0
  263. build/lib/clitt/core/icons/font_awesome/app_icons.py +55 -0
  264. build/lib/clitt/core/icons/font_awesome/awesome.py +76 -0
  265. build/lib/clitt/core/icons/font_awesome/dashboard_icons.py +93 -0
  266. build/lib/clitt/core/icons/font_awesome/form_icons.py +69 -0
  267. build/lib/clitt/core/icons/font_awesome/game_icons.py +59 -0
  268. build/lib/clitt/core/icons/font_awesome/nav_icons.py +42 -0
  269. build/lib/clitt/core/icons/font_awesome/trickplay_icons.py +39 -0
  270. build/lib/clitt/core/icons/font_awesome/widget_icons.py +37 -0
  271. build/lib/clitt/core/preferences.py +87 -0
  272. build/lib/clitt/core/term/__init__.py +14 -0
  273. build/lib/clitt/core/term/commons.py +106 -0
  274. build/lib/clitt/core/term/cursor.py +174 -0
  275. build/lib/clitt/core/term/screen.py +106 -0
  276. build/lib/clitt/core/term/terminal.py +202 -0
  277. build/lib/clitt/core/tui/__init__.py +20 -0
  278. build/lib/clitt/core/tui/line_input/__init__.py +12 -0
  279. build/lib/clitt/core/tui/line_input/keyboard_input.py +229 -0
  280. build/lib/clitt/core/tui/line_input/line_input.py +31 -0
  281. build/lib/clitt/core/tui/mchoose/__init__.py +12 -0
  282. build/lib/clitt/core/tui/mchoose/mchoose.py +43 -0
  283. build/lib/clitt/core/tui/mchoose/menu_choose.py +192 -0
  284. build/lib/clitt/core/tui/mdashboard/__init__.py +14 -0
  285. build/lib/clitt/core/tui/mdashboard/dashboard_builder.py +54 -0
  286. build/lib/clitt/core/tui/mdashboard/dashboard_item.py +31 -0
  287. build/lib/clitt/core/tui/mdashboard/mdashboard.py +26 -0
  288. build/lib/clitt/core/tui/mdashboard/menu_dashboard.py +148 -0
  289. build/lib/clitt/core/tui/menu/__init__.py +16 -0
  290. build/lib/clitt/core/tui/menu/tui_menu.py +111 -0
  291. build/lib/clitt/core/tui/menu/tui_menu_action.py +47 -0
  292. build/lib/clitt/core/tui/menu/tui_menu_factory.py +117 -0
  293. build/lib/clitt/core/tui/menu/tui_menu_item.py +196 -0
  294. build/lib/clitt/core/tui/menu/tui_menu_ui.py +98 -0
  295. build/lib/clitt/core/tui/menu/tui_menu_view.py +57 -0
  296. build/lib/clitt/core/tui/minput/__init__.py +19 -0
  297. build/lib/clitt/core/tui/minput/access_type.py +26 -0
  298. build/lib/clitt/core/tui/minput/field_builder.py +117 -0
  299. build/lib/clitt/core/tui/minput/form_builder.py +72 -0
  300. build/lib/clitt/core/tui/minput/form_field.py +180 -0
  301. build/lib/clitt/core/tui/minput/input_type.py +30 -0
  302. build/lib/clitt/core/tui/minput/input_validator.py +98 -0
  303. build/lib/clitt/core/tui/minput/menu_input.py +292 -0
  304. build/lib/clitt/core/tui/minput/minput.py +44 -0
  305. build/lib/clitt/core/tui/minput/minput_utils.py +156 -0
  306. build/lib/clitt/core/tui/mselect/__init__.py +12 -0
  307. build/lib/clitt/core/tui/mselect/menu_select.py +170 -0
  308. build/lib/clitt/core/tui/mselect/mselect.py +36 -0
  309. build/lib/clitt/core/tui/table/__init__.py +12 -0
  310. build/lib/clitt/core/tui/table/table_enums.py +47 -0
  311. build/lib/clitt/core/tui/table/table_renderer.py +339 -0
  312. build/lib/clitt/core/tui/tui_application.py +52 -0
  313. build/lib/clitt/core/tui/tui_component.py +154 -0
  314. build/lib/clitt/core/tui/tui_preferences.py +103 -0
  315. build/lib/clitt/utils/__init__.py +11 -0
  316. build/lib/clitt/utils/git_utils.py +66 -0
  317. clitt/.version +1 -1
  318. clitt/__init__.py +3 -3
  319. clitt/addons/__init__.py +3 -3
  320. clitt/addons/appman/__init__.py +3 -3
  321. clitt/addons/appman/templates/__init__.py +3 -3
  322. clitt/addons/widman/__init__.py +3 -3
  323. clitt/addons/widman/widgets/__init__.py +3 -3
  324. clitt/core/__init__.py +3 -3
  325. clitt/core/exception/__init__.py +3 -3
  326. clitt/core/exception/exceptions.py +1 -0
  327. clitt/core/icons/__init__.py +3 -3
  328. clitt/core/icons/emojis/__init__.py +3 -3
  329. clitt/core/icons/font_awesome/__init__.py +3 -3
  330. clitt/core/term/__init__.py +3 -3
  331. clitt/core/term/commons.py +40 -16
  332. clitt/core/term/cursor.py +18 -3
  333. clitt/core/term/screen.py +15 -0
  334. clitt/core/term/terminal.py +15 -16
  335. clitt/core/tui/__init__.py +3 -3
  336. clitt/core/tui/line_input/__init__.py +3 -3
  337. clitt/core/tui/line_input/keyboard_input.py +15 -14
  338. clitt/core/tui/line_input/line_input.py +2 -6
  339. clitt/core/tui/mchoose/__init__.py +3 -3
  340. clitt/core/tui/mchoose/mchoose.py +2 -3
  341. clitt/core/tui/mchoose/menu_choose.py +6 -14
  342. clitt/core/tui/mdashboard/__init__.py +3 -3
  343. clitt/core/tui/mdashboard/menu_dashboard.py +2 -8
  344. clitt/core/tui/menu/__init__.py +3 -3
  345. clitt/core/tui/minput/__init__.py +3 -3
  346. clitt/core/tui/mselect/__init__.py +3 -3
  347. clitt/core/tui/mselect/menu_select.py +2 -3
  348. clitt/core/tui/table/__init__.py +3 -3
  349. clitt/core/tui/tui_application.py +4 -5
  350. clitt/core/tui/tui_component.py +4 -5
  351. clitt/utils/__init__.py +3 -3
  352. {hspylib_clitt-0.9.117.dist-info → hspylib_clitt-0.9.119.dist-info}/METADATA +2 -2
  353. hspylib_clitt-0.9.119.dist-info/RECORD +413 -0
  354. {hspylib_clitt-0.9.117.dist-info → hspylib_clitt-0.9.119.dist-info}/top_level.txt +1 -0
  355. hspylib_clitt-0.9.117.dist-info/RECORD +0 -97
  356. {hspylib_clitt-0.9.117.dist-info → hspylib_clitt-0.9.119.dist-info}/WHEEL +0 -0
@@ -0,0 +1,123 @@
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+
4
+ """
5
+ @project: HsPyLib-Clitt
6
+ @package: clitt.addons.widman
7
+ @file: widman.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.addons.widman.widget import Widget
16
+ from clitt.addons.widman.widget_entry import WidgetEntry
17
+ from clitt.core.tui.mdashboard.dashboard_item import DashboardItem
18
+ from clitt.core.tui.mdashboard.mdashboard import mdashboard
19
+ from hspylib.core.exception.exceptions import WidgetExecutionError, WidgetNotFoundError
20
+ from hspylib.core.metaclass.singleton import Singleton
21
+ from hspylib.core.preconditions import check_state
22
+ from hspylib.core.tools.commons import get_path
23
+ from hspylib.core.tools.text_tools import camelcase
24
+ from hspylib.modules.application.application import Application
25
+ from hspylib.modules.application.exit_status import ExitStatus
26
+
27
+ import atexit
28
+ import os
29
+ import sys
30
+
31
+ HERE = get_path(__file__)
32
+
33
+
34
+ class WidgetManager(metaclass=Singleton):
35
+ """HsPyLib widget manager that handles HsPyLib widgets."""
36
+
37
+ WIDGETS_PATH = HERE / "widgets"
38
+
39
+ @staticmethod
40
+ def _name_matches(expected_name: str, provided_name: str) -> bool:
41
+ """Check if two names matches using defined naming rules.
42
+ :param expected_name the expected widget name.
43
+ :param provided_name the provided widget name (read from file).
44
+ """
45
+
46
+ return (
47
+ expected_name.lower() == provided_name.lower()
48
+ or expected_name == provided_name.capitalize()
49
+ or expected_name == camelcase(provided_name, capitalized=True)
50
+ or expected_name.lower() == provided_name.lower().replace("_", "")
51
+ )
52
+
53
+ def __init__(self, parent_app: Application):
54
+ self._parent_app = parent_app
55
+ self._widgets = []
56
+ self._lookup_paths = os.environ.get("HHS_WIDGETS_PATH", "").split(":")
57
+ self._lookup_paths.insert(0, str(WidgetManager.WIDGETS_PATH))
58
+ list(map(sys.path.append, self._lookup_paths))
59
+ check_state(self._search_widgets() > 0, "Unable to find any widgets from: {}", self._lookup_paths)
60
+
61
+ def execute(self, widget_name: str, *widget_args) -> None:
62
+ """Execute the specified widget.
63
+ :param widget_name the widget name.
64
+ :param widget_args the arguments to be provided to the widget.
65
+ """
66
+
67
+ widget = self._import_widget(camelcase(widget_name, capitalized=True))
68
+ try:
69
+ atexit.register(widget.cleanup)
70
+ exit_code = widget.execute(*widget_args)
71
+ if exit_code in [ExitStatus.ERROR, ExitStatus.FAILED]:
72
+ raise WidgetExecutionError(f"Widget '{widget_name}' failed to execute. exit_code={exit_code}")
73
+ except Exception as err:
74
+ raise WidgetExecutionError(f"Unable to execute widget '{widget_name}' -> {err}") from err
75
+
76
+ def dashboard(self) -> None:
77
+ """Display all available widgets from the widget lookup paths on a dashboard."""
78
+
79
+ items = []
80
+ try:
81
+ for widget_entry in self._widgets:
82
+ widget = self._import_widget(widget_entry.name)
83
+ item = DashboardItem(
84
+ widget.icon(), f"{widget.name()} v{widget.version()}: {widget.tooltip()}", widget.execute
85
+ )
86
+ items.append(item)
87
+ check_state(len(items) > 0, "No widgets found from: {}", str(self._lookup_paths))
88
+ mdashboard(items, "Please select a widget to execute")
89
+ except Exception as err:
90
+ raise WidgetExecutionError(f"Failed to execute widget :: {str(err)}") from err
91
+
92
+ # pylint: disable=cell-var-from-loop
93
+ def _search_widgets(self) -> int:
94
+ """Search and load all widgets from the widget lookup paths."""
95
+
96
+ for path in self._lookup_paths:
97
+ for root, _, files in os.walk(path):
98
+ filtered = list(filter(lambda p: p.startswith(WidgetEntry.MODULE_PREFIX) and p.endswith("py"), files))
99
+ widgets = list(map(lambda w: WidgetEntry(w, f"{root}/{w}"), filtered))
100
+ self._widgets.extend(widgets)
101
+
102
+ return len(self._widgets)
103
+
104
+ def _import_widget(self, widget_name: str) -> Widget:
105
+ """Find, import and return a widget specified by the widget name.
106
+ :param widget_name the widget name.
107
+ """
108
+ widget_entry = next((w for w in self._widgets if self._name_matches(widget_name, w.name)), None)
109
+ if not widget_entry:
110
+ raise WidgetNotFoundError(
111
+ f"Widget '{widget_name}' was not found on widget lookup paths: {str(self._lookup_paths)}"
112
+ )
113
+ try:
114
+ widget_module = __import__(widget_entry.module)
115
+ except ModuleNotFoundError as err:
116
+ raise WidgetNotFoundError(
117
+ f"Widget '{widget_name}' was not found on widget lookup paths: {str(self._lookup_paths)}"
118
+ ) from err
119
+ widget_clazz = getattr(widget_module, widget_entry.clazz)
120
+ widget = widget_clazz()
121
+ check_state(isinstance(widget, Widget), 'All widgets must inherit from "clitt.addons.widman.Widget"')
122
+
123
+ return widget
@@ -0,0 +1,15 @@
1
+ # _*_ coding: utf-8 _*_
2
+ #
3
+ # hspylib-clitt v0.9.119
4
+ #
5
+ # Package: main.build.lib.build.lib.clitt.core
6
+ """Package initialization."""
7
+
8
+ __all__ = [
9
+ 'exception',
10
+ 'icons',
11
+ 'preferences',
12
+ 'term',
13
+ 'tui'
14
+ ]
15
+ __version__ = '0.9.119'
@@ -0,0 +1,11 @@
1
+ # _*_ coding: utf-8 _*_
2
+ #
3
+ # hspylib-clitt v0.9.119
4
+ #
5
+ # Package: main.build.lib.build.lib.clitt.core.exception
6
+ """Package initialization."""
7
+
8
+ __all__ = [
9
+ 'exceptions'
10
+ ]
11
+ __version__ = '0.9.119'
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+
4
+ """
5
+ @project: HsPyLib
6
+ @package: clitt.core.exceptions
7
+ @file: exceptions.py
8
+ @created: Fri, 7 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
+
16
+
17
+ class NotATerminalError(NotImplementedError):
18
+ """Raised when a TTY terminal is required"""
19
+
@@ -0,0 +1,12 @@
1
+ # _*_ coding: utf-8 _*_
2
+ #
3
+ # hspylib-clitt v0.9.119
4
+ #
5
+ # Package: main.build.lib.build.lib.clitt.core.icons
6
+ """Package initialization."""
7
+
8
+ __all__ = [
9
+ 'emojis',
10
+ 'font_awesome'
11
+ ]
12
+ __version__ = '0.9.119'
@@ -0,0 +1,12 @@
1
+ # _*_ coding: utf-8 _*_
2
+ #
3
+ # hspylib-clitt v0.9.119
4
+ #
5
+ # Package: main.build.lib.build.lib.clitt.core.icons.emojis
6
+ """Package initialization."""
7
+
8
+ __all__ = [
9
+ 'emojis',
10
+ 'face_smiling'
11
+ ]
12
+ __version__ = '0.9.119'
@@ -0,0 +1,41 @@
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+
4
+ """
5
+ @project: HsPyLib-Clitt
6
+ @package: clitt.core.icons.emojis
7
+ @file: emojis.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 emoji.core import emojize
17
+ from hspylib.core.enums.enumeration import Enumeration
18
+ from hspylib.core.tools.commons import sysout
19
+
20
+
21
+ class Emoji(Enumeration):
22
+ """
23
+ Emoji codes
24
+ Full list of emojis can be found here:
25
+ - https://unicode.org/emoji/charts/emoji-list.html
26
+ """
27
+
28
+ @staticmethod
29
+ def emj_print(emoji_str: str, end: str = "") -> None:
30
+ """Print an emoji
31
+ :param emoji_str the emoji to be printed.
32
+ :param end string appended after the last value, default a newline.
33
+ """
34
+ sysout(f"{emojize(emoji_str)} ", end=end)
35
+
36
+ def __str__(self) -> str:
37
+ return str(self.value)
38
+
39
+ @property
40
+ def placeholder(self) -> str:
41
+ return f":{self.name}:"
@@ -0,0 +1,40 @@
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+
4
+ """
5
+ @project: HsPyLib-Clitt
6
+ @package: clitt.core.icons.emojis
7
+ @file: face_smiling.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.icons.emojis.emojis import Emoji
16
+
17
+
18
+ class FaceSmiling(Emoji):
19
+ """
20
+ Face smiling emojis.
21
+ Codes can be found here:
22
+ - https://unicode.org/emoji/charts/emoji-list.html#face-smiling
23
+ """
24
+
25
+ # fmt: off
26
+ _CUSTOM = ''
27
+ DEFAULT = '\U0001F600' # 😀
28
+ BEAMING = '\U0001F601' # 😁
29
+ TEARS_OF_JOY = '\U0001F602' # 😂
30
+ BIG_EYES = '\U0001F603' # 😃
31
+ SMILING_EYES = '\U0001F604' # 😄
32
+ SWEAT = '\U0001F605' # 😅
33
+ SQUINTING = '\U0001F606' # 😆
34
+ HALO = '\U0001F607' # 😇
35
+ WINKING = '\U0001F609' # 😉
36
+ BLUSHING = '\U0001F60A' # 😊
37
+ SLIGHTLY = '\U0001F642' # 🙂
38
+ UPSIDE_DOWN = '\U0001F643' # 🙃
39
+ ROFL = '\U0001F923' # 🤣
40
+ # fmt: on
@@ -0,0 +1,18 @@
1
+ # _*_ coding: utf-8 _*_
2
+ #
3
+ # hspylib-clitt v0.9.119
4
+ #
5
+ # Package: main.build.lib.build.lib.clitt.core.icons.font_awesome
6
+ """Package initialization."""
7
+
8
+ __all__ = [
9
+ 'app_icons',
10
+ 'awesome',
11
+ 'dashboard_icons',
12
+ 'form_icons',
13
+ 'game_icons',
14
+ 'nav_icons',
15
+ 'trickplay_icons',
16
+ 'widget_icons'
17
+ ]
18
+ __version__ = '0.9.119'
@@ -0,0 +1,55 @@
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+
4
+ """
5
+ @project: HsPyLib-Clitt
6
+ @package: clitt.core.icons.font_awesome
7
+ @file: app_icons.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.icons.font_awesome.awesome import Awesome
16
+ from enum import auto
17
+
18
+
19
+ class AppIcons(Awesome):
20
+ """
21
+ Application icons.
22
+ Codes can be found here:
23
+ - https://fontawesome.com/cheatsheet?from=io
24
+ """
25
+
26
+ # fmt: off
27
+ _CUSTOM = auto()
28
+ AMAZON = '\uF270' # 
29
+ APPLE = '\uF179' # 
30
+ AWS = '\uF375' # 
31
+ CPLUSPLUS = '\uF38C' # 
32
+ DOCKER = '\uF308' # 
33
+ DROPBOX = '\uF16B' # 
34
+ GIT = '\uF813' # 
35
+ GITHUB = '\uF408' # 
36
+ GOOGLE = '\uF1A0' # 
37
+ GOOGLE_DRIVE = '\uF3AA' # 
38
+ FACEBOOK = '\uF082' # 
39
+ FIREBASE = '\uF1D0' # 
40
+ IE = '\uF7FF' # 
41
+ INSTAGRAM = '\uF16D' # 
42
+ JAVA = '\uF4E4' # 
43
+ LINKED_IN = '\uF08C' # 
44
+ LINUX = '\uF31A' # 
45
+ PAYPAL = '\uF1ED' # 
46
+ PYTHON = '\uF3E2' # 
47
+ STACK_OVERFLOW = '\uF16C' # 
48
+ TWITTER = '\uF081' # 
49
+ UBUNTU = '\uF31B' # 
50
+ VS_CODE = '\uF3AB' # 
51
+ YOUTUBE = '\uF16A' # 
52
+ WHATSAPP = '\uFAA2' # 甆
53
+ WINDOWS = '\uF17A' # 
54
+ ALPINE = '\uF7F4' # 
55
+ # fmt: on
@@ -0,0 +1,76 @@
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+
4
+ """
5
+ @project: HsPyLib-Clitt
6
+ @package: clitt.core.icons.font_awesome
7
+ @file: awesome.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 hspylib.core.enums.enumeration import Enumeration
17
+ from hspylib.core.tools.commons import sysout
18
+ from typing import Union
19
+
20
+ import re
21
+ import struct
22
+
23
+
24
+ class Awesome(Enumeration):
25
+ """
26
+ Font awesome codes
27
+ Full list of font awesome icons can be found here:
28
+ - https://fontawesome.com/cheatsheet?from=io
29
+ """
30
+
31
+ @classmethod
32
+ def no_icon(cls) -> "Awesome":
33
+ """No awesome icon specified."""
34
+
35
+ def _str(self) -> str:
36
+ return " "
37
+
38
+ def _len(self) -> int:
39
+ return 1
40
+
41
+ def _fmt(self, fmt) -> str:
42
+ return " "
43
+
44
+ no_icon_cls = type("NoIcon", (object,), {"name": "NO_ICON", "value": ""})
45
+ setattr(no_icon_cls, "__str__", _str)
46
+ setattr(no_icon_cls, "__len__", _len)
47
+ setattr(no_icon_cls, "__format__", _fmt)
48
+ return no_icon_cls()
49
+
50
+ @staticmethod
51
+ def print_unicode(uni_code: Union[str, int], end: str = "") -> None:
52
+ """Print the specified unicode character.
53
+ :param uni_code: the unicode to be printed.
54
+ :param end string appended after the last value, default a newline.
55
+ """
56
+ if isinstance(uni_code, str) and re.match(r"^[a-fA-F0-9]{1,4}$", uni_code):
57
+ hex_val = bytes.decode(struct.pack("!I", int(uni_code.zfill(4), 16)), "utf_32_be")
58
+ sysout(f"{hex_val:2s}", end=end)
59
+ elif isinstance(uni_code, int):
60
+ hex_val = bytes.decode(struct.pack("!I", uni_code), "utf_32_be")
61
+ sysout(f"{hex_val:2s}", end=end)
62
+ else:
63
+ raise TypeError(f"Invalid unicode value: {uni_code}")
64
+
65
+ def __str__(self) -> str:
66
+ return str(self.value)
67
+
68
+ def __repr__(self) -> str:
69
+ return str(self)
70
+
71
+ def __len__(self) -> int:
72
+ return len(str(self.value))
73
+
74
+ @property
75
+ def unicode(self) -> str:
76
+ return str(self.value)
@@ -0,0 +1,93 @@
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+
4
+ """
5
+ @project: HsPyLib-Clitt
6
+ @package: clitt.core.icons.font_awesome
7
+ @file: dashboard_icons.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.icons.font_awesome.awesome import Awesome
16
+ from enum import auto
17
+
18
+
19
+ class DashboardIcons(Awesome):
20
+ """
21
+ Dashboard UI icons.
22
+ Codes can be found here:
23
+ - https://fontawesome.com/cheatsheet?from=io
24
+ """
25
+
26
+ # fmt: off
27
+ _CUSTOM = auto()
28
+ ADJUSTMENTS = '\uF1DE' # 
29
+ AGENDA = '\uF073' # 
30
+ ALERT = '\uF071' # 
31
+ ARCHIVE = '\uF01C' # 
32
+ BALLOON = '\uF075' # 
33
+ CAMERA = '\uF030' # 
34
+ CHAT = '\uF78B' # 
35
+ CLOUD_DOWNLOAD = '\uF0ED' # 
36
+ CLOUD_UPLOAD = '\uF0EE' # 
37
+ CODE = '\uFABF' # 謹
38
+ COMPASS = '\uF124' # 
39
+ DASHBOARD = '\uF00A' # 
40
+ DATABASE = '\uF1C0' # 
41
+ DELIVERED = '\uFB3D' # ﬽
42
+ DOCUMENT = '\uF016' # 
43
+ DOWNLOAD = '\uF019' # 
44
+ EMAIL = '\uF003' # 
45
+ ERROR = '\uF06A' # 
46
+ EXIT = '\uF426' # 
47
+ EXPORT = '\uF5F6' # 
48
+ FAVORITE = '\uF02E' # 
49
+ FLAG = '\uF024' # 
50
+ FOLDER = '\uF74A' # 
51
+ FOLDER_OPEN = '\uF07C' # 
52
+ FORM = '\uF233' # 
53
+ FORMAT = '\uF6C8' # 
54
+ GRAPHS = '\uF627' # 
55
+ HISTORY = '\uF017' # 
56
+ HOME = '\uF015' # 
57
+ IDENTITY = '\uF2BB' # 
58
+ IMPORT = '\uF5F9' # 
59
+ KILL = '\uF8C4' # 
60
+ LIGHT_ON = '\uF834' # 
61
+ LIGHT_OFF = '\uF835' # 
62
+ LIKE = '\uF004' # 
63
+ LIST = '\uF03A' # 
64
+ LOCATION = '\uF450' # 
65
+ MOBILE = '\uF61F' # 
66
+ MOVIE = '\uF008' # 
67
+ MUSIC = '\uF3B5' # 
68
+ MUTE = '\uF86C' # 
69
+ NOTIFICATION = '\uF0F3' # 
70
+ PICTURE = '\uF03E' # 
71
+ PLAY = '\uF01D' # 
72
+ PLUGIN = '\uF12E' # 
73
+ PLUG_IN = '\uF1E6' # 
74
+ PLUG_OUT = '\uF492' # 
75
+ PLUGGED = '\uF700' # 
76
+ POWER = '\uF011' # 
77
+ PRINTER = '\uF02F' # 
78
+ READ = '\uF830' # 
79
+ SAVE = '\uF0C7' # 
80
+ SEARCH = '\uF002' # 
81
+ SECRET = '\uF49C' # 
82
+ SEND = '\uF3FE' # 
83
+ SENT = '\uF0FB' # 
84
+ SETTINGS = '\uF013' # 
85
+ SHOPPING_CART = '\uF60F' # 
86
+ TERMINAL = '\uF120' # 
87
+ PROMPT = '\uF054' # 
88
+ UN_MUTE = '\uF86E' # 
89
+ UNPLUGGED = '\uF701' # 
90
+ USER = '\uF007' # 
91
+ VERIFIED = '\uF4A1' # 
92
+
93
+ # fmt: on
@@ -0,0 +1,69 @@
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+
4
+ """
5
+ @project: HsPyLib-Clitt
6
+ @package: clitt.core.icons.font_awesome
7
+ @file: form_icons.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.icons.font_awesome.awesome import Awesome
16
+ from enum import auto
17
+
18
+
19
+ class FormIcons(Awesome):
20
+ """
21
+ Form UI icons.
22
+ Codes can be found here:
23
+ - https://fontawesome.com/cheatsheet?from=io
24
+ """
25
+
26
+ # fmt: off
27
+ _CUSTOM = auto()
28
+ ARROW_LEFT = '\uF060' # 
29
+ ARROW_RIGHT = '\uF061' # 
30
+ ARROW_UP = '\uF062' # 
31
+ ARROW_DOWN = '\uF063' # 
32
+ MOVE_ARROWS = '\uF047' # 
33
+ CHECK = '\uF00C' # 
34
+ UNCHECK = '\uF00D' # 
35
+ PLUS_CIRCLE = '\uF055' # 
36
+ MINUS_CIRCLE = '\uF056' # 
37
+ ERROR_CIRCLE = '\uf057' # 
38
+ CHECK_CIRCLE = '\uF058' # 
39
+ QUESTION_CIRCLE = '\uF059' # 
40
+ UNCHECK_CIRCLE = '\uF111' # 
41
+ CHECK_SQUARE = '\uF14A' # 
42
+ UNCHECK_SQUARE = '\uF0C8' # 
43
+ ON = '\uF205' # 
44
+ OFF = '\uF204' # 
45
+ MARKED = '\uF634' # 
46
+ UNMARKED = '\uF630' # 
47
+ CLEAR = '\uF5E1' # 
48
+ REFRESH = '\uF01E' # 
49
+ FILTER = '\uF0B0' # 
50
+ ATTACH = '\uF0C6' # 
51
+ HIDDEN = '\uF070' # 
52
+ VISIBLE = '\uF06E' # 
53
+ LOCKED = '\uF023' # 
54
+ UNLOCKED = '\uF09C' # 
55
+ EDITABLE = '\uF044' # 
56
+ MASKED = '\uF0CE' # 
57
+ SELECTABLE = '\uF150' # 
58
+ DESELECT = '\uF657' # 
59
+ DELETE = '\uF014' # 
60
+ EDIT = '\uF040' # 
61
+ CUT = '\uF68F' # 
62
+ PASTE = '\uF68E' # 
63
+ PLUS = '\uF067' # 
64
+ MINUS = '\uF068' # 
65
+ NUMBERS = '\uF162' # 
66
+ LETTERS = '\uF15D' # 
67
+ WORDS = '\uF161' # 
68
+ CUSTOM = '\uF45E' # 
69
+ # fmt: on
@@ -0,0 +1,59 @@
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+
4
+ """
5
+ @project: HsPyLib-Clitt
6
+ @package: clitt.core.icons.font_awesome
7
+ @file: game_icons.py
8
+ @created: Thu, 20 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 clitt.core.icons.font_awesome.awesome import Awesome
16
+ from enum import auto
17
+
18
+
19
+ # @composable
20
+ class GameIcons(Awesome):
21
+ """
22
+ Game icons.
23
+ Codes can be found here:
24
+ - https://fontawesome.com/cheatsheet?from=io
25
+ """
26
+
27
+ # fmt: off
28
+ _CUSTOM = auto()
29
+ STEAM = '\uF9D2' # 戮
30
+ XBOX = '\uFAB8' # 視
31
+ CUTLERY = '\uF9A5' # 殮
32
+ BALL = '\uF9B7' # 醴
33
+ HOME = '\uFAF7' # 﫷
34
+ FURNITURE = '\uF9B8' # 隸
35
+ AGENT = '\uFAF8' # 﫸
36
+ GAMEPAD = '\uFAB9' # 調
37
+ SWORD = '\uF9E4' # 理
38
+ GUN = '\uFC01' # ﰁ
39
+ CANDLE = '\uFAE1' # 﫡
40
+ HORSE = '\uFCC0' # ﳀ
41
+ MUSHROOM = '\uFCDD' # ﳝ
42
+ SHOVEL = '\uFC0E' # ﰎ
43
+ BATTLE = '\uFCFD' # ﳽ
44
+ WALK = '\uFC0C' # ﰌ
45
+ WRITE = '\uFBD1' # ﯑
46
+ LOOK = '\uFBCE' # ﯎
47
+ EXAMINE = '\uF422' # 
48
+ CHAT = '\uF41F' # 
49
+ SNOW = '\uFC15' # ﰕ
50
+ HOT = '\uF490' # 
51
+ DAY = '\uFAA7' # 盛
52
+ NIGHT = '\uFA93' # 望
53
+ TREE = '\uF904' # 滑
54
+ KEY = '\uF80A' # 
55
+ OLD_KEY = '\uF084' # 
56
+ SLEEP = '\uF9B1' # 鈴
57
+ LUCK = '\uFD14' # ﴔ
58
+ ANIMAL = '\uF8E8' # 
59
+ # fmt: on