Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 2 additions & 7 deletions .github/workflows/format-code.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,17 +24,12 @@ jobs:

- name: Install Formatters
run: |
pip install black isort ruff
pip install ruff ty

- name: Run isort
run: isort .

- name: Run Black Formatter
run: black .


- name: Run Ruff Linter and Auto-fix
run: |
ruff check . --fix
ruff format .

- name: Commit and Push Changes
Expand Down
1 change: 0 additions & 1 deletion nexios_contrib/accepts/dependency.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,4 +60,3 @@ def _wrap(request: Request = Context().request) -> AcceptsInfo:
return get_accepts_info_from_request(request, attribute_name)

return cast(AcceptsInfo, Depend(_wrap))

4 changes: 3 additions & 1 deletion nexios_contrib/accepts/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,9 @@ def accept(self) -> Any | List[AcceptItem]:
if self._state_accept is None:
if hasattr(self.request.state, "accepts_parsed"):
item = getattr(self.request.state, "accepts_parsed", {})
self._state_accept: Any | list[Unknown] = item.get("accept", []) if item else []
self._state_accept: Any | list[Unknown] = (
item.get("accept", []) if item else []
)
else:
self._state_accept = parse_accept_header(
self.request.headers.get("Accept", "")
Expand Down
5 changes: 3 additions & 2 deletions nexios_contrib/mail/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,9 @@ class MailConfig:
default_factory=lambda: os.getenv("MAIL_DEBUG", "false").lower() == "true"
)
suppress_send: bool = field(
default_factory=lambda: os.getenv("MAIL_SUPPRESS_SEND", "false").lower()
== "true"
default_factory=lambda: (
os.getenv("MAIL_SUPPRESS_SEND", "false").lower() == "true"
)
)

def __post_init__(self) -> None:
Expand Down
6 changes: 3 additions & 3 deletions nexios_contrib/mail/tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ async def send_email_async(
return None

# Create the background task
task = create_task(
task = create_task(
self._send_email_task,
to=to,
subject=subject,
Expand Down Expand Up @@ -145,7 +145,7 @@ async def send_message_async(
return None

# Create the background task
task = create_task(
task = create_task(
self._send_message_task,
message,
name=f"send_message_{message.subject}",
Expand Down Expand Up @@ -196,7 +196,7 @@ async def send_template_email_async(
return None

# Create the background task
task = create_task(
task = create_task(
self._send_template_email_task,
to=to,
subject=subject,
Expand Down
4 changes: 2 additions & 2 deletions nexios_contrib/proxy/helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ def get_protocol_from_headers(request: Request) -> str:
str: The protocol (http/https).
"""
# Check X-Forwarded-Proto first
proto = parse_x_forwarded_proto(request.headers.get("X-Forwarded-Proto",""))
proto = parse_x_forwarded_proto(request.headers.get("X-Forwarded-Proto", ""))
if proto:
return proto

Expand Down Expand Up @@ -222,7 +222,7 @@ def get_host_from_headers(request: Request) -> Optional[str]:
Optional[str]: The real host.
"""
# Check X-Forwarded-Host first
host = parse_x_forwarded_host(request.headers.get("X-Forwarded-Host",""))
host = parse_x_forwarded_host(request.headers.get("X-Forwarded-Host", ""))
if host:
return host

Expand Down
6 changes: 3 additions & 3 deletions nexios_contrib/redis/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,15 +84,15 @@ def from_env(cls, prefix: str = "REDIS_") -> RedisConfig:

if env_value is not None:
# Type conversion for specific fields
if field.type_ in (int, float): #ty: ignore
if field.type_ in (int, float): # ty: ignore
try:
if isinstance(field,int):
if isinstance(field, int):
env_vars[field_name] = int(env_value)
else:
env_vars[field_name] = float(env_value)
except ValueError:
continue # Skip invalid values
elif isinstance(field,bool):
elif isinstance(field, bool):
env_vars[field_name] = env_value.lower() in (
"true",
"1",
Expand Down
2 changes: 1 addition & 1 deletion nexios_contrib/redis/dependency.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,4 @@ async def get_cached_data(
```
"""

return cast(RedisClient,Depend(get_redis))
return cast(RedisClient, Depend(get_redis))
4 changes: 2 additions & 2 deletions nexios_contrib/scheduler/dependency.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,9 +76,9 @@ def resume_job(self, job_id: str) -> bool:

def _get_scheduler_depend(ctx: Context = Context()) -> SchedulerDepend:
"""Factory used by the ``SchedulerDepends`` callable."""

return SchedulerDepend(ctx.request) # ty:ignore[invalid-argument-type]


def SchedulerDepends() -> SchedulerDepend:
return cast(typ=SchedulerDepend, val=Depend(_get_scheduler_depend))
return cast(typ=SchedulerDepend, val=Depend(_get_scheduler_depend))
1 change: 0 additions & 1 deletion nexios_contrib/slashes/middleware.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
from nexios.middleware.base import BaseMiddleware



class SlashAction(Enum):
"""Actions for handling trailing slashes."""

Expand Down
6 changes: 5 additions & 1 deletion nexios_contrib/tasks/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -198,5 +198,9 @@ def create_task(

task_manager = get_task_manager(request)
return task_manager.create_task(
func=func, *task_args, name=name, timeout=timeout, **kwargs # ty:ignore[parameter-already-assigned]
func=func,
*task_args,
name=name,
timeout=timeout,
**kwargs, # ty:ignore[parameter-already-assigned]
) # ty:ignore[invalid-return-type]
7 changes: 4 additions & 3 deletions nexios_contrib/tasks/dependency.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@
Callable,
Generic,
Optional,
TypeVar, cast,
TypeVar,
cast,
)

from nexios.dependencies import Context, Depend
Expand Down Expand Up @@ -113,10 +114,10 @@ def get_task_dependency(

This is the recommended way to get a TaskDepend instance in route handlers.
"""
if not isinstance(ctx.request, Request):
if not isinstance(ctx.request, Request):
raise TypeError("Task dependency requires a Request object")
return TaskDepend(ctx.request)


def TaskDependency() -> TaskDepend:
return cast(TaskDepend,Depend(get_task_dependency))
return cast(TaskDepend, Depend(get_task_dependency))
1 change: 0 additions & 1 deletion nexios_contrib/tasks/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,6 @@ async def run(self) -> None:
)
raise
except Exception as e:

self._status = TaskStatus.FAILED
self._result = TaskResult(
task_id=self.id,
Expand Down
5 changes: 2 additions & 3 deletions nexios_contrib/timeout/helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -197,8 +197,7 @@ def create_timeout_response(
return JSONResponse(
{"error": "Request Timeout", "timeout": timeout, "detail": detail},
status_code=408,
headers={"X-Timeout": str(timeout)}

headers={"X-Timeout": str(timeout)},
)


Expand Down Expand Up @@ -226,7 +225,7 @@ def format_timeout_duration(seconds: float) -> str:
Human-readable duration string.
"""
if seconds < 1:
return f"{seconds*1000}ms"
return f"{seconds * 1000}ms"
elif seconds < 60:
return f"{seconds}s"
elif seconds < 3600:
Expand Down
4 changes: 2 additions & 2 deletions nexios_contrib/tortoise/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import os
from typing import Any, Dict, List, Optional

from pydantic import BaseModel, Field, field_validator
from pydantic import BaseModel, Field, field_validator


class TortoiseConfig(BaseModel):
Expand Down Expand Up @@ -107,7 +107,7 @@ def from_env(cls, prefix: str = "TORTOISE_") -> TortoiseConfig:

if env_value is not None:
# Type conversion for specific fields
if isinstance(field,(int, float)):
if isinstance(field, (int, float)):
try:
if field.type_ is int:
env_vars[field_name] = int(env_value)
Expand Down
Loading