_misc | ||
.gitignore | ||
extensions_review | ||
pyproject.toml | ||
readme.rst |
Extension Review Utility
Report issues with extensions, optionally downloading extensions for review.
Usage
Download all extensions for review into output/
.
./extensions_review --update
To print warnings for all, simply run:
./extensions_review
To limit the checks to a single directory, use:
./extensions_review /extension/to/check
To run a single check on all extensions, use:
./extensions_review --checks=filesystem_lint
To run multiple checks on all extensions, use:
./extensions_review --checks=filesystem_lint,error_parsing
Help Text
Output of extensions_review --help
usage:
extensions_review [-h] [--output-dir DIR] [--update] [--no-info] [--checks CHECKS] [EXTENSIONS ...]
Run checks on extensions to review.
- positional arguments:
- EXTENSIONS Optionally pass in trailing positional arguments for the extension(s) to check.
An extension ID.
A path (containing slashes), to allow pointing to any directories.
When unset, check all downloaded extensions.
- options:
- -h, --help
show this help message and exit
- --output-dir DIR
The output directory to write to. defaults to “./output” in the current directory.
WARNING: when setting this manually, never point this to a directory containing unrelated files as they will be cleared as part of ensuring extensions are removed which are no longer in the approval queue.
- --update
Run an update (without running any further checks)
- --no-info
Don’t show the explanation when printing warnings
- --checks CHECKS
Optionally specify the checks to run. Otherwise the defaults are used.
- error_parsing
Check the file can be parsed by Python.
- error_prone_bpy_data_iteration
Iteration over all items in some
bpy.data.*
is error prone.- error_prone_bpy_data_literals
Literal lookups on
bpy.data.*.["*"]
is error prone!- error_prone_builtins
Calls to potentially insecure functions
exec()
&eval()
.- error_prone_dunder_file
Use of
__file__
.- error_prone_no_string_escape
Use of error prone quoting.
- error_prone_string_strip
Use of (
str.strip
,str.lstrip
,str.rstrip
) which may be incorrect.- error_prone_sys_executable
Use of
sys.executable
should forward Blender’s environment.- filesystem_lint
Check for file-system lint (files that should not have been included).
- invalid_addon_preferences
Invalid access for add-on preferences from legacy add-ons.
- non_portable_backslash
Use of back-slash (often used for non-portable MS-Windows paths).
- non_portable_win32_drive_letter
Use of MS-Windows drive letters, non-portable paths.
- policy_for_online_modules
Modules associated with online access.
- policy_for_online_url
URL literals may be used for unauthorized online access.
- policy_for_sys_modules
Use of
sys
module that may violate policies.
Multiple checks may be passed at once (comma separated, no spaces).
Any checks that result in a large number of false positives are off by default.
Notes
On MS-Windows you will need to run python3 ./extensions_review
.