tamar-file-hub-client 0.1.4__py3-none-any.whl → 0.1.5__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.
- file_hub_client/rpc/gen/file_service_pb2.py +30 -30
- file_hub_client/rpc/interceptors.py +578 -580
- file_hub_client/rpc/protos/file_service.proto +2 -1
- file_hub_client/schemas/file.py +171 -170
- file_hub_client/services/file/async_blob_service.py +1 -0
- file_hub_client/services/file/sync_blob_service.py +1 -0
- file_hub_client/utils/logging.py +335 -318
- {tamar_file_hub_client-0.1.4.dist-info → tamar_file_hub_client-0.1.5.dist-info}/METADATA +17 -2
- {tamar_file_hub_client-0.1.4.dist-info → tamar_file_hub_client-0.1.5.dist-info}/RECORD +11 -11
- {tamar_file_hub_client-0.1.4.dist-info → tamar_file_hub_client-0.1.5.dist-info}/WHEEL +0 -0
- {tamar_file_hub_client-0.1.4.dist-info → tamar_file_hub_client-0.1.5.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: tamar-file-hub-client
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.5
|
4
4
|
Summary: A Python SDK for gRPC-based file management system
|
5
5
|
Home-page: https://github.com/Tamar-Edge-AI/file-hub-client
|
6
6
|
Author: Oscar Ou
|
@@ -743,7 +743,14 @@ async with AsyncTamarFileHubClient() as client:
|
|
743
743
|
if url_info.error:
|
744
744
|
print(f"文件 {url_info.file_id} 生成URL失败: {url_info.error}")
|
745
745
|
else:
|
746
|
-
print(f"文件 {url_info.file_id}
|
746
|
+
print(f"文件 {url_info.file_id}:")
|
747
|
+
print(f" 下载URL: {url_info.url}")
|
748
|
+
print(f" MIME类型: {url_info.mime_type}")
|
749
|
+
# 根据MIME类型处理文件
|
750
|
+
if url_info.mime_type.startswith('image/'):
|
751
|
+
print(f" 这是一个图片文件")
|
752
|
+
elif url_info.mime_type == 'application/pdf':
|
753
|
+
print(f" 这是一个PDF文件")
|
747
754
|
```
|
748
755
|
|
749
756
|
同步客户端示例:
|
@@ -760,6 +767,12 @@ with TamarFileHubClient() as client:
|
|
760
767
|
)
|
761
768
|
```
|
762
769
|
|
770
|
+
**注意**:`batch_generate_download_url` 方法返回一个 `BatchDownloadUrlResponse` 对象,其中 `download_urls` 字段包含 `DownloadUrlInfo` 对象列表,每个对象包含:
|
771
|
+
- `file_id`: 文件ID
|
772
|
+
- `url`: 下载URL(如果成功生成)
|
773
|
+
- `mime_type`: 文件的MIME类型,便于正确处理文件内容
|
774
|
+
- `error`: 错误信息(如果生成失败)
|
775
|
+
|
763
776
|
##### 获取GCS URL
|
764
777
|
|
765
778
|
对于需要直接访问Google Cloud Storage的场景,可以获取文件的GCS URL和MIME类型信息:
|
@@ -2338,6 +2351,8 @@ MIT License
|
|
2338
2351
|
### v0.0.5 (2025-01)
|
2339
2352
|
- 新增批量下载URL生成接口 (batch_generate_download_url)
|
2340
2353
|
- 新增GCS URL获取接口 (get_gcs_url, batch_get_gcs_url)
|
2354
|
+
- **重要更新**: 批量下载URL接口 (BatchGenerateDownloadUrl) 现在返回MIME类型信息
|
2355
|
+
- **重要更新**: DownloadUrlInfo 结构新增 mime_type 字段,便于文件类型识别
|
2341
2356
|
- GCS URL接口返回MIME类型信息,便于文件类型识别
|
2342
2357
|
- 新增 keep_original_filename 参数支持保留原始文件名
|
2343
2358
|
- 更新相关文档和测试用例
|
@@ -10,29 +10,29 @@ file_hub_client/errors/exceptions.py,sha256=0RDkAv4t2GeVefm1H5eaXGxd6Od-drXzPIVJ
|
|
10
10
|
file_hub_client/rpc/__init__.py,sha256=dhRt0D_US3j2Dam47nhd23RowVZ-nvVowhPsNFf4GZo,204
|
11
11
|
file_hub_client/rpc/async_client.py,sha256=qWrqRA3UhsKgCjM5G-jncnN2Xgu8-XqMFI2i5nBRSSs,15348
|
12
12
|
file_hub_client/rpc/generate_grpc.py,sha256=opzstxWdW7vqR9OxrgUCSUkZe8IqgcOdruqWGIzCneI,2158
|
13
|
-
file_hub_client/rpc/interceptors.py,sha256=
|
13
|
+
file_hub_client/rpc/interceptors.py,sha256=cFLKziOZMO5oKZfElLXctLKo08BJCFHFiuCrvtYSGaw,21627
|
14
14
|
file_hub_client/rpc/sync_client.py,sha256=iaow1Lpi0moq9kwlUVNP0p4ucgHKCP8y5cvmP32dkQU,15364
|
15
15
|
file_hub_client/rpc/gen/__init__.py,sha256=NJLqr9ezUXeOyy1J0sMPn3Kl_8IyGw7GAzzzewO3MIw,45
|
16
|
-
file_hub_client/rpc/gen/file_service_pb2.py,sha256=
|
16
|
+
file_hub_client/rpc/gen/file_service_pb2.py,sha256=WQzve9AfDRJy0xJ-hIUX3A0xyL5h9fpyRVemLkP4SPA,14807
|
17
17
|
file_hub_client/rpc/gen/file_service_pb2_grpc.py,sha256=a5tjnCqO_ZVBBQK5COUgZ_Eb7hlv81yseg-8goOROls,33372
|
18
18
|
file_hub_client/rpc/gen/folder_service_pb2.py,sha256=OPNYHThmL1k2KH1ll2L_Gj76oWBWqcymXKHu8mk1Zvk,4126
|
19
19
|
file_hub_client/rpc/gen/folder_service_pb2_grpc.py,sha256=pOHFsVThdAu5DAKd8QK3_zQvUmFgGlh4KBqIYnYDZ_U,10411
|
20
20
|
file_hub_client/rpc/gen/taple_service_pb2.py,sha256=8BJCFRFJ_khl_Uaw-5jWCabljWJo6zaqOYWe1368xEw,48254
|
21
21
|
file_hub_client/rpc/gen/taple_service_pb2_grpc.py,sha256=DCL-45PlEZ0guLz1u2fFH_sDIT_awuSvp9Ak6fa2GO8,64773
|
22
|
-
file_hub_client/rpc/protos/file_service.proto,sha256=
|
22
|
+
file_hub_client/rpc/protos/file_service.proto,sha256=KuayH0TNEJENI77LG6VUyUHPpFZuKJ1I5ljvoJyRIHo,6924
|
23
23
|
file_hub_client/rpc/protos/folder_service.proto,sha256=cgIbJT2slXMMRGrtrzN3kjae9-4CB1zXCmceiUgE6fI,1542
|
24
24
|
file_hub_client/rpc/protos/taple_service.proto,sha256=0mwhyBwD3yvFhMiiSA6J3Ni6pyHc369iD4oDXXl7DIU,29765
|
25
25
|
file_hub_client/schemas/__init__.py,sha256=oaXrODfBI-Oe-MyAyL6bKDZ1mPRC_IyMmxzGic4BbEU,2692
|
26
26
|
file_hub_client/schemas/context.py,sha256=E4TKqUJBaq9s31cGIRsztS-mQBUYAKyyLK8knVgWNb8,5805
|
27
|
-
file_hub_client/schemas/file.py,sha256=
|
27
|
+
file_hub_client/schemas/file.py,sha256=KaF7XaZLkIlomEPaC1G9Qsbzen6VfChwVrXFRydWowA,6709
|
28
28
|
file_hub_client/schemas/folder.py,sha256=D7UFsLCou-7CCXCQvuRObaBQEGmETsm1cgGOG1ceSrk,1026
|
29
29
|
file_hub_client/schemas/taple.py,sha256=LYsECsDbcioPXcvjRBcCEbh083iEB-eFCapJrGMJ8w0,17790
|
30
30
|
file_hub_client/services/__init__.py,sha256=yh5mir0dKB_LtJMk2hTpQI9WSlguaxtVD2KomMnzxdM,514
|
31
31
|
file_hub_client/services/file/__init__.py,sha256=aJygo_AzYk5NN-ezp-a9YlugJ82wVIP9e5e54fl0UsI,342
|
32
|
-
file_hub_client/services/file/async_blob_service.py,sha256=
|
32
|
+
file_hub_client/services/file/async_blob_service.py,sha256=AmiPstmjW3L42Qfsx_5Pp4zM8WCTCRqV-oTHlecTDb8,35428
|
33
33
|
file_hub_client/services/file/async_file_service.py,sha256=lFMfnHKsbTIOpMAdFvER4B2JqVGz9SNzgxlmA1kY3Js,17197
|
34
34
|
file_hub_client/services/file/base_file_service.py,sha256=wTxplrTk9klfwIHOPfTL0TQd6gX4nEmkYtIhpiZ3GVo,4791
|
35
|
-
file_hub_client/services/file/sync_blob_service.py,sha256=
|
35
|
+
file_hub_client/services/file/sync_blob_service.py,sha256=qkVB9itCzpyCSDP-2uZ6TBI-ugDhhrWni2n3UR39q8M,35075
|
36
36
|
file_hub_client/services/file/sync_file_service.py,sha256=3VEgFiWYfoWD4iZObJ8uylUtNmK08snXWUaVEosUPDo,16979
|
37
37
|
file_hub_client/services/folder/__init__.py,sha256=vGbMOlNiEBdnWZB1xE74RJtoroI28hKHCWfQV1GqKQc,210
|
38
38
|
file_hub_client/services/folder/async_folder_service.py,sha256=uFEmtW8EXYvaKYT2JCitWbdTGR1EtHlx_eBN5P3JUZg,7293
|
@@ -48,11 +48,11 @@ file_hub_client/utils/download_helper.py,sha256=Mc8TQSWjHxIglJMkKlGy9r3LZe8e_Mwe
|
|
48
48
|
file_hub_client/utils/file_utils.py,sha256=x4Oky_ZpmZ3TuLB7SjmCuzYiSqOyCuAMLe_2A6OjdFg,5537
|
49
49
|
file_hub_client/utils/idempotency.py,sha256=zuXDlpAc9VTkTsarlnkO0VuJ77yON6j1TX0GvL9Xd9k,6029
|
50
50
|
file_hub_client/utils/ip_detector.py,sha256=S1pHn5CSdLLOrIeIxU_qI7zA7bRW6pUOXVIbRuGHunc,6184
|
51
|
-
file_hub_client/utils/logging.py,sha256=
|
51
|
+
file_hub_client/utils/logging.py,sha256=CZi-YUxQS5ss79pTdqMO_QFZCU3PxGEB6LKoJu21a0Q,12457
|
52
52
|
file_hub_client/utils/retry.py,sha256=A2MBdJCEY-Ks0guq8dd5wXX22sD27N30Qy3nQIW1B_s,18019
|
53
53
|
file_hub_client/utils/smart_retry.py,sha256=RjBhyG6SNDfMXxNxKU_qayWDD6Ihp7ow6_BPjhgflM0,16465
|
54
54
|
file_hub_client/utils/upload_helper.py,sha256=gEtn9OXVJiGUpVev_fqrDnRQ6AFiiP9goLzFrVpqXmU,22569
|
55
|
-
tamar_file_hub_client-0.1.
|
56
|
-
tamar_file_hub_client-0.1.
|
57
|
-
tamar_file_hub_client-0.1.
|
58
|
-
tamar_file_hub_client-0.1.
|
55
|
+
tamar_file_hub_client-0.1.5.dist-info/METADATA,sha256=BEVTxshG7pnF1fzW7aBLt-cm-7szvrjI302TXKF9xkA,77692
|
56
|
+
tamar_file_hub_client-0.1.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
57
|
+
tamar_file_hub_client-0.1.5.dist-info/top_level.txt,sha256=9wcR7hyAJQdJg_kuH6WR3nmpJ8O-j8aJNK8f_kcFy6U,16
|
58
|
+
tamar_file_hub_client-0.1.5.dist-info/RECORD,,
|
File without changes
|
{tamar_file_hub_client-0.1.4.dist-info → tamar_file_hub_client-0.1.5.dist-info}/top_level.txt
RENAMED
File without changes
|