Commit Graph

26 Commits

Author SHA1 Message Date
Daniel Markstedt da02eccb2e
Improve logic for the get_logs() method. Add rascsi-ctrlboard service. (#714) 2022-02-28 09:49:48 -08:00
Daniel Markstedt e8f392c3f1
Create SysCmds common class, and refactor Python codebase (#697)
* Move the oled script's PiCmds module to common, and rename it SysCmds.

* Use sys_cmds.get_ip_and_host() in web UI code.

* Move the auth_active() method to device_utils

* Rename device_utils to web_utils. Make auth_active() method take the group as argument.

* Migrate all pi_cmds methods to the SysCmds common class.

* Display hostname and ip in Web UI.

* Resolve or suppress pylint warnings.

* Resolve a pylint warning.

* Resolve or suppress pylint warnings.

* Import libraries at the top level for readability. In my testing on a Pi3B+, this leads to ~1.5k more memory being used by the python3 process.

* Change page title as requested by akuker.

* Reenable the import-outside-toplevel pylint rule.

* Resolve pylint warnings.

* Fix error following refactoring.

* Minor UI tweaks.

* Cleanup.

* Break out bridge config validation into a utility method.

* Move the dropzonejs method into the web_utils package

* Move get_logs method into SysCmds class.

* Improve get logs UI.

* Resolve pylint warning.

* Standardize class instance name.
2022-02-26 21:46:35 -08:00
Benjamin Zeiss cd0da558c3
Initial version of the Control Board UI (#687)
Initial version of the Control Board UI (#687)
2022-02-25 21:03:36 +01:00
Daniel Markstedt cd0baa4676
Forgot to update the oled script after renaming class method. (#693) 2022-02-22 09:29:35 +01:00
Daniel Markstedt 5d92590877
Use the word Release in the context of making a SCSI ID available for use, rather than the word Unreserve which is poor English. (#692) 2022-02-21 20:31:38 +01:00
Daniel Markstedt 4252d46844
Inquire the backend for device capabilities instead of Web UI assumptions (#688)
* Add capabilities to RaCtlCmds.get_device_types() to return the image file support boolean, and list of supported block sizes.

* Inquire rascsi backend about the min block size rather than hard coding values in the web UI.

* Add class methods for getting lists of certain device types.

* Use the new class methods to get lists of device types in the web ui.

* Make use of the new class methods in the oled script.

* Remove now unused constants, and simplify logic in common_settings

* Improve device name mapping to extend the existing dictionary rather than creating a new data structure.

* Use jinja2 sort filters instead of sorting in python code. Removing redundant variables.

* Introduce the get_device_name() utility method which returns the translated name for a device acronym. Use the new method to display device name when attaching devices.

* Fix typo

* Rename Support Device to Periperal Device. General tweaks to UI strings.

* Tweak UI string.

* Fix error.
2022-02-21 09:27:31 -08:00
Daniel Markstedt 01e1aaae3e
Make the support device UI entirely procedurally generated (#686)
* Make the support device UI entirely procedurally generated, removing the special case network device UI flow.

* Clean up helptext.
2022-02-20 09:49:23 -08:00
Daniel Markstedt 2184992ce7
Tentative Web UI for the Printer device. (#676)
* Tentative Web UI for the Printer device.

* timeout must be a positive value

* Change the attach device class method to accept a dict with arbitrary key value pairs of parameters to be passed to the protobuf interface, rather than hard coded ones. Also renames the RaCtlCmds.attach_image() class method to attach_device().

* Make download_to_iso() use the new attach interface.

* Dynamically get the form items for support devices.

* Change the data structure returned by RaCtlCmds.get_device_types() to a dict, which contains the supported parameters and their default values. Leverage this data in the web ui to derive the form fields from the capabilities of rascsi.

* Tweak UI labels.

* Update FileCmds.read_config() to work with the new RaCtlCmds.attach_device() method.

* Check for numeric value.

* Streamline the UI for support devices.

* Handle support devices better by the oled screen.

* Clean up html.

* Dynamically adjust form field size based on data length.
2022-02-19 09:04:14 +01:00
Daniel Markstedt b3bdd07fa7
Web UI and OLED: adding Support Devices (#666)
* Use the comparison operator that Python3 likes.

* Add SUPPORT_DEVICE_TYPES category, and add Host Service to it.

* Add webapp UI for attaching a support device.

* Make the OLED screen aware of the support device type.

* Tweak test to make it clear that this is experimental functionality.

* Tweak device type names
2022-02-15 13:06:27 +01:00
Daniel Markstedt 25b9b4ada2
Further improve the dynamic device info web UI (#657)
* Improve the device type selection UI

* Extend the image_files data structure with human readable device name, instead of having complex for loops in the jinja2 template.

* Leverage device type constants in the OLED monitor script

* Fix typo

* Generate the list of valid network devices that can be attached programmatically

* Fix typo
2022-02-13 10:28:50 -06:00
n4al f96ade9149
Updating the README to reflect the new file system layout (#658)
* Updating the README to reflect the new file system layout (and dependencies)

* Compressing two environment variables into a single one

* Adding named arguments

Co-authored-by: Nemanja Lukic <nemanja.lukic@forgerock.com>
2022-02-11 16:29:48 -08:00
Daniel Markstedt 91cc0e836a
Create a mapping of human-readable and internationalized device names. Use this in the image file management UI instead of the internal acronyms. Also remove the hard-coded helptext for device types. (#655) 2022-02-07 18:48:55 -06:00
Daniel Markstedt 5c0d6fc7e9
Make the network adapter UI in the web interface able to choose LUN and device type. (#653) 2022-02-07 18:47:21 -06:00
Daniel Markstedt 2a47924a74
Revert workaround for Netatalk long file name bug, since the bug was fixed in Netatalk itself. (#629) 2022-02-03 19:37:58 -06:00
n4al 0e6e710e52
Updating README.md to reflect the project file structure (#633)
* Updating README.md to reflect the changes made to the project file structure

* Added corrections as per comments

Co-authored-by: Nemanja Lukic <nemanja.lukic@forgerock.com>
2022-02-01 20:51:51 -08:00
n4al 651aa456bd
Adding headers to Spanish version of messages.po (#634)
* Adding headers to Spanish version of messages.po

* Added corrections as per comments

Co-authored-by: Nemanja Lukic <nemanja.lukic@forgerock.com>
2022-01-31 10:29:54 -08:00
Benjamin Zeiss c200b327e3
removed python typing for debian buster compatibility. (#632) 2022-01-30 19:15:35 -08:00
Daniel Markstedt d58d86342f
Improve Swedish wordings (#627) 2022-01-30 09:45:01 -08:00
Daniel Markstedt 83ad97e577
Use Locale class methods to get the localized language name for display (#628) 2022-01-29 14:22:39 -08:00
n4al fc615b5335
Correcting one fuzzy translation in Spanish (#626)
* Correcting one fuzzy translation

* Removing 'fuzzy'
2022-01-29 12:12:45 -08:00
Benjamin Zeiss 4536666544
return code mapper gettext extract fix (#622)
* fix for the wrong extraction of the return_code line.

* second try for the wrong extraction of the return_code line.
2022-01-29 09:42:16 -08:00
Daniel Markstedt 31309a8ee3
Make the default config load on rascsi-web startup without having to load it in a browser. (#620) 2022-01-29 09:41:39 -08:00
Benjamin Zeiss 089dc302e5
restructuring towards python client library #455 (#613)
* python client library clean branch for PR. #455

* removed superfluous file. #455

* removed one more superfluous file. #455

* README.md, .pylintrc and pylint based fixes. #455

* updated wrt. to the review comments. #455

* removed pylint documentation duplication. #455
2022-01-21 15:08:29 -08:00
Daniel Markstedt 423ba573cd
Fix a few malformed gettext calls (#609) 2022-01-14 22:58:32 -06:00
Daniel Markstedt 89fae8fdd5
Bumps pillow from 8.4.0 to 9.0.0. As recommended by dependabot. (#607) 2022-01-14 09:47:57 -06:00
Benjamin Zeiss 17497cf1fe clean squashed restructuring branch. #455 2022-01-09 20:22:19 +01:00