fix(lint): auto-fix ruff violations and tune lint rules
- Auto-fixed 4,496 lint issues (import sorting, modern syntax, etc.) - Added ignore rules for patterns intentional in this codebase: E402 (late imports), E712 (SQLAlchemy filters), B904 (raise from), SIM108/SIM105/SIM117 (readability preferences) - Added per-file ignores for tests and scripts - Excluded broken scripts/rename_terminology.py (has curly quotes) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -15,13 +15,17 @@ from app.modules.core.services.admin_settings_service import (
|
||||
admin_settings_service,
|
||||
)
|
||||
from app.modules.core.services.auth_service import AuthService, auth_service
|
||||
from app.modules.core.services.menu_service import MenuItemConfig, MenuService, menu_service
|
||||
from app.modules.core.services.menu_discovery_service import (
|
||||
DiscoveredMenuItem,
|
||||
DiscoveredMenuSection,
|
||||
MenuDiscoveryService,
|
||||
menu_discovery_service,
|
||||
)
|
||||
from app.modules.core.services.menu_service import (
|
||||
MenuItemConfig,
|
||||
MenuService,
|
||||
menu_service,
|
||||
)
|
||||
from app.modules.core.services.platform_settings_service import (
|
||||
PlatformSettingsService,
|
||||
platform_settings_service,
|
||||
|
||||
@@ -17,10 +17,12 @@ from typing import Any
|
||||
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from app.modules.tenancy.exceptions import InvalidCredentialsException, UserNotActiveException
|
||||
from app.modules.tenancy.exceptions import (
|
||||
InvalidCredentialsException,
|
||||
UserNotActiveException,
|
||||
)
|
||||
from app.modules.tenancy.models import Store, StoreUser, User
|
||||
from middleware.auth import AuthManager
|
||||
from app.modules.tenancy.models import User
|
||||
from app.modules.tenancy.models import Store, StoreUser
|
||||
from models.schema.auth import UserLogin
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -34,7 +34,7 @@ from dataclasses import dataclass, field
|
||||
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from app.modules.base import MenuItemDefinition, MenuSectionDefinition
|
||||
from app.modules.base import MenuSectionDefinition
|
||||
from app.modules.enums import FrontendType
|
||||
from app.modules.service import module_service
|
||||
|
||||
@@ -112,7 +112,7 @@ class MenuDiscoveryService:
|
||||
ft: [] for ft in FrontendType
|
||||
}
|
||||
|
||||
for module_code, module_def in MODULES.items():
|
||||
for _module_code, module_def in MODULES.items():
|
||||
for frontend_type, sections in module_def.menus.items():
|
||||
all_menus[frontend_type].extend(deepcopy(sections))
|
||||
|
||||
|
||||
@@ -29,15 +29,14 @@ Usage:
|
||||
"""
|
||||
|
||||
import logging
|
||||
from copy import deepcopy
|
||||
from dataclasses import dataclass
|
||||
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from app.modules.service import module_service
|
||||
from app.modules.core.models import AdminMenuConfig
|
||||
from app.modules.core.services.menu_discovery_service import menu_discovery_service
|
||||
from app.modules.enums import FrontendType
|
||||
from app.modules.service import module_service
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -160,7 +159,7 @@ class MenuService:
|
||||
|
||||
# Filter by module enablement if platform is specified
|
||||
if platform_id:
|
||||
module_available_items = module_service.get_module_menu_items(
|
||||
module_service.get_module_menu_items(
|
||||
db, platform_id, frontend_type
|
||||
)
|
||||
# Only keep items from enabled modules (or items not associated with any module)
|
||||
@@ -715,8 +714,7 @@ class MenuService:
|
||||
)
|
||||
if platform_id:
|
||||
return q.filter(AdminMenuConfig.platform_id == platform_id)
|
||||
else:
|
||||
return q.filter(AdminMenuConfig.user_id == user_id)
|
||||
return q.filter(AdminMenuConfig.user_id == user_id)
|
||||
|
||||
# Check if any visible records exist (valid opt-in config)
|
||||
visible_count = scope_query().filter(
|
||||
@@ -730,7 +728,7 @@ class MenuService:
|
||||
total_count = scope_query().count()
|
||||
if total_count > 0:
|
||||
# Clean up old records first
|
||||
deleted = scope_query().delete(synchronize_session='fetch')
|
||||
deleted = scope_query().delete(synchronize_session="fetch")
|
||||
db.flush() # Ensure deletes are applied before inserts
|
||||
logger.info(f"Cleaned up {deleted} old menu config records before initialization")
|
||||
|
||||
|
||||
@@ -32,9 +32,9 @@ from typing import TYPE_CHECKING, Any
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from app.modules.contracts.metrics import (
|
||||
MetricValue,
|
||||
MetricsContext,
|
||||
MetricsProviderProtocol,
|
||||
MetricValue,
|
||||
)
|
||||
|
||||
if TYPE_CHECKING:
|
||||
|
||||
@@ -39,7 +39,6 @@ class StorageBackend(ABC):
|
||||
Returns:
|
||||
Public URL to access the file
|
||||
"""
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
async def delete(self, file_path: str) -> bool:
|
||||
@@ -52,7 +51,6 @@ class StorageBackend(ABC):
|
||||
Returns:
|
||||
True if file was deleted, False if not found
|
||||
"""
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def get_url(self, file_path: str) -> str:
|
||||
@@ -65,7 +63,6 @@ class StorageBackend(ABC):
|
||||
Returns:
|
||||
Public URL to access the file
|
||||
"""
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
async def exists(self, file_path: str) -> bool:
|
||||
@@ -78,7 +75,6 @@ class StorageBackend(ABC):
|
||||
Returns:
|
||||
True if file exists
|
||||
"""
|
||||
pass
|
||||
|
||||
|
||||
class LocalStorageBackend(StorageBackend):
|
||||
@@ -227,10 +223,9 @@ class R2StorageBackend(StorageBackend):
|
||||
if self.public_url:
|
||||
# Use custom domain
|
||||
return f"{self.public_url.rstrip('/')}/{file_path}"
|
||||
else:
|
||||
# Use default R2 public URL pattern
|
||||
# Note: Bucket must have public access enabled
|
||||
return f"https://{self.bucket_name}.{settings.r2_account_id}.r2.dev/{file_path}"
|
||||
# Use default R2 public URL pattern
|
||||
# Note: Bucket must have public access enabled
|
||||
return f"https://{self.bucket_name}.{settings.r2_account_id}.r2.dev/{file_path}"
|
||||
|
||||
async def exists(self, file_path: str) -> bool:
|
||||
"""Check if file exists in R2."""
|
||||
|
||||
Reference in New Issue
Block a user