nlbone 0.7.26__tar.gz → 0.7.27__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {nlbone-0.7.26 → nlbone-0.7.27}/PKG-INFO +1 -1
- {nlbone-0.7.26 → nlbone-0.7.27}/pyproject.toml +1 -1
- nlbone-0.7.27/src/nlbone/adapters/i18n/__init__.py +7 -0
- nlbone-0.7.26/src/nlbone/adapters/i18n/locales/fa.json → nlbone-0.7.27/src/nlbone/adapters/i18n/locales/fa-IR.json +5 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/container.py +0 -4
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/ports/translation.py +3 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/exception_handlers.py +2 -1
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/utils/context.py +1 -1
- nlbone-0.7.26/src/nlbone/utils/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/.gitignore +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/LICENSE +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/README.md +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/auth/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/auth/auth_service.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/auth/keycloak.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/auth/token_provider.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/cache/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/cache/async_redis.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/cache/memory.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/cache/pubsub_listener.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/cache/redis.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/db/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/db/postgres/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/db/postgres/audit.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/db/postgres/base.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/db/postgres/engine.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/db/postgres/query_builder.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/db/postgres/repository.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/db/postgres/schema.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/db/postgres/types.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/db/postgres/uow.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/db/redis/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/db/redis/client.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/http_clients/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/http_clients/pricing/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/http_clients/pricing/pricing_service.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/http_clients/uploadchi/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/http_clients/uploadchi/uploadchi.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/http_clients/uploadchi/uploadchi_async.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/i18n/engine.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/i18n/loaders.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/messaging/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/messaging/event_bus.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/messaging/rabbitmq.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/outbox/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/outbox/outbox_consumer.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/outbox/outbox_repo.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/percolation/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/percolation/connection.py +0 -0
- {nlbone-0.7.26/src/nlbone/adapters/i18n → nlbone-0.7.27/src/nlbone/adapters/repositories}/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/snowflake.py +0 -0
- {nlbone-0.7.26/src/nlbone/adapters/repositories → nlbone-0.7.27/src/nlbone/adapters/ticketing}/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/ticketing/client.py +0 -0
- {nlbone-0.7.26/src/nlbone/adapters/ticketing → nlbone-0.7.27/src/nlbone/config}/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/config/logging.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/config/settings.py +0 -0
- {nlbone-0.7.26/src/nlbone/config → nlbone-0.7.27/src/nlbone/core}/__init__.py +0 -0
- {nlbone-0.7.26/src/nlbone/core → nlbone-0.7.27/src/nlbone/core/application}/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/application/base_worker.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/application/bus.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/application/di.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/application/registry.py +0 -0
- {nlbone-0.7.26/src/nlbone/core/application → nlbone-0.7.27/src/nlbone/core/application/services}/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/application/use_case.py +0 -0
- {nlbone-0.7.26/src/nlbone/core/application/services → nlbone-0.7.27/src/nlbone/core/domain}/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/domain/base.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/domain/models.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/ports/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/ports/auth.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/ports/cache.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/ports/event_bus.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/ports/files.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/ports/outbox.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/ports/repository.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/ports/uow.py +0 -0
- {nlbone-0.7.26/src/nlbone/core/domain → nlbone-0.7.27/src/nlbone/interfaces}/__init__.py +0 -0
- {nlbone-0.7.26/src/nlbone/interfaces → nlbone-0.7.27/src/nlbone/interfaces/api}/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/additional_filed/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/additional_filed/assembler.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/additional_filed/default_field_rules/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/additional_filed/default_field_rules/image_field_rules.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/additional_filed/field_registry.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/additional_filed/resolver.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/dependencies/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/dependencies/async_auth.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/dependencies/auth.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/dependencies/client_credential.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/dependencies/db.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/dependencies/uow.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/exceptions.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/middleware/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/middleware/access_log.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/middleware/add_request_context.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/middleware/authentication.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/pagination/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/pagination/offset_base.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/routers.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/schema/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/schema/adaptive_schema.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/schema/base_response_model.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/schemas.py +0 -0
- {nlbone-0.7.26/src/nlbone/interfaces/api → nlbone-0.7.27/src/nlbone/interfaces/cli}/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/cli/crypto.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/cli/init_db.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/cli/main.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/cli/ticket.py +0 -0
- {nlbone-0.7.26/src/nlbone/interfaces/cli → nlbone-0.7.27/src/nlbone/interfaces/jobs}/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/jobs/dispatch_outbox.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/jobs/sync_tokens.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/types.py +0 -0
- {nlbone-0.7.26/src/nlbone/interfaces/jobs → nlbone-0.7.27/src/nlbone/utils}/__init__.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/utils/cache.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/utils/cache_keys.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/utils/cache_registry.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/utils/crypto.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/utils/flatten_sqlalchemy_result.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/utils/http.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/utils/normalize_mobile.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/utils/redactor.py +0 -0
- {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/utils/time.py +0 -0
|
@@ -14,8 +14,6 @@ from nlbone.adapters.db.postgres.engine import get_async_session_factory, get_sy
|
|
|
14
14
|
from nlbone.adapters.http_clients import PricingService
|
|
15
15
|
from nlbone.adapters.http_clients.uploadchi import UploadchiClient
|
|
16
16
|
from nlbone.adapters.http_clients.uploadchi.uploadchi_async import UploadchiAsyncClient
|
|
17
|
-
from nlbone.adapters.i18n.engine import I18nAdapter
|
|
18
|
-
from nlbone.adapters.i18n.loaders import JSONFileLoader
|
|
19
17
|
from nlbone.core.ports.auth import AuthService
|
|
20
18
|
from nlbone.core.ports.cache import AsyncCachePort, CachePort
|
|
21
19
|
from nlbone.core.ports.files import AsyncFileServicePort, FileServicePort
|
|
@@ -55,8 +53,6 @@ class Container(containers.DeclarativeContainer):
|
|
|
55
53
|
redis=providers.Singleton(AsyncRedisCache, url=config.REDIS_URL),
|
|
56
54
|
)
|
|
57
55
|
|
|
58
|
-
translator = I18nAdapter(loader=JSONFileLoader(locales_path="path/to/locales"), default_locale="fa")
|
|
59
|
-
|
|
60
56
|
|
|
61
57
|
def create_container(settings: Optional[BaseSettings | Dict] = None) -> Container:
|
|
62
58
|
c = Container()
|
|
@@ -6,3 +6,6 @@ class TranslationPort(ABC):
|
|
|
6
6
|
@abstractmethod
|
|
7
7
|
def translate(self, key: str, locale: Optional[str] = None, **kwargs) -> str:
|
|
8
8
|
pass
|
|
9
|
+
|
|
10
|
+
def __call__(self, key: str, locale: Optional[str] = None, **kwargs) -> Optional[str]:
|
|
11
|
+
return self.translate(key, locale, **kwargs)
|
|
@@ -12,6 +12,7 @@ from starlette.exceptions import HTTPException as StarletteHTTPException
|
|
|
12
12
|
|
|
13
13
|
from .exceptions import BaseHttpException
|
|
14
14
|
|
|
15
|
+
from nlbone.adapters.i18n import translator as _
|
|
15
16
|
# ---- Helpers ---------------------------------------------------------------
|
|
16
17
|
|
|
17
18
|
|
|
@@ -59,7 +60,7 @@ def install_exception_handlers(
|
|
|
59
60
|
"http_error",
|
|
60
61
|
extra={"status": exc.status_code, "detail": exc.detail, "path": request.url.path},
|
|
61
62
|
)
|
|
62
|
-
return _json_response(request, exc.status_code, detail=exc.detail)
|
|
63
|
+
return _json_response(request, exc.status_code, detail=_(exc.detail))
|
|
63
64
|
|
|
64
65
|
@app.exception_handler(FastAPIHTTPException)
|
|
65
66
|
async def _handle_fastapi_http_exception(request: Request, exc: FastAPIHTTPException):
|
|
@@ -6,7 +6,7 @@ request_id_ctx: ContextVar[str | None] = ContextVar("request_id", default=None)
|
|
|
6
6
|
user_id_ctx: ContextVar[str | None] = ContextVar("user_id", default=None)
|
|
7
7
|
ip_ctx: ContextVar[str | None] = ContextVar("ip", default=None)
|
|
8
8
|
user_agent_ctx: ContextVar[str | None] = ContextVar("user_agent", default=None)
|
|
9
|
-
_current_locale: ContextVar[str] = ContextVar("current_locale"
|
|
9
|
+
_current_locale: ContextVar[str] = ContextVar("current_locale")
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
def bind_context(
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/http_clients/uploadchi/uploadchi_async.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/additional_filed/field_registry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nlbone-0.7.26/src/nlbone/interfaces/api → nlbone-0.7.27/src/nlbone/interfaces/cli}/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nlbone-0.7.26/src/nlbone/interfaces/cli → nlbone-0.7.27/src/nlbone/interfaces/jobs}/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|