Skip to content

Commit 3efcc48

Browse files
committed
added ruff for lintering
1 parent 2f5a0e1 commit 3efcc48

File tree

14 files changed

+101
-86
lines changed

14 files changed

+101
-86
lines changed

.github/workflows/test_full.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,7 @@ jobs:
3939
run: flit install --symlink
4040
- name: Black
4141
run: black --check ellar_cli tests
42-
- name: isort
43-
run: isort --check ellar_cli tests
44-
- name: Flake8
45-
run: flake8 ellar_cli tests
42+
- name: Ruff linting check
43+
run: ruff check ellar_cli tests
4644
- name: mypy
4745
run: mypy ellar_cli

Makefile

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,12 @@ install-full: ## Install dependencies
1919

2020
lint: ## Run code linters
2121
black --check ellar_cli tests
22-
isort --check ellar_cli tests
23-
autoflake --remove-unused-variables --remove-unused-variables -r ellar_cli tests
24-
flake8 ellar_cli tests
22+
ruff check ellar_cli tests
2523
mypy ellar_cli
2624

2725
fmt format: ## Run code formatters
2826
black ellar_cli tests
29-
isort ellar_cli tests
27+
ruff check --fix ellar_cli tests
3028

3129
test: ## Run tests
3230
pytest tests

ellar_cli/file_scaffolding.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def __init__(
2525
working_project_name: str,
2626
working_directory: str,
2727
scaffold_ellar_template_root_path: str,
28-
specified_directory: str = None,
28+
specified_directory: t.Optional[str] = None,
2929
) -> None:
3030
self._specified_directory = specified_directory
3131
self._schema = schema
@@ -96,9 +96,9 @@ def create_directory(
9696
if file.is_directory:
9797
new_scaffold_dir = os.path.join(working_directory, name)
9898
os.makedirs(new_scaffold_dir, exist_ok=True)
99-
for file in file.files or []:
99+
for _file in file.files:
100100
self.create_directory(
101-
file=file,
101+
file=_file,
102102
working_directory=new_scaffold_dir,
103103
scaffold_ellar_template_path=scaffold_template_path,
104104
)

ellar_cli/manage_commands/create_module.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ def validate_project_name(self) -> None:
6868
sys.path.remove(self._working_directory)
6969

7070
def get_scaffolding_context(self, working_project_name: str) -> t.Dict:
71-
template_context = dict(module_name=working_project_name)
71+
template_context = {"module_name": working_project_name}
7272
return template_context
7373

7474

ellar_cli/manage_commands/create_project.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,10 @@ def __init__(self, ellar_cli_service: EllarCLIService, **kwargs: t.Any) -> None:
2727
self.ellar_cli_service = ellar_cli_service
2828

2929
def get_scaffolding_context(self, working_project_name: str) -> t.Dict:
30-
template_context = dict(
31-
project_name=working_project_name, secret_key=f"ellar_{uuid.uuid4()}"
32-
)
30+
template_context = {
31+
"project_name": working_project_name,
32+
"secret_key": f"ellar_{uuid.uuid4()}",
33+
}
3334
return template_context
3435

3536
def validate_project_name(self) -> None:

ellar_cli/manage_commands/new.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,10 @@ def validate_project_name(self) -> None:
110110
raise EllarCLIException(message)
111111

112112
def get_scaffolding_context(self, working_project_name: str) -> t.Dict:
113-
template_context = dict(
114-
folder_name=working_project_name, project_name=self.get_project_name()
115-
)
113+
template_context = {
114+
"folder_name": working_project_name,
115+
"project_name": self.get_project_name(),
116+
}
116117
return template_context
117118

118119
def get_project_name(self) -> str:

ellar_cli/manage_commands/runserver.py

Lines changed: 44 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
from pathlib import Path
55

66
import typer
7-
from ellar.common.constants import LOG_LEVELS
87
from ellar.common.helper.enums import create_enums_from_list
98
from h11._connection import DEFAULT_MAX_INCOMPLETE_EVENT_SIZE
109
from uvicorn.config import (
@@ -255,50 +254,50 @@ def runserver(
255254

256255
_log_level = log_level if log_level else _log_level or LOG_LEVELS.info
257256

258-
init_kwargs = dict(
259-
host=host,
260-
port=port,
261-
uds=uds,
262-
fd=fd,
263-
loop=loop.value,
264-
http=http.value,
265-
ws=ws.value,
266-
ws_max_size=ws_max_size,
267-
ws_ping_interval=ws_ping_interval,
268-
ws_ping_timeout=ws_ping_timeout,
269-
lifespan=lifespan.value,
270-
env_file=env_file,
271-
log_config=LOGGING_CONFIG if log_config is None else log_config,
272-
log_level=_log_level.value if _log_level.value != "NOT_SET" else None,
273-
access_log=access_log,
274-
interface=interface.value,
275-
reload=reload,
276-
reload_dirs=reload_dirs or None,
277-
reload_includes=reload_includes or None,
278-
reload_excludes=reload_excludes or None,
279-
reload_delay=reload_delay,
280-
workers=workers,
281-
proxy_headers=proxy_headers,
282-
server_header=server_header,
283-
date_header=date_header,
284-
forwarded_allow_ips=forwarded_allow_ips,
285-
root_path=root_path,
286-
limit_concurrency=limit_concurrency,
287-
backlog=backlog,
288-
limit_max_requests=limit_max_requests,
289-
timeout_keep_alive=timeout_keep_alive,
290-
ssl_keyfile=ssl_keyfile,
291-
ssl_certfile=ssl_certfile,
292-
ssl_keyfile_password=ssl_keyfile_password,
293-
ssl_version=ssl_version,
294-
ssl_cert_reqs=ssl_cert_reqs,
295-
ssl_ca_certs=ssl_ca_certs,
296-
ssl_ciphers=ssl_ciphers,
297-
headers=[header.split(":", 1) for header in headers],
298-
use_colors=use_colors,
299-
factory=factory,
300-
app_dir=app_dir,
301-
)
257+
init_kwargs = {
258+
"host": host,
259+
"port": port,
260+
"uds": uds,
261+
"fd": fd,
262+
"loop": loop.value,
263+
"http": http.value,
264+
"ws": ws.value,
265+
"ws_max_size": ws_max_size,
266+
"ws_ping_interval": ws_ping_interval,
267+
"ws_ping_timeout": ws_ping_timeout,
268+
"lifespan": lifespan.value,
269+
"env_file": env_file,
270+
"log_config": LOGGING_CONFIG if log_config is None else log_config,
271+
"log_level": _log_level.value if _log_level.value != "NOT_SET" else None,
272+
"access_log": access_log,
273+
"interface": interface.value,
274+
"reload": reload,
275+
"reload_dirs": reload_dirs or None,
276+
"reload_includes": reload_includes or None,
277+
"reload_excludes": reload_excludes or None,
278+
"reload_delay": reload_delay,
279+
"workers": workers,
280+
"proxy_headers": proxy_headers,
281+
"server_header": server_header,
282+
"date_header": date_header,
283+
"forwarded_allow_ips": forwarded_allow_ips,
284+
"root_path": root_path,
285+
"limit_concurrency": limit_concurrency,
286+
"backlog": backlog,
287+
"limit_max_requests": limit_max_requests,
288+
"timeout_keep_alive": timeout_keep_alive,
289+
"ssl_keyfile": ssl_keyfile,
290+
"ssl_certfile": ssl_certfile,
291+
"ssl_keyfile_password": ssl_keyfile_password,
292+
"ssl_version": ssl_version,
293+
"ssl_cert_reqs": ssl_cert_reqs,
294+
"ssl_ca_certs": ssl_ca_certs,
295+
"ssl_ciphers": ssl_ciphers,
296+
"headers": [header.split(":", 1) for header in headers],
297+
"use_colors": use_colors,
298+
"factory": factory,
299+
"app_dir": app_dir,
300+
}
302301
if sys.version_info >= (3, 7):
303302
init_kwargs.update(
304303
h11_max_incomplete_event_size=h11_max_incomplete_event_size,

ellar_cli/scaffolding/scaffolding_json_validator.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ def _check_directory_file_exist(
3939
f"Scaffolding Folder: {file.name} @{scaffold_ellar_template_path} is not a Directory"
4040
)
4141

42-
for file in file.files or []:
42+
for _file in file.files:
4343
self._check_directory_file_exist(
44-
file=file,
44+
file=_file,
4545
scaffold_ellar_template_path=scaffold_template_path,
4646
)
4747
else:

ellar_cli/schema.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class EllarScaffoldList(Serializer):
1515
name: str
1616
is_directory: bool = False
1717
name_in_context: t.Optional[bool] = Field(default=None, alias="name-context")
18-
files: t.Optional[t.List["EllarScaffoldList"]]
18+
files: t.List["EllarScaffoldList"] = Field(default=[])
1919

2020

2121
EllarScaffoldList.update_forward_refs()
@@ -30,14 +30,10 @@ def schema_example(cls) -> "EllarScaffoldSchema":
3030
return cls(
3131
context=["project_name"],
3232
files=[
33-
dict(name="sample.ellar", is_directory=False),
34-
dict(
35-
name="sample",
36-
files=[
37-
dict(
38-
dict(name="sample.ellar", is_directory=False),
39-
)
40-
],
41-
),
33+
{"name": "sample.ellar", "is_directory": False},
34+
{
35+
"name": "sample",
36+
"files": [{"name": "sample.ellar", "is_directory": False}],
37+
},
4238
],
4339
)

ellar_cli/service.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
from ellar.common.constants import ELLAR_CONFIG_MODULE
66
from ellar.common.helper.importer import import_from_string
77
from ellar.core import App, Config, ModuleBase
8-
from tomlkit import dumps as tomlkit_dumps, parse as tomlkit_parse, table
8+
from tomlkit import dumps as tomlkit_dumps
9+
from tomlkit import parse as tomlkit_parse
10+
from tomlkit import table
911
from tomlkit.items import Table
1012

1113
from ellar_cli.constants import ELLAR_PY_PROJECT
@@ -21,7 +23,7 @@ class EllarCLIException(ClickException):
2123

2224

2325
class EllarPyProject:
24-
def __init__(self, ellar: Table = None) -> None:
26+
def __init__(self, ellar: t.Optional[Table] = None) -> None:
2527
self._ellar = ellar if ellar is not None else table()
2628
self._projects = t.cast(
2729
Table, self._ellar.setdefault(ELLAR_PROJECTS_KEY, table())
@@ -76,7 +78,7 @@ def __init__(
7678
py_project_path: str,
7779
cwd: str,
7880
app_name: str = "ellar",
79-
ellar_py_projects: EllarPyProject = None,
81+
ellar_py_projects: t.Optional[EllarPyProject] = None,
8082
) -> None:
8183
self._meta = meta
8284
self.py_project_path = py_project_path
@@ -171,7 +173,7 @@ def read_py_project(path: str) -> t.Optional[Table]:
171173
if os.path.exists(path):
172174
with open(path, mode="r") as fp:
173175
table_content = tomlkit_parse(fp.read())
174-
return table_content
176+
return table_content # type:ignore[return-value]
175177
return None
176178

177179
@staticmethod

0 commit comments

Comments
 (0)