tina4-python 3.10.5__tar.gz → 3.10.7__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.
- {tina4_python-3.10.5 → tina4_python-3.10.7}/PKG-INFO +1 -1
- {tina4_python-3.10.5 → tina4_python-3.10.7}/pyproject.toml +1 -1
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/frond/engine.py +16 -3
- {tina4_python-3.10.5 → tina4_python-3.10.7}/.gitignore +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/README.md +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/CLAUDE.md +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/HtmlElement.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/Testing.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/ai/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/api/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/auth/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/cache/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/cli/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/container/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/core/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/core/cache.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/core/constants.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/core/events.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/core/middleware.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/core/request.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/core/response.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/core/router.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/core/server.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/crud/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/database/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/database/adapter.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/database/connection.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/database/firebird.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/database/mssql.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/database/mysql.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/database/odbc.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/database/postgres.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/database/sqlite.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/debug/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/debug/error_overlay.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/dev_admin/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/dev_reload.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/dotenv/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/frond/FROND.md +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/frond/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/gallery/auth/meta.json +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/gallery/auth/src/routes/api/gallery_auth.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/gallery/database/meta.json +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/gallery/database/src/routes/api/gallery_db.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/gallery/error-overlay/meta.json +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/gallery/error-overlay/src/routes/api/gallery_crash.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/gallery/orm/meta.json +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/gallery/orm/src/orm/Product.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/gallery/orm/src/routes/api/gallery_products.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/gallery/queue/meta.json +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/gallery/queue/src/routes/api/gallery_queue.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/gallery/rest-api/meta.json +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/gallery/rest-api/src/routes/api/gallery_hello.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/gallery/templates/meta.json +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/gallery/templates/src/routes/gallery_page.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/gallery/templates/src/templates/gallery_page.twig +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/graphql/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/i18n/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/messenger/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/migration/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/migration/runner.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/orm/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/orm/fields.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/orm/model.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/public/css/tina4.css +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/public/css/tina4.min.css +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/public/favicon.ico +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/public/images/logo.svg +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/public/images/tina4-logo-icon.webp +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/public/js/frond.min.js +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/public/js/tina4-dev-admin.min.js +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/public/js/tina4.min.js +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/public/js/tina4js.min.js +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/public/swagger/index.html +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/public/swagger/oauth2-redirect.html +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/query_builder/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/queue/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/queue_backends/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/queue_backends/kafka_backend.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/queue_backends/mongo_backend.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/queue_backends/rabbitmq_backend.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/scss/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/scss/tina4css/_alerts.scss +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/scss/tina4css/_badges.scss +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/scss/tina4css/_buttons.scss +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/scss/tina4css/_cards.scss +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/scss/tina4css/_forms.scss +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/scss/tina4css/_grid.scss +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/scss/tina4css/_modals.scss +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/scss/tina4css/_nav.scss +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/scss/tina4css/_reset.scss +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/scss/tina4css/_tables.scss +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/scss/tina4css/_typography.scss +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/scss/tina4css/_utilities.scss +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/scss/tina4css/_variables.scss +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/scss/tina4css/base.scss +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/scss/tina4css/colors.scss +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/scss/tina4css/tina4.scss +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/seeder/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/service/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/session/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/session_handlers/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/session_handlers/mongodb_handler.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/session_handlers/redis_handler.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/session_handlers/valkey_handler.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/swagger/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/templates/components/crud.twig +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/templates/docker/distroless/Dockerfile +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/templates/docker/poetry/Dockerfile +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/templates/docker/python/Dockerfile +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/templates/docker/uv/Dockerfile +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/templates/errors/302.twig +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/templates/errors/401.twig +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/templates/errors/403.twig +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/templates/errors/404.twig +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/templates/errors/500.twig +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/templates/errors/502.twig +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/templates/errors/503.twig +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/templates/errors/base.twig +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/templates/frontend/README.md +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/templates/readme.md +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/test_client/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/translations/af/LC_MESSAGES/messages.mo +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/translations/af/LC_MESSAGES/messages.po +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/translations/en/LC_MESSAGES/messages.mo +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/translations/en/LC_MESSAGES/messages.po +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/translations/es/LC_MESSAGES/messages.mo +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/translations/es/LC_MESSAGES/messages.po +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/translations/fr/LC_MESSAGES/messages.mo +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/translations/fr/LC_MESSAGES/messages.po +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/translations/ja/LC_MESSAGES/messages.mo +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/translations/ja/LC_MESSAGES/messages.po +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/translations/zh/LC_MESSAGES/messages.mo +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/translations/zh/LC_MESSAGES/messages.po +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/validator/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/websocket/__init__.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/websocket/backplane.py +0 -0
- {tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/wsdl/__init__.py +0 -0
|
@@ -463,12 +463,25 @@ def _eval_expr(expr: str, context: dict):
|
|
|
463
463
|
if _find_outside_quotes(expr, op) >= 0:
|
|
464
464
|
return _eval_comparison(expr, context)
|
|
465
465
|
|
|
466
|
-
# Function call: name("arg1", "arg2")
|
|
467
|
-
fn_match = re.match(r"^(\w+)\s*\((.*)?\)$", expr, re.DOTALL)
|
|
466
|
+
# Function call: name("arg1", "arg2") or obj.method("arg1")
|
|
467
|
+
fn_match = re.match(r"^([\w.]+)\s*\((.*)?\)$", expr, re.DOTALL)
|
|
468
468
|
if fn_match:
|
|
469
469
|
fn_name = fn_match.group(1)
|
|
470
470
|
raw_args = fn_match.group(2) or ""
|
|
471
|
-
|
|
471
|
+
# For dotted names like obj.method, resolve the object then get the method
|
|
472
|
+
if "." in fn_name:
|
|
473
|
+
parts = fn_name.rsplit(".", 1)
|
|
474
|
+
obj = _resolve(parts[0], context)
|
|
475
|
+
if obj is None:
|
|
476
|
+
fn = None
|
|
477
|
+
elif isinstance(obj, dict):
|
|
478
|
+
fn = obj.get(parts[1])
|
|
479
|
+
elif hasattr(obj, parts[1]):
|
|
480
|
+
fn = getattr(obj, parts[1])
|
|
481
|
+
else:
|
|
482
|
+
fn = None
|
|
483
|
+
else:
|
|
484
|
+
fn = context.get(fn_name) or _resolve(fn_name, context)
|
|
472
485
|
if callable(fn):
|
|
473
486
|
if raw_args.strip():
|
|
474
487
|
# Split args manually, evaluate each as expression
|
|
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
|
{tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/gallery/auth/src/routes/api/gallery_auth.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
|
{tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/public/swagger/oauth2-redirect.html
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
|
{tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/session_handlers/mongodb_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/templates/docker/distroless/Dockerfile
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
|
{tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/translations/af/LC_MESSAGES/messages.mo
RENAMED
|
File without changes
|
{tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/translations/af/LC_MESSAGES/messages.po
RENAMED
|
File without changes
|
{tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/translations/en/LC_MESSAGES/messages.mo
RENAMED
|
File without changes
|
{tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/translations/en/LC_MESSAGES/messages.po
RENAMED
|
File without changes
|
{tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/translations/es/LC_MESSAGES/messages.mo
RENAMED
|
File without changes
|
{tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/translations/es/LC_MESSAGES/messages.po
RENAMED
|
File without changes
|
{tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/translations/fr/LC_MESSAGES/messages.mo
RENAMED
|
File without changes
|
{tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/translations/fr/LC_MESSAGES/messages.po
RENAMED
|
File without changes
|
{tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/translations/ja/LC_MESSAGES/messages.mo
RENAMED
|
File without changes
|
{tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/translations/ja/LC_MESSAGES/messages.po
RENAMED
|
File without changes
|
{tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/translations/zh/LC_MESSAGES/messages.mo
RENAMED
|
File without changes
|
{tina4_python-3.10.5 → tina4_python-3.10.7}/tina4_python/translations/zh/LC_MESSAGES/messages.po
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|