deepfos 1.1.49__tar.gz → 1.1.50__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.
- {deepfos-1.1.49 → deepfos-1.1.50}/CHANGELOG.md +6 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/PKG-INFO +1 -1
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/_version.py +3 -3
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/base.py +3 -3
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/db/edb.py +2 -3
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/element/deepmodel.py +1 -1
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/lib/serutils.py +17 -4
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/lib/utils.py +8 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/options.py +1 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos.egg-info/PKG-INFO +1 -1
- {deepfos-1.1.49 → deepfos-1.1.50}/.gitattributes +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/.gitee/ISSUE_GUIDELINES.md +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/.gitee/ISSUE_TEMPLATE.md +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/.gitignore +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/MANIFEST.in +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/README.md +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/__init__.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/algo/__init__.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/algo/graph.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/V1_1/__init__.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/V1_1/business_model.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/V1_1/dimension.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/V1_1/models/__init__.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/V1_1/models/business_model.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/V1_1/models/dimension.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/V1_2/__init__.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/V1_2/dimension.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/V1_2/models/__init__.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/V1_2/models/dimension.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/__init__.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/account.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/accounting_engines.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/app.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/approval_process.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/business_model.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/consolidation.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/consolidation_process.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/datatable.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/deepconnector.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/deepfos_task.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/deepmodel.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/dimension.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/financial_model.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/journal_model.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/journal_template.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/memory_financial_model.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/__init__.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/account.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/accounting_engines.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/app.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/approval_process.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/base.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/business_model.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/consolidation.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/consolidation_process.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/datatable_mysql.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/deepconnector.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/deepfos_task.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/deepmodel.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/dimension.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/financial_model.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/journal_model.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/journal_template.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/memory_financial_model.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/platform.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/python.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/reconciliation_engine.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/reconciliation_report.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/role_strategy.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/smartlist.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/space.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/system.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/variable.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/models/workflow.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/platform.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/python.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/reconciliation_engine.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/reconciliation_report.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/role_strategy.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/smartlist.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/space.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/system.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/variable.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/api/workflow.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/boost/__init__.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/boost/jstream.c +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/boost/jstream.pyx +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/boost/pandas.c +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/boost/pandas.pyx +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/boost/py_jstream.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/boost/py_pandas.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/cache.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/config.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/core/__init__.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/core/cube/__init__.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/core/cube/_base.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/core/cube/constants.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/core/cube/cube.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/core/cube/formula.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/core/cube/syscube.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/core/cube/typing.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/core/cube/utils.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/core/dimension/__init__.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/core/dimension/_base.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/core/dimension/dimcreator.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/core/dimension/dimension.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/core/dimension/dimexpr.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/core/dimension/dimmember.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/core/dimension/eledimension.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/core/dimension/filters.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/core/dimension/sysdimension.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/core/logictable/__init__.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/core/logictable/_cache.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/core/logictable/_operator.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/core/logictable/nodemixin.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/core/logictable/sqlcondition.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/core/logictable/tablemodel.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/db/__init__.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/db/cipher.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/db/clickhouse.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/db/connector.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/db/daclickhouse.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/db/dameng.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/db/damysql.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/db/dbkits.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/db/deepengine.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/db/deepmodel.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/db/deepmodel_kingbase.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/db/gauss.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/db/kingbase.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/db/mysql.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/db/oracle.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/db/postgresql.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/db/sqlserver.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/db/utils.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/element/__init__.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/element/accounting.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/element/apvlprocess.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/element/base.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/element/bizmodel.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/element/datatable.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/element/deepconnector.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/element/dimension.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/element/fact_table.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/element/finmodel.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/element/journal.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/element/journal_template.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/element/pyscript.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/element/reconciliation.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/element/rolestrategy.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/element/smartlist.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/element/variable.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/element/workflow.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/exceptions/__init__.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/exceptions/hook.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/lazy.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/lib/__init__.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/lib/_javaobj.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/lib/asynchronous.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/lib/concurrency.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/lib/constant.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/lib/decorator.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/lib/deepchart.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/lib/deepux.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/lib/discovery.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/lib/edb_lexer.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/lib/eureka.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/lib/filterparser.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/lib/httpcli.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/lib/jsonstreamer.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/lib/msg.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/lib/nacos.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/lib/patch.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/lib/redis.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/lib/stopwatch.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/lib/subtask.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/lib/sysutils.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/local.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos/translation.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos.egg-info/SOURCES.txt +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos.egg-info/dependency_links.txt +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos.egg-info/not-zip-safe +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos.egg-info/requires.txt +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/deepfos.egg-info/top_level.txt +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/requirements.txt +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/setup.cfg +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/setup.py +0 -0
- {deepfos-1.1.49 → deepfos-1.1.50}/versioneer.py +0 -0
|
@@ -8,11 +8,11 @@ import json
|
|
|
8
8
|
|
|
9
9
|
version_json = '''
|
|
10
10
|
{
|
|
11
|
-
"date": "2024-
|
|
11
|
+
"date": "2024-12-19T07:52:58+0000",
|
|
12
12
|
"dirty": false,
|
|
13
13
|
"error": null,
|
|
14
|
-
"full-revisionid": "
|
|
15
|
-
"version": "1.1.
|
|
14
|
+
"full-revisionid": "85140a17cfd13bd4a66f556235e5f74026002c38",
|
|
15
|
+
"version": "1.1.50"
|
|
16
16
|
}
|
|
17
17
|
''' # END VERSION_JSON
|
|
18
18
|
|
|
@@ -20,7 +20,7 @@ from loguru import logger
|
|
|
20
20
|
|
|
21
21
|
from deepfos.cache import Manager, AppSeperatedLRUCache
|
|
22
22
|
from deepfos.lib.httpcli import AioHttpCli
|
|
23
|
-
from deepfos.lib.utils import concat_url, retry, to_version_tuple, repr_version
|
|
23
|
+
from deepfos.lib.utils import concat_url, retry, to_version_tuple, repr_version, trim_text
|
|
24
24
|
from deepfos.lib.asynchronous import evloop
|
|
25
25
|
from deepfos.lib.discovery import ServiceDiscovery
|
|
26
26
|
from deepfos.lib.constant import UNSET, RE_SYS_SERVER_PARSER
|
|
@@ -453,7 +453,7 @@ class Route:
|
|
|
453
453
|
"Detail: {text}.",
|
|
454
454
|
url=lambda: req.url,
|
|
455
455
|
code=lambda: status_code,
|
|
456
|
-
text=lambda: text,
|
|
456
|
+
text=lambda: trim_text(text, OPTION.general.response_display_length_on_error),
|
|
457
457
|
)
|
|
458
458
|
flag, obj, err = False, None, f"[code: {status_code}] ErrMsg from server: {text}"
|
|
459
459
|
|
|
@@ -474,7 +474,7 @@ class Route:
|
|
|
474
474
|
"Call API: {url} failed. "
|
|
475
475
|
"Bad response because status is False. Detail: {text}.",
|
|
476
476
|
url=lambda: req.url,
|
|
477
|
-
text=lambda: text,
|
|
477
|
+
text=lambda: trim_text(text, OPTION.general.response_display_length_on_error),
|
|
478
478
|
)
|
|
479
479
|
flag, obj, err = False, resp.get('data'), resp.get('message', text)
|
|
480
480
|
err_code = resp.get('code')
|
|
@@ -19,9 +19,8 @@ __all__ = ['create_async_client']
|
|
|
19
19
|
def collect_output_frame(ele_desc: describe.AnyType):
|
|
20
20
|
if isinstance(ele_desc, describe.ObjectType):
|
|
21
21
|
return {
|
|
22
|
-
field: collect_output_frame(element.type)
|
|
22
|
+
(field, element.is_implicit == 0): collect_output_frame(element.type)
|
|
23
23
|
for field, element in ele_desc.elements.items()
|
|
24
|
-
if element.is_implicit == 0
|
|
25
24
|
}
|
|
26
25
|
if isinstance(ele_desc, describe.ArrayType):
|
|
27
26
|
return collect_output_frame(ele_desc.element_type)
|
|
@@ -108,7 +107,7 @@ class _AsyncEdgeDBConnection(AsyncIOConnection):
|
|
|
108
107
|
)
|
|
109
108
|
))
|
|
110
109
|
else:
|
|
111
|
-
frame_desc =
|
|
110
|
+
frame_desc = None
|
|
112
111
|
return frame_desc, result
|
|
113
112
|
except errors.EdgeDBError as e:
|
|
114
113
|
if query_context.retry_options is None:
|
|
@@ -985,7 +985,7 @@ class AsyncDeepModel(ElementBase[DeepModelAPI]):
|
|
|
985
985
|
frame_desc, data = await self.client.query(ql, **kwargs)
|
|
986
986
|
|
|
987
987
|
data = pd.DataFrame(data=serutils.serialize(
|
|
988
|
-
data, ctx=serutils.Context(frame_desc=frame_desc)
|
|
988
|
+
data, ctx=serutils.Context(frame_desc=frame_desc, query_df=True)
|
|
989
989
|
))
|
|
990
990
|
# Not records for dict-like
|
|
991
991
|
if not isinstance(frame_desc, dict):
|
|
@@ -15,6 +15,7 @@ from edgedb.datatypes import datatypes
|
|
|
15
15
|
@dataclass(frozen=True)
|
|
16
16
|
class Context:
|
|
17
17
|
frame_desc: Any = None
|
|
18
|
+
query_df: bool = False
|
|
18
19
|
|
|
19
20
|
|
|
20
21
|
@functools.singledispatch
|
|
@@ -124,18 +125,30 @@ def _object(o: edgedb.Object, ctx: Context = Context()):
|
|
|
124
125
|
ret = {}
|
|
125
126
|
|
|
126
127
|
if ctx.frame_desc is None:
|
|
127
|
-
|
|
128
|
+
if ctx.query_df:
|
|
129
|
+
attrs = dir(o)
|
|
130
|
+
else:
|
|
131
|
+
attrs = ignore_implicited_fields(o)
|
|
132
|
+
for attr in attrs:
|
|
128
133
|
try:
|
|
129
134
|
ret[attr] = serialize(o[attr])
|
|
130
135
|
except (KeyError, TypeError):
|
|
131
136
|
ret[attr] = serialize(getattr(o, attr))
|
|
132
137
|
return ret
|
|
133
138
|
|
|
134
|
-
|
|
139
|
+
ensure_one_field = ctx.query_df and len(ctx.frame_desc) == 1
|
|
140
|
+
for key, value in dict(ctx.frame_desc).items():
|
|
141
|
+
if isinstance(key, tuple):
|
|
142
|
+
# key: (field_name, not_implicit)
|
|
143
|
+
maybe_drop = ctx.frame_desc.pop(key)
|
|
144
|
+
if ensure_one_field or key[1]:
|
|
145
|
+
ctx.frame_desc[key[0]] = maybe_drop
|
|
146
|
+
|
|
147
|
+
for attr in ctx.frame_desc:
|
|
135
148
|
try:
|
|
136
|
-
ret[attr] = serialize(o[attr], Context(frame_desc=
|
|
149
|
+
ret[attr] = serialize(o[attr], Context(frame_desc=ctx.frame_desc[attr]))
|
|
137
150
|
except (KeyError, TypeError):
|
|
138
|
-
ret[attr] = serialize(getattr(o, attr), Context(frame_desc=
|
|
151
|
+
ret[attr] = serialize(getattr(o, attr), Context(frame_desc=ctx.frame_desc[attr]))
|
|
139
152
|
|
|
140
153
|
return ret
|
|
141
154
|
|
|
@@ -993,3 +993,11 @@ class AliasGenerator(SimpleCounter):
|
|
|
993
993
|
def get(self, hint: str = '') -> str:
|
|
994
994
|
idx = self.nextval(hint)
|
|
995
995
|
return f'{hint}{idx}'
|
|
996
|
+
|
|
997
|
+
|
|
998
|
+
def trim_text(content: str, limit: Union[int, None], appendor: str = '...') -> str:
|
|
999
|
+
limit = limit or 0
|
|
1000
|
+
if 0 < limit < len(content):
|
|
1001
|
+
return f"{content[:limit]} {appendor}"
|
|
1002
|
+
else:
|
|
1003
|
+
return content
|
|
@@ -425,6 +425,7 @@ class _General(_Category):
|
|
|
425
425
|
parallel_mode = _Option(False, val_type=bool)
|
|
426
426
|
socket_name = _Option(None, val_type=str)
|
|
427
427
|
preserve_concurrency = _Option(1, val_type=int)
|
|
428
|
+
response_display_length_on_error = _Option(20000, val_type=int)
|
|
428
429
|
|
|
429
430
|
def __get__(self, instance, owner) -> '_General':
|
|
430
431
|
"""defined to help ide"""
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|