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.
- build/lib/build/lib/build/lib/build/lib/clitt/__classpath__.py +28 -0
- build/lib/build/lib/build/lib/build/lib/clitt/__init__.py +13 -0
- build/lib/build/lib/build/lib/build/lib/clitt/__main__.py +139 -0
- build/lib/build/lib/build/lib/build/lib/clitt/addons/__init__.py +12 -0
- build/lib/build/lib/build/lib/build/lib/clitt/addons/appman/__init__.py +13 -0
- build/lib/build/lib/build/lib/build/lib/clitt/addons/appman/appman.py +305 -0
- build/lib/build/lib/build/lib/build/lib/clitt/addons/appman/appman_enums.py +39 -0
- build/lib/build/lib/build/lib/build/lib/clitt/addons/appman/templates/__init__.py +11 -0
- build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/__init__.py +14 -0
- build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widget.py +70 -0
- build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widget_entry.py +54 -0
- build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widgets/__init__.py +14 -0
- build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_free.py +110 -0
- build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_punch.py +246 -0
- build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_send_msg.py +272 -0
- build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_time_calc.py +146 -0
- build/lib/build/lib/build/lib/build/lib/clitt/addons/widman/widman.py +123 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/__init__.py +15 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/exception/__init__.py +11 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/exception/exceptions.py +19 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/icons/__init__.py +12 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/icons/emojis/__init__.py +12 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/icons/emojis/emojis.py +41 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/icons/emojis/face_smiling.py +40 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/__init__.py +18 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/app_icons.py +55 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/awesome.py +76 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/dashboard_icons.py +93 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/form_icons.py +69 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/game_icons.py +59 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/nav_icons.py +42 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/trickplay_icons.py +39 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/widget_icons.py +37 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/preferences.py +87 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/term/__init__.py +14 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/term/commons.py +106 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/term/cursor.py +174 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/term/screen.py +106 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/term/terminal.py +202 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/__init__.py +20 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/line_input/__init__.py +12 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/line_input/keyboard_input.py +229 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/line_input/line_input.py +31 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mchoose/__init__.py +12 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mchoose/mchoose.py +43 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mchoose/menu_choose.py +192 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/__init__.py +14 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_builder.py +54 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_item.py +31 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/mdashboard.py +26 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/menu_dashboard.py +148 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/__init__.py +16 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu.py +111 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_action.py +47 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_factory.py +117 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_item.py +196 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_ui.py +98 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_view.py +57 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/__init__.py +19 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/access_type.py +26 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/field_builder.py +117 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/form_builder.py +72 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/form_field.py +180 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/input_type.py +30 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/input_validator.py +98 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/menu_input.py +292 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/minput.py +44 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/minput/minput_utils.py +156 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mselect/__init__.py +12 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mselect/menu_select.py +170 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/mselect/mselect.py +36 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/table/__init__.py +12 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/table/table_enums.py +47 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/table/table_renderer.py +339 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/tui_application.py +52 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/tui_component.py +154 -0
- build/lib/build/lib/build/lib/build/lib/clitt/core/tui/tui_preferences.py +103 -0
- build/lib/build/lib/build/lib/build/lib/clitt/utils/__init__.py +11 -0
- build/lib/build/lib/build/lib/build/lib/clitt/utils/git_utils.py +66 -0
- build/lib/build/lib/build/lib/clitt/__classpath__.py +28 -0
- build/lib/build/lib/build/lib/clitt/__init__.py +13 -0
- build/lib/build/lib/build/lib/clitt/__main__.py +139 -0
- build/lib/build/lib/build/lib/clitt/addons/__init__.py +12 -0
- build/lib/build/lib/build/lib/clitt/addons/appman/__init__.py +13 -0
- build/lib/build/lib/build/lib/clitt/addons/appman/appman.py +305 -0
- build/lib/build/lib/build/lib/clitt/addons/appman/appman_enums.py +39 -0
- build/lib/build/lib/build/lib/clitt/addons/appman/templates/__init__.py +11 -0
- build/lib/build/lib/build/lib/clitt/addons/widman/__init__.py +14 -0
- build/lib/build/lib/build/lib/clitt/addons/widman/widget.py +70 -0
- build/lib/build/lib/build/lib/clitt/addons/widman/widget_entry.py +54 -0
- build/lib/build/lib/build/lib/clitt/addons/widman/widgets/__init__.py +14 -0
- build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_free.py +110 -0
- build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_punch.py +246 -0
- build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_send_msg.py +272 -0
- build/lib/build/lib/build/lib/clitt/addons/widman/widgets/widget_time_calc.py +146 -0
- build/lib/build/lib/build/lib/clitt/addons/widman/widman.py +123 -0
- build/lib/build/lib/build/lib/clitt/core/__init__.py +15 -0
- build/lib/build/lib/build/lib/clitt/core/exception/__init__.py +11 -0
- build/lib/build/lib/build/lib/clitt/core/exception/exceptions.py +19 -0
- build/lib/build/lib/build/lib/clitt/core/icons/__init__.py +12 -0
- build/lib/build/lib/build/lib/clitt/core/icons/emojis/__init__.py +12 -0
- build/lib/build/lib/build/lib/clitt/core/icons/emojis/emojis.py +41 -0
- build/lib/build/lib/build/lib/clitt/core/icons/emojis/face_smiling.py +40 -0
- build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/__init__.py +18 -0
- build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/app_icons.py +55 -0
- build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/awesome.py +76 -0
- build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/dashboard_icons.py +93 -0
- build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/form_icons.py +69 -0
- build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/game_icons.py +59 -0
- build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/nav_icons.py +42 -0
- build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/trickplay_icons.py +39 -0
- build/lib/build/lib/build/lib/clitt/core/icons/font_awesome/widget_icons.py +37 -0
- build/lib/build/lib/build/lib/clitt/core/preferences.py +87 -0
- build/lib/build/lib/build/lib/clitt/core/term/__init__.py +14 -0
- build/lib/build/lib/build/lib/clitt/core/term/commons.py +106 -0
- build/lib/build/lib/build/lib/clitt/core/term/cursor.py +174 -0
- build/lib/build/lib/build/lib/clitt/core/term/screen.py +106 -0
- build/lib/build/lib/build/lib/clitt/core/term/terminal.py +202 -0
- build/lib/build/lib/build/lib/clitt/core/tui/__init__.py +20 -0
- build/lib/build/lib/build/lib/clitt/core/tui/line_input/__init__.py +12 -0
- build/lib/build/lib/build/lib/clitt/core/tui/line_input/keyboard_input.py +229 -0
- build/lib/build/lib/build/lib/clitt/core/tui/line_input/line_input.py +31 -0
- build/lib/build/lib/build/lib/clitt/core/tui/mchoose/__init__.py +12 -0
- build/lib/build/lib/build/lib/clitt/core/tui/mchoose/mchoose.py +43 -0
- build/lib/build/lib/build/lib/clitt/core/tui/mchoose/menu_choose.py +192 -0
- build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/__init__.py +14 -0
- build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_builder.py +54 -0
- build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_item.py +31 -0
- build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/mdashboard.py +26 -0
- build/lib/build/lib/build/lib/clitt/core/tui/mdashboard/menu_dashboard.py +148 -0
- build/lib/build/lib/build/lib/clitt/core/tui/menu/__init__.py +16 -0
- build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu.py +111 -0
- build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_action.py +47 -0
- build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_factory.py +117 -0
- build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_item.py +196 -0
- build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_ui.py +98 -0
- build/lib/build/lib/build/lib/clitt/core/tui/menu/tui_menu_view.py +57 -0
- build/lib/build/lib/build/lib/clitt/core/tui/minput/__init__.py +19 -0
- build/lib/build/lib/build/lib/clitt/core/tui/minput/access_type.py +26 -0
- build/lib/build/lib/build/lib/clitt/core/tui/minput/field_builder.py +117 -0
- build/lib/build/lib/build/lib/clitt/core/tui/minput/form_builder.py +72 -0
- build/lib/build/lib/build/lib/clitt/core/tui/minput/form_field.py +180 -0
- build/lib/build/lib/build/lib/clitt/core/tui/minput/input_type.py +30 -0
- build/lib/build/lib/build/lib/clitt/core/tui/minput/input_validator.py +98 -0
- build/lib/build/lib/build/lib/clitt/core/tui/minput/menu_input.py +292 -0
- build/lib/build/lib/build/lib/clitt/core/tui/minput/minput.py +44 -0
- build/lib/build/lib/build/lib/clitt/core/tui/minput/minput_utils.py +156 -0
- build/lib/build/lib/build/lib/clitt/core/tui/mselect/__init__.py +12 -0
- build/lib/build/lib/build/lib/clitt/core/tui/mselect/menu_select.py +170 -0
- build/lib/build/lib/build/lib/clitt/core/tui/mselect/mselect.py +36 -0
- build/lib/build/lib/build/lib/clitt/core/tui/table/__init__.py +12 -0
- build/lib/build/lib/build/lib/clitt/core/tui/table/table_enums.py +47 -0
- build/lib/build/lib/build/lib/clitt/core/tui/table/table_renderer.py +339 -0
- build/lib/build/lib/build/lib/clitt/core/tui/tui_application.py +52 -0
- build/lib/build/lib/build/lib/clitt/core/tui/tui_component.py +154 -0
- build/lib/build/lib/build/lib/clitt/core/tui/tui_preferences.py +103 -0
- build/lib/build/lib/build/lib/clitt/utils/__init__.py +11 -0
- build/lib/build/lib/build/lib/clitt/utils/git_utils.py +66 -0
- build/lib/build/lib/clitt/__classpath__.py +28 -0
- build/lib/build/lib/clitt/__init__.py +13 -0
- build/lib/build/lib/clitt/__main__.py +139 -0
- build/lib/build/lib/clitt/addons/__init__.py +12 -0
- build/lib/build/lib/clitt/addons/appman/__init__.py +13 -0
- build/lib/build/lib/clitt/addons/appman/appman.py +305 -0
- build/lib/build/lib/clitt/addons/appman/appman_enums.py +39 -0
- build/lib/build/lib/clitt/addons/appman/templates/__init__.py +11 -0
- build/lib/build/lib/clitt/addons/widman/__init__.py +14 -0
- build/lib/build/lib/clitt/addons/widman/widget.py +70 -0
- build/lib/build/lib/clitt/addons/widman/widget_entry.py +54 -0
- build/lib/build/lib/clitt/addons/widman/widgets/__init__.py +14 -0
- build/lib/build/lib/clitt/addons/widman/widgets/widget_free.py +110 -0
- build/lib/build/lib/clitt/addons/widman/widgets/widget_punch.py +246 -0
- build/lib/build/lib/clitt/addons/widman/widgets/widget_send_msg.py +272 -0
- build/lib/build/lib/clitt/addons/widman/widgets/widget_time_calc.py +146 -0
- build/lib/build/lib/clitt/addons/widman/widman.py +123 -0
- build/lib/build/lib/clitt/core/__init__.py +15 -0
- build/lib/build/lib/clitt/core/exception/__init__.py +11 -0
- build/lib/build/lib/clitt/core/exception/exceptions.py +19 -0
- build/lib/build/lib/clitt/core/icons/__init__.py +12 -0
- build/lib/build/lib/clitt/core/icons/emojis/__init__.py +12 -0
- build/lib/build/lib/clitt/core/icons/emojis/emojis.py +41 -0
- build/lib/build/lib/clitt/core/icons/emojis/face_smiling.py +40 -0
- build/lib/build/lib/clitt/core/icons/font_awesome/__init__.py +18 -0
- build/lib/build/lib/clitt/core/icons/font_awesome/app_icons.py +55 -0
- build/lib/build/lib/clitt/core/icons/font_awesome/awesome.py +76 -0
- build/lib/build/lib/clitt/core/icons/font_awesome/dashboard_icons.py +93 -0
- build/lib/build/lib/clitt/core/icons/font_awesome/form_icons.py +69 -0
- build/lib/build/lib/clitt/core/icons/font_awesome/game_icons.py +59 -0
- build/lib/build/lib/clitt/core/icons/font_awesome/nav_icons.py +42 -0
- build/lib/build/lib/clitt/core/icons/font_awesome/trickplay_icons.py +39 -0
- build/lib/build/lib/clitt/core/icons/font_awesome/widget_icons.py +37 -0
- build/lib/build/lib/clitt/core/preferences.py +87 -0
- build/lib/build/lib/clitt/core/term/__init__.py +14 -0
- build/lib/build/lib/clitt/core/term/commons.py +106 -0
- build/lib/build/lib/clitt/core/term/cursor.py +174 -0
- build/lib/build/lib/clitt/core/term/screen.py +106 -0
- build/lib/build/lib/clitt/core/term/terminal.py +202 -0
- build/lib/build/lib/clitt/core/tui/__init__.py +20 -0
- build/lib/build/lib/clitt/core/tui/line_input/__init__.py +12 -0
- build/lib/build/lib/clitt/core/tui/line_input/keyboard_input.py +229 -0
- build/lib/build/lib/clitt/core/tui/line_input/line_input.py +31 -0
- build/lib/build/lib/clitt/core/tui/mchoose/__init__.py +12 -0
- build/lib/build/lib/clitt/core/tui/mchoose/mchoose.py +43 -0
- build/lib/build/lib/clitt/core/tui/mchoose/menu_choose.py +192 -0
- build/lib/build/lib/clitt/core/tui/mdashboard/__init__.py +14 -0
- build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_builder.py +54 -0
- build/lib/build/lib/clitt/core/tui/mdashboard/dashboard_item.py +31 -0
- build/lib/build/lib/clitt/core/tui/mdashboard/mdashboard.py +26 -0
- build/lib/build/lib/clitt/core/tui/mdashboard/menu_dashboard.py +148 -0
- build/lib/build/lib/clitt/core/tui/menu/__init__.py +16 -0
- build/lib/build/lib/clitt/core/tui/menu/tui_menu.py +111 -0
- build/lib/build/lib/clitt/core/tui/menu/tui_menu_action.py +47 -0
- build/lib/build/lib/clitt/core/tui/menu/tui_menu_factory.py +117 -0
- build/lib/build/lib/clitt/core/tui/menu/tui_menu_item.py +196 -0
- build/lib/build/lib/clitt/core/tui/menu/tui_menu_ui.py +98 -0
- build/lib/build/lib/clitt/core/tui/menu/tui_menu_view.py +57 -0
- build/lib/build/lib/clitt/core/tui/minput/__init__.py +19 -0
- build/lib/build/lib/clitt/core/tui/minput/access_type.py +26 -0
- build/lib/build/lib/clitt/core/tui/minput/field_builder.py +117 -0
- build/lib/build/lib/clitt/core/tui/minput/form_builder.py +72 -0
- build/lib/build/lib/clitt/core/tui/minput/form_field.py +180 -0
- build/lib/build/lib/clitt/core/tui/minput/input_type.py +30 -0
- build/lib/build/lib/clitt/core/tui/minput/input_validator.py +98 -0
- build/lib/build/lib/clitt/core/tui/minput/menu_input.py +292 -0
- build/lib/build/lib/clitt/core/tui/minput/minput.py +44 -0
- build/lib/build/lib/clitt/core/tui/minput/minput_utils.py +156 -0
- build/lib/build/lib/clitt/core/tui/mselect/__init__.py +12 -0
- build/lib/build/lib/clitt/core/tui/mselect/menu_select.py +170 -0
- build/lib/build/lib/clitt/core/tui/mselect/mselect.py +36 -0
- build/lib/build/lib/clitt/core/tui/table/__init__.py +12 -0
- build/lib/build/lib/clitt/core/tui/table/table_enums.py +47 -0
- build/lib/build/lib/clitt/core/tui/table/table_renderer.py +339 -0
- build/lib/build/lib/clitt/core/tui/tui_application.py +52 -0
- build/lib/build/lib/clitt/core/tui/tui_component.py +154 -0
- build/lib/build/lib/clitt/core/tui/tui_preferences.py +103 -0
- build/lib/build/lib/clitt/utils/__init__.py +11 -0
- build/lib/build/lib/clitt/utils/git_utils.py +66 -0
- build/lib/clitt/__classpath__.py +28 -0
- build/lib/clitt/__init__.py +13 -0
- build/lib/clitt/__main__.py +139 -0
- build/lib/clitt/addons/__init__.py +12 -0
- build/lib/clitt/addons/appman/__init__.py +13 -0
- build/lib/clitt/addons/appman/appman.py +305 -0
- build/lib/clitt/addons/appman/appman_enums.py +39 -0
- build/lib/clitt/addons/appman/templates/__init__.py +11 -0
- build/lib/clitt/addons/widman/__init__.py +14 -0
- build/lib/clitt/addons/widman/widget.py +70 -0
- build/lib/clitt/addons/widman/widget_entry.py +54 -0
- build/lib/clitt/addons/widman/widgets/__init__.py +14 -0
- build/lib/clitt/addons/widman/widgets/widget_free.py +110 -0
- build/lib/clitt/addons/widman/widgets/widget_punch.py +246 -0
- build/lib/clitt/addons/widman/widgets/widget_send_msg.py +272 -0
- build/lib/clitt/addons/widman/widgets/widget_time_calc.py +146 -0
- build/lib/clitt/addons/widman/widman.py +123 -0
- build/lib/clitt/core/__init__.py +15 -0
- build/lib/clitt/core/exception/__init__.py +11 -0
- build/lib/clitt/core/exception/exceptions.py +19 -0
- build/lib/clitt/core/icons/__init__.py +12 -0
- build/lib/clitt/core/icons/emojis/__init__.py +12 -0
- build/lib/clitt/core/icons/emojis/emojis.py +41 -0
- build/lib/clitt/core/icons/emojis/face_smiling.py +40 -0
- build/lib/clitt/core/icons/font_awesome/__init__.py +18 -0
- build/lib/clitt/core/icons/font_awesome/app_icons.py +55 -0
- build/lib/clitt/core/icons/font_awesome/awesome.py +76 -0
- build/lib/clitt/core/icons/font_awesome/dashboard_icons.py +93 -0
- build/lib/clitt/core/icons/font_awesome/form_icons.py +69 -0
- build/lib/clitt/core/icons/font_awesome/game_icons.py +59 -0
- build/lib/clitt/core/icons/font_awesome/nav_icons.py +42 -0
- build/lib/clitt/core/icons/font_awesome/trickplay_icons.py +39 -0
- build/lib/clitt/core/icons/font_awesome/widget_icons.py +37 -0
- build/lib/clitt/core/preferences.py +87 -0
- build/lib/clitt/core/term/__init__.py +14 -0
- build/lib/clitt/core/term/commons.py +106 -0
- build/lib/clitt/core/term/cursor.py +174 -0
- build/lib/clitt/core/term/screen.py +106 -0
- build/lib/clitt/core/term/terminal.py +202 -0
- build/lib/clitt/core/tui/__init__.py +20 -0
- build/lib/clitt/core/tui/line_input/__init__.py +12 -0
- build/lib/clitt/core/tui/line_input/keyboard_input.py +229 -0
- build/lib/clitt/core/tui/line_input/line_input.py +31 -0
- build/lib/clitt/core/tui/mchoose/__init__.py +12 -0
- build/lib/clitt/core/tui/mchoose/mchoose.py +43 -0
- build/lib/clitt/core/tui/mchoose/menu_choose.py +192 -0
- build/lib/clitt/core/tui/mdashboard/__init__.py +14 -0
- build/lib/clitt/core/tui/mdashboard/dashboard_builder.py +54 -0
- build/lib/clitt/core/tui/mdashboard/dashboard_item.py +31 -0
- build/lib/clitt/core/tui/mdashboard/mdashboard.py +26 -0
- build/lib/clitt/core/tui/mdashboard/menu_dashboard.py +148 -0
- build/lib/clitt/core/tui/menu/__init__.py +16 -0
- build/lib/clitt/core/tui/menu/tui_menu.py +111 -0
- build/lib/clitt/core/tui/menu/tui_menu_action.py +47 -0
- build/lib/clitt/core/tui/menu/tui_menu_factory.py +117 -0
- build/lib/clitt/core/tui/menu/tui_menu_item.py +196 -0
- build/lib/clitt/core/tui/menu/tui_menu_ui.py +98 -0
- build/lib/clitt/core/tui/menu/tui_menu_view.py +57 -0
- build/lib/clitt/core/tui/minput/__init__.py +19 -0
- build/lib/clitt/core/tui/minput/access_type.py +26 -0
- build/lib/clitt/core/tui/minput/field_builder.py +117 -0
- build/lib/clitt/core/tui/minput/form_builder.py +72 -0
- build/lib/clitt/core/tui/minput/form_field.py +180 -0
- build/lib/clitt/core/tui/minput/input_type.py +30 -0
- build/lib/clitt/core/tui/minput/input_validator.py +98 -0
- build/lib/clitt/core/tui/minput/menu_input.py +292 -0
- build/lib/clitt/core/tui/minput/minput.py +44 -0
- build/lib/clitt/core/tui/minput/minput_utils.py +156 -0
- build/lib/clitt/core/tui/mselect/__init__.py +12 -0
- build/lib/clitt/core/tui/mselect/menu_select.py +170 -0
- build/lib/clitt/core/tui/mselect/mselect.py +36 -0
- build/lib/clitt/core/tui/table/__init__.py +12 -0
- build/lib/clitt/core/tui/table/table_enums.py +47 -0
- build/lib/clitt/core/tui/table/table_renderer.py +339 -0
- build/lib/clitt/core/tui/tui_application.py +52 -0
- build/lib/clitt/core/tui/tui_component.py +154 -0
- build/lib/clitt/core/tui/tui_preferences.py +103 -0
- build/lib/clitt/utils/__init__.py +11 -0
- build/lib/clitt/utils/git_utils.py +66 -0
- clitt/.version +1 -1
- clitt/__init__.py +3 -3
- clitt/addons/__init__.py +3 -3
- clitt/addons/appman/__init__.py +3 -3
- clitt/addons/appman/templates/__init__.py +3 -3
- clitt/addons/widman/__init__.py +3 -3
- clitt/addons/widman/widgets/__init__.py +3 -3
- clitt/core/__init__.py +3 -3
- clitt/core/exception/__init__.py +3 -3
- clitt/core/exception/exceptions.py +1 -0
- clitt/core/icons/__init__.py +3 -3
- clitt/core/icons/emojis/__init__.py +3 -3
- clitt/core/icons/font_awesome/__init__.py +3 -3
- clitt/core/term/__init__.py +3 -3
- clitt/core/term/commons.py +40 -16
- clitt/core/term/cursor.py +18 -3
- clitt/core/term/screen.py +15 -0
- clitt/core/term/terminal.py +15 -16
- clitt/core/tui/__init__.py +3 -3
- clitt/core/tui/line_input/__init__.py +3 -3
- clitt/core/tui/line_input/keyboard_input.py +15 -14
- clitt/core/tui/line_input/line_input.py +2 -6
- clitt/core/tui/mchoose/__init__.py +3 -3
- clitt/core/tui/mchoose/mchoose.py +2 -3
- clitt/core/tui/mchoose/menu_choose.py +6 -14
- clitt/core/tui/mdashboard/__init__.py +3 -3
- clitt/core/tui/mdashboard/menu_dashboard.py +2 -8
- clitt/core/tui/menu/__init__.py +3 -3
- clitt/core/tui/minput/__init__.py +3 -3
- clitt/core/tui/mselect/__init__.py +3 -3
- clitt/core/tui/mselect/menu_select.py +2 -3
- clitt/core/tui/table/__init__.py +3 -3
- clitt/core/tui/tui_application.py +4 -5
- clitt/core/tui/tui_component.py +4 -5
- clitt/utils/__init__.py +3 -3
- {hspylib_clitt-0.9.117.dist-info → hspylib_clitt-0.9.119.dist-info}/METADATA +2 -2
- hspylib_clitt-0.9.119.dist-info/RECORD +413 -0
- {hspylib_clitt-0.9.117.dist-info → hspylib_clitt-0.9.119.dist-info}/top_level.txt +1 -0
- hspylib_clitt-0.9.117.dist-info/RECORD +0 -97
- {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.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,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,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.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
|