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.
Files changed (122) hide show
  1. {nlbone-0.7.26 → nlbone-0.7.27}/PKG-INFO +1 -1
  2. {nlbone-0.7.26 → nlbone-0.7.27}/pyproject.toml +1 -1
  3. nlbone-0.7.27/src/nlbone/adapters/i18n/__init__.py +7 -0
  4. 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
  5. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/container.py +0 -4
  6. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/ports/translation.py +3 -0
  7. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/exception_handlers.py +2 -1
  8. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/utils/context.py +1 -1
  9. nlbone-0.7.26/src/nlbone/utils/__init__.py +0 -0
  10. {nlbone-0.7.26 → nlbone-0.7.27}/.gitignore +0 -0
  11. {nlbone-0.7.26 → nlbone-0.7.27}/LICENSE +0 -0
  12. {nlbone-0.7.26 → nlbone-0.7.27}/README.md +0 -0
  13. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/__init__.py +0 -0
  14. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/__init__.py +0 -0
  15. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/auth/__init__.py +0 -0
  16. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/auth/auth_service.py +0 -0
  17. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/auth/keycloak.py +0 -0
  18. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/auth/token_provider.py +0 -0
  19. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/cache/__init__.py +0 -0
  20. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/cache/async_redis.py +0 -0
  21. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/cache/memory.py +0 -0
  22. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/cache/pubsub_listener.py +0 -0
  23. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/cache/redis.py +0 -0
  24. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/db/__init__.py +0 -0
  25. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/db/postgres/__init__.py +0 -0
  26. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/db/postgres/audit.py +0 -0
  27. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/db/postgres/base.py +0 -0
  28. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/db/postgres/engine.py +0 -0
  29. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/db/postgres/query_builder.py +0 -0
  30. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/db/postgres/repository.py +0 -0
  31. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/db/postgres/schema.py +0 -0
  32. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/db/postgres/types.py +0 -0
  33. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/db/postgres/uow.py +0 -0
  34. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/db/redis/__init__.py +0 -0
  35. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/db/redis/client.py +0 -0
  36. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/http_clients/__init__.py +0 -0
  37. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/http_clients/pricing/__init__.py +0 -0
  38. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/http_clients/pricing/pricing_service.py +0 -0
  39. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/http_clients/uploadchi/__init__.py +0 -0
  40. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/http_clients/uploadchi/uploadchi.py +0 -0
  41. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/http_clients/uploadchi/uploadchi_async.py +0 -0
  42. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/i18n/engine.py +0 -0
  43. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/i18n/loaders.py +0 -0
  44. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/messaging/__init__.py +0 -0
  45. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/messaging/event_bus.py +0 -0
  46. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/messaging/rabbitmq.py +0 -0
  47. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/outbox/__init__.py +0 -0
  48. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/outbox/outbox_consumer.py +0 -0
  49. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/outbox/outbox_repo.py +0 -0
  50. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/percolation/__init__.py +0 -0
  51. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/percolation/connection.py +0 -0
  52. {nlbone-0.7.26/src/nlbone/adapters/i18n → nlbone-0.7.27/src/nlbone/adapters/repositories}/__init__.py +0 -0
  53. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/snowflake.py +0 -0
  54. {nlbone-0.7.26/src/nlbone/adapters/repositories → nlbone-0.7.27/src/nlbone/adapters/ticketing}/__init__.py +0 -0
  55. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/adapters/ticketing/client.py +0 -0
  56. {nlbone-0.7.26/src/nlbone/adapters/ticketing → nlbone-0.7.27/src/nlbone/config}/__init__.py +0 -0
  57. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/config/logging.py +0 -0
  58. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/config/settings.py +0 -0
  59. {nlbone-0.7.26/src/nlbone/config → nlbone-0.7.27/src/nlbone/core}/__init__.py +0 -0
  60. {nlbone-0.7.26/src/nlbone/core → nlbone-0.7.27/src/nlbone/core/application}/__init__.py +0 -0
  61. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/application/base_worker.py +0 -0
  62. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/application/bus.py +0 -0
  63. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/application/di.py +0 -0
  64. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/application/registry.py +0 -0
  65. {nlbone-0.7.26/src/nlbone/core/application → nlbone-0.7.27/src/nlbone/core/application/services}/__init__.py +0 -0
  66. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/application/use_case.py +0 -0
  67. {nlbone-0.7.26/src/nlbone/core/application/services → nlbone-0.7.27/src/nlbone/core/domain}/__init__.py +0 -0
  68. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/domain/base.py +0 -0
  69. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/domain/models.py +0 -0
  70. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/ports/__init__.py +0 -0
  71. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/ports/auth.py +0 -0
  72. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/ports/cache.py +0 -0
  73. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/ports/event_bus.py +0 -0
  74. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/ports/files.py +0 -0
  75. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/ports/outbox.py +0 -0
  76. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/ports/repository.py +0 -0
  77. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/core/ports/uow.py +0 -0
  78. {nlbone-0.7.26/src/nlbone/core/domain → nlbone-0.7.27/src/nlbone/interfaces}/__init__.py +0 -0
  79. {nlbone-0.7.26/src/nlbone/interfaces → nlbone-0.7.27/src/nlbone/interfaces/api}/__init__.py +0 -0
  80. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/additional_filed/__init__.py +0 -0
  81. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/additional_filed/assembler.py +0 -0
  82. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/additional_filed/default_field_rules/__init__.py +0 -0
  83. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/additional_filed/default_field_rules/image_field_rules.py +0 -0
  84. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/additional_filed/field_registry.py +0 -0
  85. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/additional_filed/resolver.py +0 -0
  86. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/dependencies/__init__.py +0 -0
  87. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/dependencies/async_auth.py +0 -0
  88. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/dependencies/auth.py +0 -0
  89. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/dependencies/client_credential.py +0 -0
  90. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/dependencies/db.py +0 -0
  91. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/dependencies/uow.py +0 -0
  92. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/exceptions.py +0 -0
  93. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/middleware/__init__.py +0 -0
  94. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/middleware/access_log.py +0 -0
  95. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/middleware/add_request_context.py +0 -0
  96. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/middleware/authentication.py +0 -0
  97. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/pagination/__init__.py +0 -0
  98. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/pagination/offset_base.py +0 -0
  99. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/routers.py +0 -0
  100. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/schema/__init__.py +0 -0
  101. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/schema/adaptive_schema.py +0 -0
  102. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/schema/base_response_model.py +0 -0
  103. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/api/schemas.py +0 -0
  104. {nlbone-0.7.26/src/nlbone/interfaces/api → nlbone-0.7.27/src/nlbone/interfaces/cli}/__init__.py +0 -0
  105. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/cli/crypto.py +0 -0
  106. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/cli/init_db.py +0 -0
  107. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/cli/main.py +0 -0
  108. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/cli/ticket.py +0 -0
  109. {nlbone-0.7.26/src/nlbone/interfaces/cli → nlbone-0.7.27/src/nlbone/interfaces/jobs}/__init__.py +0 -0
  110. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/jobs/dispatch_outbox.py +0 -0
  111. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/interfaces/jobs/sync_tokens.py +0 -0
  112. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/types.py +0 -0
  113. {nlbone-0.7.26/src/nlbone/interfaces/jobs → nlbone-0.7.27/src/nlbone/utils}/__init__.py +0 -0
  114. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/utils/cache.py +0 -0
  115. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/utils/cache_keys.py +0 -0
  116. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/utils/cache_registry.py +0 -0
  117. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/utils/crypto.py +0 -0
  118. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/utils/flatten_sqlalchemy_result.py +0 -0
  119. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/utils/http.py +0 -0
  120. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/utils/normalize_mobile.py +0 -0
  121. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/utils/redactor.py +0 -0
  122. {nlbone-0.7.26 → nlbone-0.7.27}/src/nlbone/utils/time.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nlbone
3
- Version: 0.7.26
3
+ Version: 0.7.27
4
4
  Summary: Backbone package for interfaces and infrastructure in Python projects
5
5
  Author-email: Amir Hosein Kahkbazzadeh <a.khakbazzadeh@gmail.com>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "nlbone"
7
- version = "0.7.26"
7
+ version = "0.7.27"
8
8
  description = "Backbone package for interfaces and infrastructure in Python projects"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -0,0 +1,7 @@
1
+ from pathlib import Path
2
+
3
+ from .engine import I18nAdapter
4
+ from .loaders import JSONFileLoader
5
+
6
+ translator = I18nAdapter(loader=JSONFileLoader(locales_path=Path(__file__).parent.joinpath("./locales").__str__()),
7
+ default_locale="fa")
@@ -8,5 +8,10 @@
8
8
  },
9
9
  "auth": {
10
10
  "otp_sent": "کد تایید برای {mobile} ارسال شد."
11
+ },
12
+ "order": {
13
+ "remove": {
14
+ "forbidden": "شما مجاز به حذف این سفارش نیستید"
15
+ }
11
16
  }
12
17
  }
@@ -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", default="en")
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