forked from zacs/ha-nfl
-
Notifications
You must be signed in to change notification settings - Fork 20
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* isort changes * black formatting * flake8 compliance * pylint compliant changes * Update top level pyproject.toml file * Make unit tests pylint compliant * Final run of isort, black, and flake8 * Create exceptions.json file for tests * Add multigame tests * Fixed filename in test_multigame.py * Update expected restults * Update expected results * Step 1 in breaking up event code * Don't use event_shortname if 1st team matches key * event.py restructure Phase 2 * Update .gitignore * Update workflow files * Update python versions * Tennis API doesn't support French so drop it * Updated version to v0.6.4 * Fixed log to show url doesn't have language * Added more debug info for French and Tennis * Hack to override 'fr' to 'en' when sport is tennis * Fix * for tennis, added fr lang file * Remove 3.8 and see if coverage drops * replaced async_setup_platforms() * Update to v0.7.0. v0.6.x won't work after 2023.03
- Loading branch information
Showing
35 changed files
with
13,979 additions
and
820 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
name: Validate with hassfest | ||
name: Hassfest | ||
|
||
on: | ||
workflow_dispatch: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
name: Pylint | ||
|
||
on: [push] | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
python-version: ["3.9"] | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v3 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Install dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
pip install -r requirements_test.txt | ||
pip install pylint | ||
- name: Analysing the code with pylint | ||
run: | | ||
pylint $(git ls-files '*.py') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
|
||
*.pyc | ||
.coverage | ||
.vscode/* |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
"""For testing""" | ||
"""For testing""" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,161 @@ | ||
[tool.black] | ||
target-version = ["py39", "py310"] | ||
extend-exclude = "/generated/" | ||
|
||
[tool.isort] | ||
# https://github.com/PyCQA/isort/wiki/isort-Settings | ||
profile = "black" | ||
# will group `import x` and `from x import` of the same module. | ||
force_sort_within_sections = true | ||
known_first_party = [ | ||
"homeassistant", | ||
"tests", | ||
] | ||
forced_separate = [ | ||
"tests", | ||
] | ||
combine_as_imports = true | ||
|
||
[tool.pylint.MAIN] | ||
py-version = "3.9" | ||
ignore = [ | ||
"tests", | ||
] | ||
# Use a conservative default here; 2 should speed up most setups and not hurt | ||
# any too bad. Override on command line as appropriate. | ||
jobs = 2 | ||
init-hook = """\ | ||
from pathlib import Path; \ | ||
import sys; \ | ||
from pylint.config import find_default_config_files; \ | ||
sys.path.append( \ | ||
str(Path(next(find_default_config_files())).parent.joinpath('pylint/plugins')) | ||
) \ | ||
""" | ||
load-plugins = [ | ||
"pylint.extensions.code_style", | ||
"pylint.extensions.typing", | ||
# "hass_constructor", | ||
# "hass_enforce_type_hints", | ||
# "hass_imports", | ||
# "hass_logger", | ||
] | ||
persistent = false | ||
extension-pkg-allow-list = [ | ||
"av.audio.stream", | ||
"av.stream", | ||
"ciso8601", | ||
"orjson", | ||
"cv2", | ||
] | ||
fail-on = [ | ||
"I", | ||
] | ||
|
||
[tool.pylint.BASIC] | ||
class-const-naming-style = "any" | ||
good-names = [ | ||
"_", | ||
"ev", | ||
"ex", | ||
"fp", | ||
"i", | ||
"id", | ||
"j", | ||
"k", | ||
"Run", | ||
"ip", | ||
] | ||
good-names-rgxs = [ | ||
"\\S", | ||
"\\S\\d", | ||
] | ||
|
||
[tool.pylint."MESSAGES CONTROL"] | ||
# Reasons disabled: | ||
# format - handled by black | ||
# locally-disabled - it spams too much | ||
# duplicate-code - unavoidable | ||
# cyclic-import - doesn't test if both import on load | ||
# abstract-class-little-used - prevents from setting right foundation | ||
# unused-argument - generic callbacks and setup methods create a lot of warnings | ||
# too-many-* - are not enforced for the sake of readability | ||
# too-few-* - same as too-many-* | ||
# abstract-method - with intro of async there are always methods missing | ||
# inconsistent-return-statements - doesn't handle raise | ||
# too-many-ancestors - it's too strict. | ||
# wrong-import-order - isort guards this | ||
# consider-using-f-string - str.format sometimes more readable | ||
# --- | ||
# Enable once current issues are fixed: | ||
# consider-using-namedtuple-or-dataclass (Pylint CodeStyle extension) | ||
# consider-using-assignment-expr (Pylint CodeStyle extension) | ||
disable = [ | ||
"format", | ||
"abstract-method", | ||
"cyclic-import", | ||
"duplicate-code", | ||
"inconsistent-return-statements", | ||
"locally-disabled", | ||
"not-context-manager", | ||
"too-few-public-methods", | ||
"too-many-ancestors", | ||
"too-many-arguments", | ||
"too-many-branches", | ||
"too-many-instance-attributes", | ||
"too-many-lines", | ||
"too-many-locals", | ||
"too-many-public-methods", | ||
"too-many-return-statements", | ||
"too-many-statements", | ||
"too-many-boolean-expressions", | ||
"unused-argument", | ||
"wrong-import-order", | ||
"consider-using-f-string", | ||
"consider-using-namedtuple-or-dataclass", | ||
"consider-using-assignment-expr", | ||
"bare-except", | ||
] | ||
enable = [ | ||
#"useless-suppression", # temporarily every now and then to clean them up | ||
"use-symbolic-message-instead", | ||
] | ||
|
||
[tool.pylint.REPORTS] | ||
score = false | ||
|
||
[tool.pylint.TYPECHECK] | ||
ignored-classes = [ | ||
"_CountingAttr", # for attrs | ||
] | ||
mixin-class-rgx = ".*[Mm]ix[Ii]n" | ||
|
||
[tool.pylint.FORMAT] | ||
expected-line-ending-format = "LF" | ||
|
||
[tool.pylint.EXCEPTIONS] | ||
overgeneral-exceptions = [ | ||
"BaseException", | ||
"Exception", | ||
"HomeAssistantError", | ||
] | ||
|
||
[tool.pylint.TYPING] | ||
runtime-typing = false | ||
|
||
[tool.pylint.CODE_STYLE] | ||
max-line-length-suggestions = 72 | ||
|
||
[tool.pytest.ini_options] | ||
testpaths = [ | ||
"tests", | ||
] | ||
norecursedirs = [ | ||
".git", | ||
"testing_config", | ||
] | ||
log_format = "%(asctime)s.%(msecs)03d %(levelname)-8s %(threadName)s %(name)s:%(filename)s:%(lineno)s %(message)s" | ||
log_date_format = "%Y-%m-%d %H:%M:%S" | ||
asyncio_mode = "auto" |
Oops, something went wrong.