tccli 3.0.1257.1__py2.py3-none-any.whl → 3.0.1259.1__py2.py3-none-any.whl
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.
- tccli/__init__.py +1 -1
- tccli/services/__init__.py +3 -0
- tccli/services/asr/v20190614/api.json +1 -1
- tccli/services/bi/v20220105/api.json +228 -225
- tccli/services/bi/v20220105/examples.json +22 -28
- tccli/services/ccc/ccc_client.py +61 -8
- tccli/services/ccc/v20200210/api.json +233 -1
- tccli/services/ccc/v20200210/examples.json +8 -0
- tccli/services/cdwdoris/v20211228/api.json +6 -6
- tccli/services/cdwdoris/v20211228/examples.json +2 -2
- tccli/services/cmq/v20190304/api.json +59 -59
- tccli/services/cmq/v20190304/examples.json +3 -3
- tccli/services/dbbrain/v20210527/api.json +9 -0
- tccli/services/dnspod/v20210323/examples.json +1 -1
- tccli/services/essbasic/essbasic_client.py +53 -0
- tccli/services/essbasic/v20210526/api.json +118 -0
- tccli/services/essbasic/v20210526/examples.json +8 -0
- tccli/services/faceid/v20180301/api.json +1 -1
- tccli/services/ocr/ocr_client.py +167 -61
- tccli/services/ocr/v20181119/api.json +409 -120
- tccli/services/ocr/v20181119/examples.json +21 -5
- tccli/services/rum/v20210622/api.json +56 -56
- tccli/services/rum/v20210622/examples.json +20 -20
- tccli/services/ses/v20201002/api.json +189 -115
- tccli/services/ses/v20201002/examples.json +8 -8
- tccli/services/ssl/ssl_client.py +61 -8
- tccli/services/ssl/v20191205/api.json +44 -0
- tccli/services/ssl/v20191205/examples.json +8 -0
- tccli/services/tccatalog/__init__.py +4 -0
- tccli/services/tccatalog/tccatalog_client.py +366 -0
- tccli/services/tccatalog/v20241024/api.json +525 -0
- tccli/services/tccatalog/v20241024/examples.json +37 -0
- tccli/services/trtc/v20190722/api.json +4 -4
- {tccli-3.0.1257.1.dist-info → tccli-3.0.1259.1.dist-info}/METADATA +2 -2
- {tccli-3.0.1257.1.dist-info → tccli-3.0.1259.1.dist-info}/RECORD +38 -34
- {tccli-3.0.1257.1.dist-info → tccli-3.0.1259.1.dist-info}/WHEEL +0 -0
- {tccli-3.0.1257.1.dist-info → tccli-3.0.1259.1.dist-info}/entry_points.txt +0 -0
- {tccli-3.0.1257.1.dist-info → tccli-3.0.1259.1.dist-info}/license_files/LICENSE +0 -0
@@ -3607,6 +3607,58 @@ def doCreateFlowBlockchainEvidenceUrl(args, parsed_globals):
|
|
3607
3607
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
3608
3608
|
|
3609
3609
|
|
3610
|
+
def doCreateBatchOrganizationAuthorizationUrl(args, parsed_globals):
|
3611
|
+
g_param = parse_global_arg(parsed_globals)
|
3612
|
+
|
3613
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
3614
|
+
cred = credential.CVMRoleCredential()
|
3615
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
3616
|
+
cred = credential.STSAssumeRoleCredential(
|
3617
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
3618
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
3619
|
+
)
|
3620
|
+
elif os.getenv(OptionsDefine.ENV_TKE_REGION) and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
|
3621
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
3622
|
+
else:
|
3623
|
+
cred = credential.Credential(
|
3624
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
3625
|
+
)
|
3626
|
+
http_profile = HttpProfile(
|
3627
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
3628
|
+
reqMethod="POST",
|
3629
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
3630
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
3631
|
+
)
|
3632
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
3633
|
+
if g_param[OptionsDefine.Language]:
|
3634
|
+
profile.language = g_param[OptionsDefine.Language]
|
3635
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
3636
|
+
client = mod.EssbasicClient(cred, g_param[OptionsDefine.Region], profile)
|
3637
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
3638
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
3639
|
+
model = models.CreateBatchOrganizationAuthorizationUrlRequest()
|
3640
|
+
model.from_json_string(json.dumps(args))
|
3641
|
+
start_time = time.time()
|
3642
|
+
while True:
|
3643
|
+
rsp = client.CreateBatchOrganizationAuthorizationUrl(model)
|
3644
|
+
result = rsp.to_json_string()
|
3645
|
+
try:
|
3646
|
+
json_obj = json.loads(result)
|
3647
|
+
except TypeError as e:
|
3648
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
3649
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
3650
|
+
break
|
3651
|
+
cur_time = time.time()
|
3652
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
3653
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
3654
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
3655
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
3656
|
+
else:
|
3657
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
3658
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
3659
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
3660
|
+
|
3661
|
+
|
3610
3662
|
def doChannelCreateBatchQuickSignUrl(args, parsed_globals):
|
3611
3663
|
g_param = parse_global_arg(parsed_globals)
|
3612
3664
|
|
@@ -7225,6 +7277,7 @@ ACTION_MAP = {
|
|
7225
7277
|
"SendSignInnerVerifyCode": doSendSignInnerVerifyCode,
|
7226
7278
|
"DescribeFlowFiles": doDescribeFlowFiles,
|
7227
7279
|
"CreateFlowBlockchainEvidenceUrl": doCreateFlowBlockchainEvidenceUrl,
|
7280
|
+
"CreateBatchOrganizationAuthorizationUrl": doCreateBatchOrganizationAuthorizationUrl,
|
7228
7281
|
"ChannelCreateBatchQuickSignUrl": doChannelCreateBatchQuickSignUrl,
|
7229
7282
|
"ChannelDisableUserAutoSign": doChannelDisableUserAutoSign,
|
7230
7283
|
"CreateBatchOrganizationRegistrationTasks": doCreateBatchOrganizationRegistrationTasks,
|
@@ -343,6 +343,13 @@
|
|
343
343
|
"output": "CreateBatchInitOrganizationUrlResponse",
|
344
344
|
"status": "online"
|
345
345
|
},
|
346
|
+
"CreateBatchOrganizationAuthorizationUrl": {
|
347
|
+
"document": "此接口用于获取企业批量认证链接-单链接包含多条认证流。\n\n前提条件:已调用 [CreateBatchOrganizationRegistrationTasks创建子企业批量认证链接任务接口](https://qian.tencent.com/developers/partnerApis/accounts/CreateBatchOrganizationRegistrationTasks) 和[查询子企业批量认证链接DescribeBatchOrganizationRegistrationUrls](https://qian.tencent.com/developers/partnerApis/accounts/DescribeBatchOrganizationRegistrationUrls) 确保认证任务已经完成。\n\n异步任务的处理完成时间视当前已提交的任务量、任务的复杂程度等因素决定,正常情况下 3~5 秒即可完成,但也可能需要更长的时间。\n此链接包含多条认证流程,使用该链接可以批量的对企业进行认证。",
|
348
|
+
"input": "CreateBatchOrganizationAuthorizationUrlRequest",
|
349
|
+
"name": "创建企业批量认证链接-单链接",
|
350
|
+
"output": "CreateBatchOrganizationAuthorizationUrlResponse",
|
351
|
+
"status": "online"
|
352
|
+
},
|
346
353
|
"CreateBatchOrganizationRegistrationTasks": {
|
347
354
|
"document": "该接口用于批量创建企业认证链接, 可以支持PC浏览器,H5和小程序三种途径。\n此接口为异步提交任务接口,需要与[查询子企业批量认证链接](https://qcloudimg.tencent-cloud.cn/raw/1d3737991b2a3be78002bd78a47d6917.png)配合使用,整体流程如下图。\n\n\n\n\n**注意**\n\n1. 单次最多创建10个子企业。\n2. 一天内,同一家企业最多创建8000个子企业。\n3. 同一批创建的子客户不能重复,包括企业名称、企业统一信用代码和子客户经办人openId。\n4. 跳转到小程序的实现,请参考微信官方文档(分为<a href=\"https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.navigateToMiniProgram.html\">全屏</a>、<a href=\"https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/openEmbeddedMiniProgram.html\">半屏</a>两种方式)。如何配置跳转电子签小程序,可参考:<a href=\"https://qian.tencent.com/developers/company/openwxminiprogram\">跳转电子签小程序配置</a>。\n\n\n\n**腾讯电子签小程序的AppID 和 原始Id如下:**\n\n| 小程序 | AppID | 原始ID |\n| ------------ | ------------ | ------------ |\n| 腾讯电子签(正式版) | wxa023b292fd19d41d | gh_da88f6188665 |\n| 腾讯电子签Demo | wx371151823f6f3edf | gh_39a5d3de69fa |",
|
348
355
|
"input": "CreateBatchOrganizationRegistrationTasksRequest",
|
@@ -6377,6 +6384,117 @@
|
|
6377
6384
|
],
|
6378
6385
|
"type": "object"
|
6379
6386
|
},
|
6387
|
+
"CreateBatchOrganizationAuthorizationUrlRequest": {
|
6388
|
+
"document": "CreateBatchOrganizationAuthorizationUrl请求参数结构体",
|
6389
|
+
"members": [
|
6390
|
+
{
|
6391
|
+
"disabled": false,
|
6392
|
+
"document": "应用相关信息。 此接口Agent.AppId 必填。",
|
6393
|
+
"example": "无",
|
6394
|
+
"member": "Agent",
|
6395
|
+
"name": "Agent",
|
6396
|
+
"required": true,
|
6397
|
+
"type": "object"
|
6398
|
+
},
|
6399
|
+
{
|
6400
|
+
"disabled": false,
|
6401
|
+
"document": "组织机构超管姓名。 在注册流程中,必须是超管本人进行操作。此参数需要跟[创建子企业批量认证链接](https://qian.tencent.com/developers/partnerApis/accounts/CreateBatchOrganizationRegistrationTasks)中 AdminName 保持一致。",
|
6402
|
+
"example": "典子谦",
|
6403
|
+
"member": "string",
|
6404
|
+
"name": "AdminName",
|
6405
|
+
"required": false,
|
6406
|
+
"type": "string"
|
6407
|
+
},
|
6408
|
+
{
|
6409
|
+
"disabled": false,
|
6410
|
+
"document": "组织机构超管手机号。 在注册流程中,必须是超管本人进行操作。此参数需要跟[创建子企业批量认证链接](https://qian.tencent.com/developers/partnerApis/accounts/CreateBatchOrganizationRegistrationTasks)中 Admin Mobile保持一致。",
|
6411
|
+
"example": "13200000000",
|
6412
|
+
"member": "string",
|
6413
|
+
"name": "AdminMobile",
|
6414
|
+
"required": false,
|
6415
|
+
"type": "string"
|
6416
|
+
},
|
6417
|
+
{
|
6418
|
+
"disabled": false,
|
6419
|
+
"document": "企业批量认证链接的子任务 SubTaskId,该 SubTaskId 是通过接口 查询企业批量认证链接 DescribeBatchOrganizationRegistrationUrls 获得。此参数需与超管个人三要素(AdminName,AdminMobile,AdminIdCardNumber)配合使用。若 SubTaskId 不属于传入的超级管理员,将进行筛选。",
|
6420
|
+
"example": "[\"yDRS4UUgygqdcj56UuO4zjExBQcOiB68\",\"yDRS4UUgygqdcj5pUuO4zjEu602GFIe6\"]",
|
6421
|
+
"member": "string",
|
6422
|
+
"name": "SubTaskIds",
|
6423
|
+
"required": false,
|
6424
|
+
"type": "list"
|
6425
|
+
},
|
6426
|
+
{
|
6427
|
+
"disabled": false,
|
6428
|
+
"document": "组织机构超管证件类型支持以下类型\n- ID_CARD : 居民身份证 (默认值)\n- HONGKONG_AND_MACAO : 港澳居民来往内地通行证\n- HONGKONG_MACAO_AND_TAIWAN : 港澳台居民居住证(格式同居民身份证)\n此参数需要跟[创建子企业批量认证链接](https://qian.tencent.com/developers/partnerApis/accounts/CreateBatchOrganizationRegistrationTasks)中 AdminIdCardType保持一致。",
|
6429
|
+
"example": "ID_CARD",
|
6430
|
+
"member": "string",
|
6431
|
+
"name": "AdminIdCardType",
|
6432
|
+
"required": false,
|
6433
|
+
"type": "string"
|
6434
|
+
},
|
6435
|
+
{
|
6436
|
+
"disabled": false,
|
6437
|
+
"document": "组织机构超管证件号。 在注册流程中,必须是超管本人进行操作。此参数需要跟[创建子企业批量认证链接](https://qian.tencent.com/developers/partnerApis/accounts/CreateBatchOrganizationRegistrationTasks)中 AdminIdCardNumber保持一致。",
|
6438
|
+
"example": "620000198802020000",
|
6439
|
+
"member": "string",
|
6440
|
+
"name": "AdminIdCardNumber",
|
6441
|
+
"required": false,
|
6442
|
+
"type": "string"
|
6443
|
+
},
|
6444
|
+
{
|
6445
|
+
"disabled": false,
|
6446
|
+
"document": "要跳转的链接类型<ul><li> **HTTP**:跳转电子签小程序的http_url, 短信通知或者H5跳转适合此类型 ,此时返回长链 (默认类型)</li><li>**HTTP_SHORT_URL**:跳转电子签小程序的http_url, 短信通知或者H5跳转适合此类型,此时返回短链</li><li>**APP**: 第三方APP或小程序跳转电子签小程序的path, APP或者小程序跳转适合此类型</li><li>**QR_CODE**: 跳转电子签小程序的http_url的二维码形式, 可以在页面展示适合此类型</li></ul>",
|
6447
|
+
"example": "HTTP",
|
6448
|
+
"member": "string",
|
6449
|
+
"name": "Endpoint",
|
6450
|
+
"required": false,
|
6451
|
+
"type": "string"
|
6452
|
+
}
|
6453
|
+
],
|
6454
|
+
"type": "object"
|
6455
|
+
},
|
6456
|
+
"CreateBatchOrganizationAuthorizationUrlResponse": {
|
6457
|
+
"document": "CreateBatchOrganizationAuthorizationUrl返回参数结构体",
|
6458
|
+
"members": [
|
6459
|
+
{
|
6460
|
+
"disabled": false,
|
6461
|
+
"document": "批量企业注册链接-单链接包含多条认证流,根据Endpoint的不同设置,返回不同的链接地址。失效时间:7天跳转链接, 链接的有效期根据企业,员工状态和终端等有区别, 可以参考下表<table> <thead> <tr> <th>Endpoint</th> <th>示例</th> <th>链接有效期限</th> </tr> </thead> <tbody> <tr> <td>HTTP</td> <td>https://res.ess.tencent.cn/cdn/h5-activity-dev/jump-mp.html?to=AUTHORIZATION_ENTERPRISE_FOR_BATCH_SUBMIT&shortKey=yDCHHURDfBxSB2rj2Bfa</td> <td>7天</td> </tr> <tr> <td>HTTP_SHORT_URL</td> <td>https://test.essurl.cn/8gDKUBAWK8</td> <td>7天</td> </tr> <tr> <td>APP</td> <td>pages/guide/index?to=AUTHORIZATION_ENTERPRISE_FOR_BATCH_SUBMIT&shortKey=yDCHpURDfR6iEkdpsDde</td> <td>7天</td> </tr><tr> <td>QR_CODE</td> <td>https://dyn.test.ess.tencent.cn/imgs/qrcode_urls/authorization_enterprise_for_batch_submit/yDCHHUUckpbdauq9UEjnoFDCCumAMmv1.png</td> <td>7天</td> </tr> </tbody> </table>注: `1.创建的链接应避免被转义,如:&被转义为\\u0026;如使用Postman请求后,请选择响应类型为 JSON,否则链接将被转义`",
|
6462
|
+
"example": "https://res.ess.tencent.cn/cdn/h5-activity/jump-mp.html?to=AUTHORIZATION_ENTERPRISE_FOR_BATCH_SUBMIT&shortKey=yDCYwUBNmxArpbYpfCba",
|
6463
|
+
"member": "string",
|
6464
|
+
"name": "AuthUrl",
|
6465
|
+
"output_required": true,
|
6466
|
+
"type": "string",
|
6467
|
+
"value_allowed_null": false
|
6468
|
+
},
|
6469
|
+
{
|
6470
|
+
"disabled": false,
|
6471
|
+
"document": "认证流认证失败信息",
|
6472
|
+
"example": "无",
|
6473
|
+
"member": "string",
|
6474
|
+
"name": "ErrorMessages",
|
6475
|
+
"output_required": true,
|
6476
|
+
"type": "list",
|
6477
|
+
"value_allowed_null": false
|
6478
|
+
},
|
6479
|
+
{
|
6480
|
+
"disabled": false,
|
6481
|
+
"document": "链接过期时间,为 7 天后,创建时间,格式为Unix标准时间戳(秒)。",
|
6482
|
+
"example": "无",
|
6483
|
+
"member": "uint64",
|
6484
|
+
"name": "ExpireTime",
|
6485
|
+
"output_required": true,
|
6486
|
+
"type": "int",
|
6487
|
+
"value_allowed_null": false
|
6488
|
+
},
|
6489
|
+
{
|
6490
|
+
"document": "唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。",
|
6491
|
+
"member": "string",
|
6492
|
+
"name": "RequestId",
|
6493
|
+
"type": "string"
|
6494
|
+
}
|
6495
|
+
],
|
6496
|
+
"type": "object"
|
6497
|
+
},
|
6380
6498
|
"CreateBatchOrganizationRegistrationTasksRequest": {
|
6381
6499
|
"document": "CreateBatchOrganizationRegistrationTasks请求参数结构体",
|
6382
6500
|
"members": [
|
@@ -782,6 +782,14 @@
|
|
782
782
|
"title": "创建批量操作企业初始化链接"
|
783
783
|
}
|
784
784
|
],
|
785
|
+
"CreateBatchOrganizationAuthorizationUrl": [
|
786
|
+
{
|
787
|
+
"document": "根据批量注册企业子任务 Id 和超管的三要素生成批量认证链接。\n1. 批量注册企业子任务是由接口 [CreateBatchOrganizationRegistrationTasks创建企业批量认证链接任务接口](https://qian.tencent.com/developers/partnerApis/accounts/CreateBatchOrganizationRegistrationTasks) 生成的。\n2. 调用[查询企业批量认证链接DescribeBatchOrganizationRegistrationUrls](https://qian.tencent.com/developers/partnerApis/accounts/DescribeBatchOrganizationRegistrationUrls),获得子任务 TaskId。\n3. Endpoint 设置为长链接,会生成一条长链。",
|
788
|
+
"input": "POST / HTTP/1.1\nHost: essbasic.tencentcloudapi.com\nContent-Type: application/json\nX-TC-Action: CreateBatchOrganizationAuthorizationUrl\n<公共请求参数>\n\n{\n \"Agent\": {\n \"ProxyOperator\": {\n \"OpenId\": \"ceshi\"\n },\n \"ProxyOrganizationOpenId\": \"ceshi_org\",\n \"AppId\": \"60e16350b0361c888ecb30477d2c16e9\"\n },\n \"SubTaskIds\": [\n \"yDCHlUUckpaeefmfUxPr7deu6g5PvvJz\",\n \"yDCHlUUckpaeix9uU0ETNLSzHbAxJxLj\"\n ],\n \"AdminName\": \"典子谦\",\n \"AdminMobile\": \"13200000000\",\n \"AdminIdCardType\": \"ID_CARD\",\n \"AdminIdCardNumber\": \"620000198802020000\",\n \"Endpoint\": \"HTTP\"\n}",
|
789
|
+
"output": "{\n \"Response\": {\n \"AuthUrl\": \"https://res.ess.tencent.cn/cdn/h5-activity/jump-mp.html?to=AUTHORIZATION_ENTERPRISE_FOR_BATCH_SUBMIT&shortKey=yDCHHURDfCVEoeNYGCc6\",\n \"ErrorMessages\": [],\n \"ExpireTime\": 1724165376,\n \"RequestId\": \"s1723560576553977682\"\n }\n}",
|
790
|
+
"title": "根据批量注册企业子任务 Id 和超管的三要素生成批量认证链接"
|
791
|
+
}
|
792
|
+
],
|
785
793
|
"CreateBatchOrganizationRegistrationTasks": [
|
786
794
|
{
|
787
795
|
"document": "用户同时创建3个企业, 创建链接成功",
|
@@ -2395,7 +2395,7 @@
|
|
2395
2395
|
"members": [
|
2396
2396
|
{
|
2397
2397
|
"disabled": false,
|
2398
|
-
"document": "E证通流程的唯一标识,调用GetEidToken接口时生成。",
|
2398
|
+
"document": "E证通流程的唯一标识,调用[GetEidToken](https://cloud.tencent.com/document/product/1007/54089)接口时生成。",
|
2399
2399
|
"example": "CE661F1A-0F1E-45BD-BE133-34C05CEA76812",
|
2400
2400
|
"member": "string",
|
2401
2401
|
"name": "EidToken",
|
tccli/services/ocr/ocr_client.py
CHANGED
@@ -17,6 +17,58 @@ from tencentcloud.ocr.v20181119 import models as models_v20181119
|
|
17
17
|
from jmespath import search
|
18
18
|
import time
|
19
19
|
|
20
|
+
def doQuestionOCR(args, parsed_globals):
|
21
|
+
g_param = parse_global_arg(parsed_globals)
|
22
|
+
|
23
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
24
|
+
cred = credential.CVMRoleCredential()
|
25
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
26
|
+
cred = credential.STSAssumeRoleCredential(
|
27
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
28
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
29
|
+
)
|
30
|
+
elif os.getenv(OptionsDefine.ENV_TKE_REGION) and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
|
31
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
32
|
+
else:
|
33
|
+
cred = credential.Credential(
|
34
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
35
|
+
)
|
36
|
+
http_profile = HttpProfile(
|
37
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
38
|
+
reqMethod="POST",
|
39
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
40
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
41
|
+
)
|
42
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
43
|
+
if g_param[OptionsDefine.Language]:
|
44
|
+
profile.language = g_param[OptionsDefine.Language]
|
45
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
46
|
+
client = mod.OcrClient(cred, g_param[OptionsDefine.Region], profile)
|
47
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
48
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
49
|
+
model = models.QuestionOCRRequest()
|
50
|
+
model.from_json_string(json.dumps(args))
|
51
|
+
start_time = time.time()
|
52
|
+
while True:
|
53
|
+
rsp = client.QuestionOCR(model)
|
54
|
+
result = rsp.to_json_string()
|
55
|
+
try:
|
56
|
+
json_obj = json.loads(result)
|
57
|
+
except TypeError as e:
|
58
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
59
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
60
|
+
break
|
61
|
+
cur_time = time.time()
|
62
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
63
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
64
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
65
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
66
|
+
else:
|
67
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
68
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
69
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
70
|
+
|
71
|
+
|
20
72
|
def doTextDetect(args, parsed_globals):
|
21
73
|
g_param = parse_global_arg(parsed_globals)
|
22
74
|
|
@@ -537,7 +589,7 @@ def doInvoiceGeneralOCR(args, parsed_globals):
|
|
537
589
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
538
590
|
|
539
591
|
|
540
|
-
def
|
592
|
+
def doRideHailingTransportLicenseOCR(args, parsed_globals):
|
541
593
|
g_param = parse_global_arg(parsed_globals)
|
542
594
|
|
543
595
|
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
@@ -566,11 +618,11 @@ def doReconstructDocument(args, parsed_globals):
|
|
566
618
|
client = mod.OcrClient(cred, g_param[OptionsDefine.Region], profile)
|
567
619
|
client._sdkVersion += ("_CLI_" + __version__)
|
568
620
|
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
569
|
-
model = models.
|
621
|
+
model = models.RideHailingTransportLicenseOCRRequest()
|
570
622
|
model.from_json_string(json.dumps(args))
|
571
623
|
start_time = time.time()
|
572
624
|
while True:
|
573
|
-
rsp = client.
|
625
|
+
rsp = client.RideHailingTransportLicenseOCR(model)
|
574
626
|
result = rsp.to_json_string()
|
575
627
|
try:
|
576
628
|
json_obj = json.loads(result)
|
@@ -1577,58 +1629,6 @@ def doGetTaskState(args, parsed_globals):
|
|
1577
1629
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
1578
1630
|
|
1579
1631
|
|
1580
|
-
def doRecognizeGeneralCardWarn(args, parsed_globals):
|
1581
|
-
g_param = parse_global_arg(parsed_globals)
|
1582
|
-
|
1583
|
-
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
1584
|
-
cred = credential.CVMRoleCredential()
|
1585
|
-
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
1586
|
-
cred = credential.STSAssumeRoleCredential(
|
1587
|
-
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
1588
|
-
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
1589
|
-
)
|
1590
|
-
elif os.getenv(OptionsDefine.ENV_TKE_REGION) and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
|
1591
|
-
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
1592
|
-
else:
|
1593
|
-
cred = credential.Credential(
|
1594
|
-
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
1595
|
-
)
|
1596
|
-
http_profile = HttpProfile(
|
1597
|
-
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
1598
|
-
reqMethod="POST",
|
1599
|
-
endpoint=g_param[OptionsDefine.Endpoint],
|
1600
|
-
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
1601
|
-
)
|
1602
|
-
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
1603
|
-
if g_param[OptionsDefine.Language]:
|
1604
|
-
profile.language = g_param[OptionsDefine.Language]
|
1605
|
-
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
1606
|
-
client = mod.OcrClient(cred, g_param[OptionsDefine.Region], profile)
|
1607
|
-
client._sdkVersion += ("_CLI_" + __version__)
|
1608
|
-
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
1609
|
-
model = models.RecognizeGeneralCardWarnRequest()
|
1610
|
-
model.from_json_string(json.dumps(args))
|
1611
|
-
start_time = time.time()
|
1612
|
-
while True:
|
1613
|
-
rsp = client.RecognizeGeneralCardWarn(model)
|
1614
|
-
result = rsp.to_json_string()
|
1615
|
-
try:
|
1616
|
-
json_obj = json.loads(result)
|
1617
|
-
except TypeError as e:
|
1618
|
-
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
1619
|
-
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
1620
|
-
break
|
1621
|
-
cur_time = time.time()
|
1622
|
-
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
1623
|
-
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
1624
|
-
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
1625
|
-
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
1626
|
-
else:
|
1627
|
-
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
1628
|
-
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
1629
|
-
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
1630
|
-
|
1631
|
-
|
1632
1632
|
def doFlightInvoiceOCR(args, parsed_globals):
|
1633
1633
|
g_param = parse_global_arg(parsed_globals)
|
1634
1634
|
|
@@ -3085,6 +3085,58 @@ def doClassifyDetectOCR(args, parsed_globals):
|
|
3085
3085
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
3086
3086
|
|
3087
3087
|
|
3088
|
+
def doRecognizeFormulaOCR(args, parsed_globals):
|
3089
|
+
g_param = parse_global_arg(parsed_globals)
|
3090
|
+
|
3091
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
3092
|
+
cred = credential.CVMRoleCredential()
|
3093
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
3094
|
+
cred = credential.STSAssumeRoleCredential(
|
3095
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
3096
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
3097
|
+
)
|
3098
|
+
elif os.getenv(OptionsDefine.ENV_TKE_REGION) and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
|
3099
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
3100
|
+
else:
|
3101
|
+
cred = credential.Credential(
|
3102
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
3103
|
+
)
|
3104
|
+
http_profile = HttpProfile(
|
3105
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
3106
|
+
reqMethod="POST",
|
3107
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
3108
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
3109
|
+
)
|
3110
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
3111
|
+
if g_param[OptionsDefine.Language]:
|
3112
|
+
profile.language = g_param[OptionsDefine.Language]
|
3113
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
3114
|
+
client = mod.OcrClient(cred, g_param[OptionsDefine.Region], profile)
|
3115
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
3116
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
3117
|
+
model = models.RecognizeFormulaOCRRequest()
|
3118
|
+
model.from_json_string(json.dumps(args))
|
3119
|
+
start_time = time.time()
|
3120
|
+
while True:
|
3121
|
+
rsp = client.RecognizeFormulaOCR(model)
|
3122
|
+
result = rsp.to_json_string()
|
3123
|
+
try:
|
3124
|
+
json_obj = json.loads(result)
|
3125
|
+
except TypeError as e:
|
3126
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
3127
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
3128
|
+
break
|
3129
|
+
cur_time = time.time()
|
3130
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
3131
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
3132
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
3133
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
3134
|
+
else:
|
3135
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
3136
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
3137
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
3138
|
+
|
3139
|
+
|
3088
3140
|
def doSealOCR(args, parsed_globals):
|
3089
3141
|
g_param = parse_global_arg(parsed_globals)
|
3090
3142
|
|
@@ -3605,6 +3657,58 @@ def doImageEnhancement(args, parsed_globals):
|
|
3605
3657
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
3606
3658
|
|
3607
3659
|
|
3660
|
+
def doQuestionSplitOCR(args, parsed_globals):
|
3661
|
+
g_param = parse_global_arg(parsed_globals)
|
3662
|
+
|
3663
|
+
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
3664
|
+
cred = credential.CVMRoleCredential()
|
3665
|
+
elif g_param[OptionsDefine.RoleArn.replace('-', '_')] and g_param[OptionsDefine.RoleSessionName.replace('-', '_')]:
|
3666
|
+
cred = credential.STSAssumeRoleCredential(
|
3667
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.RoleArn.replace('-', '_')],
|
3668
|
+
g_param[OptionsDefine.RoleSessionName.replace('-', '_')], endpoint=g_param["sts_cred_endpoint"]
|
3669
|
+
)
|
3670
|
+
elif os.getenv(OptionsDefine.ENV_TKE_REGION) and os.getenv(OptionsDefine.ENV_TKE_PROVIDER_ID) and os.getenv(OptionsDefine.ENV_TKE_WEB_IDENTITY_TOKEN_FILE) and os.getenv(OptionsDefine.ENV_TKE_ROLE_ARN):
|
3671
|
+
cred = credential.DefaultTkeOIDCRoleArnProvider().get_credentials()
|
3672
|
+
else:
|
3673
|
+
cred = credential.Credential(
|
3674
|
+
g_param[OptionsDefine.SecretId], g_param[OptionsDefine.SecretKey], g_param[OptionsDefine.Token]
|
3675
|
+
)
|
3676
|
+
http_profile = HttpProfile(
|
3677
|
+
reqTimeout=60 if g_param[OptionsDefine.Timeout] is None else int(g_param[OptionsDefine.Timeout]),
|
3678
|
+
reqMethod="POST",
|
3679
|
+
endpoint=g_param[OptionsDefine.Endpoint],
|
3680
|
+
proxy=g_param[OptionsDefine.HttpsProxy.replace('-', '_')]
|
3681
|
+
)
|
3682
|
+
profile = ClientProfile(httpProfile=http_profile, signMethod="HmacSHA256")
|
3683
|
+
if g_param[OptionsDefine.Language]:
|
3684
|
+
profile.language = g_param[OptionsDefine.Language]
|
3685
|
+
mod = CLIENT_MAP[g_param[OptionsDefine.Version]]
|
3686
|
+
client = mod.OcrClient(cred, g_param[OptionsDefine.Region], profile)
|
3687
|
+
client._sdkVersion += ("_CLI_" + __version__)
|
3688
|
+
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
3689
|
+
model = models.QuestionSplitOCRRequest()
|
3690
|
+
model.from_json_string(json.dumps(args))
|
3691
|
+
start_time = time.time()
|
3692
|
+
while True:
|
3693
|
+
rsp = client.QuestionSplitOCR(model)
|
3694
|
+
result = rsp.to_json_string()
|
3695
|
+
try:
|
3696
|
+
json_obj = json.loads(result)
|
3697
|
+
except TypeError as e:
|
3698
|
+
json_obj = json.loads(result.decode('utf-8')) # python3.3
|
3699
|
+
if not g_param[OptionsDefine.Waiter] or search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj) == g_param['OptionsDefine.WaiterInfo']['to']:
|
3700
|
+
break
|
3701
|
+
cur_time = time.time()
|
3702
|
+
if cur_time - start_time >= g_param['OptionsDefine.WaiterInfo']['timeout']:
|
3703
|
+
raise ClientError('Request timeout, wait `%s` to `%s` timeout, last request is %s' %
|
3704
|
+
(g_param['OptionsDefine.WaiterInfo']['expr'], g_param['OptionsDefine.WaiterInfo']['to'],
|
3705
|
+
search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj)))
|
3706
|
+
else:
|
3707
|
+
print('Inquiry result is %s.' % search(g_param['OptionsDefine.WaiterInfo']['expr'], json_obj))
|
3708
|
+
time.sleep(g_param['OptionsDefine.WaiterInfo']['interval'])
|
3709
|
+
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
3710
|
+
|
3711
|
+
|
3608
3712
|
def doMLIDCardOCR(args, parsed_globals):
|
3609
3713
|
g_param = parse_global_arg(parsed_globals)
|
3610
3714
|
|
@@ -4437,7 +4541,7 @@ def doShipInvoiceOCR(args, parsed_globals):
|
|
4437
4541
|
FormatOutput.output("action", json_obj, g_param[OptionsDefine.Output], g_param[OptionsDefine.Filter])
|
4438
4542
|
|
4439
4543
|
|
4440
|
-
def
|
4544
|
+
def doReconstructDocument(args, parsed_globals):
|
4441
4545
|
g_param = parse_global_arg(parsed_globals)
|
4442
4546
|
|
4443
4547
|
if g_param[OptionsDefine.UseCVMRole.replace('-', '_')]:
|
@@ -4466,11 +4570,11 @@ def doRideHailingTransportLicenseOCR(args, parsed_globals):
|
|
4466
4570
|
client = mod.OcrClient(cred, g_param[OptionsDefine.Region], profile)
|
4467
4571
|
client._sdkVersion += ("_CLI_" + __version__)
|
4468
4572
|
models = MODELS_MAP[g_param[OptionsDefine.Version]]
|
4469
|
-
model = models.
|
4573
|
+
model = models.ReconstructDocumentRequest()
|
4470
4574
|
model.from_json_string(json.dumps(args))
|
4471
4575
|
start_time = time.time()
|
4472
4576
|
while True:
|
4473
|
-
rsp = client.
|
4577
|
+
rsp = client.ReconstructDocument(model)
|
4474
4578
|
result = rsp.to_json_string()
|
4475
4579
|
try:
|
4476
4580
|
json_obj = json.loads(result)
|
@@ -4500,6 +4604,7 @@ MODELS_MAP = {
|
|
4500
4604
|
}
|
4501
4605
|
|
4502
4606
|
ACTION_MAP = {
|
4607
|
+
"QuestionOCR": doQuestionOCR,
|
4503
4608
|
"TextDetect": doTextDetect,
|
4504
4609
|
"QrcodeOCR": doQrcodeOCR,
|
4505
4610
|
"GeneralAccurateOCR": doGeneralAccurateOCR,
|
@@ -4510,7 +4615,7 @@ ACTION_MAP = {
|
|
4510
4615
|
"TrainTicketOCR": doTrainTicketOCR,
|
4511
4616
|
"PropOwnerCertOCR": doPropOwnerCertOCR,
|
4512
4617
|
"InvoiceGeneralOCR": doInvoiceGeneralOCR,
|
4513
|
-
"
|
4618
|
+
"RideHailingTransportLicenseOCR": doRideHailingTransportLicenseOCR,
|
4514
4619
|
"HKIDCardOCR": doHKIDCardOCR,
|
4515
4620
|
"MixedInvoiceOCR": doMixedInvoiceOCR,
|
4516
4621
|
"PermitOCR": doPermitOCR,
|
@@ -4530,7 +4635,6 @@ ACTION_MAP = {
|
|
4530
4635
|
"VehicleLicenseOCR": doVehicleLicenseOCR,
|
4531
4636
|
"BizLicenseOCR": doBizLicenseOCR,
|
4532
4637
|
"GetTaskState": doGetTaskState,
|
4533
|
-
"RecognizeGeneralCardWarn": doRecognizeGeneralCardWarn,
|
4534
4638
|
"FlightInvoiceOCR": doFlightInvoiceOCR,
|
4535
4639
|
"RecognizeThaiIDCardOCR": doRecognizeThaiIDCardOCR,
|
4536
4640
|
"TableOCR": doTableOCR,
|
@@ -4559,6 +4663,7 @@ ACTION_MAP = {
|
|
4559
4663
|
"HmtResidentPermitOCR": doHmtResidentPermitOCR,
|
4560
4664
|
"TollInvoiceOCR": doTollInvoiceOCR,
|
4561
4665
|
"ClassifyDetectOCR": doClassifyDetectOCR,
|
4666
|
+
"RecognizeFormulaOCR": doRecognizeFormulaOCR,
|
4562
4667
|
"SealOCR": doSealOCR,
|
4563
4668
|
"BankSlipOCR": doBankSlipOCR,
|
4564
4669
|
"ResidenceBookletOCR": doResidenceBookletOCR,
|
@@ -4569,6 +4674,7 @@ ACTION_MAP = {
|
|
4569
4674
|
"SmartStructuralPro": doSmartStructuralPro,
|
4570
4675
|
"RecognizeHealthCodeOCR": doRecognizeHealthCodeOCR,
|
4571
4676
|
"ImageEnhancement": doImageEnhancement,
|
4677
|
+
"QuestionSplitOCR": doQuestionSplitOCR,
|
4572
4678
|
"MLIDCardOCR": doMLIDCardOCR,
|
4573
4679
|
"RecognizeMedicalInvoiceOCR": doRecognizeMedicalInvoiceOCR,
|
4574
4680
|
"GeneralFastOCR": doGeneralFastOCR,
|
@@ -4585,7 +4691,7 @@ ACTION_MAP = {
|
|
4585
4691
|
"FormulaOCR": doFormulaOCR,
|
4586
4692
|
"PassportOCR": doPassportOCR,
|
4587
4693
|
"ShipInvoiceOCR": doShipInvoiceOCR,
|
4588
|
-
"
|
4694
|
+
"ReconstructDocument": doReconstructDocument,
|
4589
4695
|
|
4590
4696
|
}
|
4591
4697
|
|