RASCSI/python
Daniel Markstedt 1b10b123d2
Refactor python code to address Sonarcloud issues (#900)
- copy/move/delete file class methods now take Path objects as arguments
- The file download endpoint in the Web UI uses the safer download from dir method
- Simplified logging
- Merged nested if statements
- Removed naked handling of unknown error states
- Added fallback empty list for drive_properties, to avoid errors when json file is missing or broken
- Move drive_properties to env[]
- Constants for common error messages
- Dummy variable for list comprehension
2022-10-09 13:50:20 -07:00
..
common Refactor python code to address Sonarcloud issues (#900) 2022-10-09 13:50:20 -07:00
ctrlboard Bump protobuf from 3.19.3 to 3.19.5 in /python/ctrlboard (#858) 2022-09-25 10:49:53 -07:00
loopback_test
oled Bump protobuf from 3.19.1 to 3.19.5 in /python/oled (#857) 2022-09-25 10:47:33 -07:00
web Refactor python code to address Sonarcloud issues (#900) 2022-10-09 13:50:20 -07:00
__init__.py
.pylintrc
README.md

RaSCSI Reloaded Python Apps

This directory contains Python-based clients for RaSCSI Reloaded 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.

Supported Python interpreter

The policy in this project is to support the Python 3 interpreter that comes standard with the current stable, as well as previous stable release of Debian.

At the time of writing they are:

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