RASCSI/python
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
..
common Create SysCmds common class, and refactor Python codebase (#697) 2022-02-26 21:46:35 -08:00
ctrlboard Initial version of the Control Board UI (#687) 2022-02-25 21:03:36 +01:00
loopback_test clean squashed restructuring branch. #455 2022-01-09 20:22:19 +01:00
oled Create SysCmds common class, and refactor Python codebase (#697) 2022-02-26 21:46:35 -08:00
web Create SysCmds common class, and refactor Python codebase (#697) 2022-02-26 21:46:35 -08:00
__init__.py restructuring towards python client library #455 (#613) 2022-01-21 15:08:29 -08:00
.pylintrc Create SysCmds common class, and refactor Python codebase (#697) 2022-02-26 21:46:35 -08:00
README.md restructuring towards python client library #455 (#613) 2022-01-21 15:08:29 -08:00

RaSCSI Python Apps

This directory contains Python-based clients for RaSCSI as well as common packages that are shared among the clients.

The following paragraphs in this README contain instructions that are shared among all Python apps.

Static analysis with pylint

It is recommended to run pylint against new code to protect against bugs and keep the code readable and maintainable. The local pylint configuration lives in .pylintrc. In order for pylint to recognize venv libraries, the pylint-venv package is required.

sudo apt install pylint3
sudo pip install pylint-venv
source venv/bin/activate
pylint3 python_source_file.py

Examples:

# check a single file
pylint web/src/web.py

# check the python modules
pylint common/src
pylint web/src
pylint oled/src