Skip to content

Commit

Permalink
Use ruff linter
Browse files Browse the repository at this point in the history
  • Loading branch information
MrNaif2018 committed Dec 20, 2024
1 parent 11b91e5 commit a543c82
Show file tree
Hide file tree
Showing 7 changed files with 42 additions and 49 deletions.
28 changes: 4 additions & 24 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,36 +3,18 @@ repos:
rev: v5.0.0
hooks:
- id: check-merge-conflict
- repo: https://github.com/asottile/yesqa
rev: v1.5.0
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.8.3
hooks:
- id: yesqa
- repo: https://github.com/psf/black
rev: 24.10.0
hooks:
- id: black
- repo: https://github.com/pycqa/isort
rev: 5.13.2
hooks:
- id: isort
- repo: https://github.com/pycqa/flake8
rev: 7.1.1
hooks:
- id: flake8
- repo: https://github.com/asottile/pyupgrade
rev: v3.18.0
hooks:
- id: pyupgrade
args: ["--py311-plus"]
- id: ruff
- id: ruff-format
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: end-of-file-fixer
- id: trailing-whitespace
- id: mixed-line-ending
- id: requirements-txt-fixer
exclude: >-
^examples/atomic_tipbot/requirements.txt$
- id: check-case-conflict
- id: check-shebang-scripts-are-executable
- id: check-json
Expand All @@ -41,8 +23,6 @@ repos:
- id: check-symlinks
- id: debug-statements
- id: fix-byte-order-marker
- id: fix-encoding-pragma
args: ["--remove"]
- id: detect-private-key
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v4.0.0-alpha.8
Expand Down
8 changes: 3 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
all: ci

lint:
flake8
ruff check

checkformat:
black --check .
isort --check .
ruff format --check

format:
black .
isort .
ruff format

test:
pytest generator/tests/ ${ARGS}
Expand Down
8 changes: 2 additions & 6 deletions generator/generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,10 +102,7 @@ def add_components(settings: Settings) -> OrderedSet:


def load_component(component: str):
if os.path.isabs(component): # pragma: no cover
path = component
else:
path = path_join(COMPONENTS_DIR, component + ".yml")
path = component if os.path.isabs(component) else path_join(COMPONENTS_DIR, component + ".yml")
if not exists(path):
return {}
with open(path) as f:
Expand Down Expand Up @@ -201,12 +198,11 @@ def generate(components: OrderedSet, settings: Settings):
execute_rules(rules, services, settings)
networks = {j: i[j] for i in networks for j in i}
volumes = {j: i[j] for i in volumes for j in i}
data = {
return {
"services": services,
"networks": networks,
"volumes": volumes,
}
return data


def save(data, out_path=GENERATED_PATH):
Expand Down
4 changes: 1 addition & 3 deletions generator/test-requirements.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
black
flake8
isort>=5
pre-commit
pytest
pytest-cov
ruff
4 changes: 2 additions & 2 deletions generator/tests/test_core.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ def check_service(service, service_data):
def check_key(service, service_data, key, key_type=list, value_type=str):
if key in service_data:
assert isinstance(service_data[key], key_type)
if key_type == list:
if key_type is list:
assert all(isinstance(value, value_type) for value in service_data[key])


Expand All @@ -63,7 +63,7 @@ def check_additional_keys(service, service_data):
if "environment" in service_data:
assert isinstance(service_data["environment"], dict)
for key, value in service_data["environment"].items():
assert isinstance(key, str) and value is None or isinstance(value, (str, int))
assert isinstance(key, str) and value is None or isinstance(value, str | int)


@pytest.mark.parametrize("service", DEFAULT_SERVICES)
Expand Down
9 changes: 5 additions & 4 deletions generator/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,9 @@ def config_error(message):


class ModifyKey:
def __init__(self, services, service, key, default={}, save_key=None):
def __init__(self, services, service, key, default=None, save_key=None):
if default is None:
default = {}
self.services = services
self.service = service
self.key = key
Expand Down Expand Up @@ -57,12 +59,11 @@ def apply_recursive(data, func):
if not to_delete:
new_data[key] = new
return False, new_data
elif isinstance(data, list):
if isinstance(data, list):
new_data = []
for value in data:
to_delete, new = apply_recursive(value, func)
if not to_delete:
new_data.append(new)
return False, new_data
else:
return func(data)
return func(data)
30 changes: 25 additions & 5 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,26 @@
[tool.black]
line-length=127
[tool.ruff]
target-version = "py311"
line-length = 127

[tool.isort]
profile = "black"
line_length = 127
[tool.ruff.lint]
select = [
"F",
"E",
"I",
"UP",
"YTT",
"B",
"T10",
"C",
"SIM",
"RUF100",
"RET",
"A",
"S",
"ASYNC",
]
ignore = ["RET502", "RET503", "S104", "S507", "ASYNC110"]
mccabe = { max-complexity = 12 }

[tool.ruff.lint.per-file-ignores]
"generator/tests/*" = ["S"]

0 comments on commit a543c82

Please sign in to comment.