* Rebrand project to PiSCSI
- rascsi ->piscsi
- rasctl -> scsictl
- rasdump -> scsidump
- ras* -> piscsi* (rasutil -> piscsi_util, etc.)
* Refined the formatting and wording of the app startup banner
* Kept some references to rascsi and rasctl where backwards compatibility is concerned
* Point to the new github repo URL
Co-authored-by: nucleogenic <nr@nucleogenic.com>
Co-authored-by: Uwe Seimet <Uwe.Seimet@seimet.de>
* Update config for black and flake8
* Auto-format Python sources with black
* Fix issues reported by flake8
* Exclude protobuf files from black
* Address formatting feedback
- counter for refreshing network status, currently set at 10 ticks (10s with the default refresh interval)
- adding a --refresh_interval option to control the overall screen refresh rate, keeping 1000ms as the default
- Restore a 'No Media' status message for RM devices that was lost with the last PR
- Bring back the shutdown splash, with the tweak that is blanks out after 700ms
- Restore the non-Latin transliteration originally from https://github.com/akuker/RASCSI/pull/449 which was lost when the `common` package was introduced
- Bump to the latest libraries, while removing implicit dependencies from requirements.txt
- Shorter duration of the startup splash
- Reintroduce shell shutdown/reboot methods for use with the Web UI. This addresses https://github.com/akuker/RASCSI/issues/538 (the ctrlboard client will continue to use the built-in rascsi system calls which are slightly faster)
- Remove overt references to RPi. This addresses https://github.com/akuker/RASCSI/issues/990
- Other refactorings
* 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.
* 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.
* 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.
* 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
* 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