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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tamar-file-hub-client
3
- Version: 0.1.4
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} 的下载URL: {url_info.url}")
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=UeQ8u-olMiYwScXJrlzqPS-odGomH-h3xJqOwPznRUo,22071
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=RbyXc10c_XKPrZyz6Ruo2wbklc-MDUg6FY-IEXxgx7w,14770
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=P4ZtnvACPSGfSxAnr8pVQ7DaHjpmCA-LysS9X0LmX4c,6897
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=IOR50AJ2Q8F9d7O6jvKSkzfFVdg0CppZQ8rJWfHDyvE,6821
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=1gIvQz6ORIGmhBgDY2D3aHuZkftZKdRFPQ3LFMiogU0,35382
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=mCre0YVsWu143K2CurK648OZnM9Hy19FQcVsiYkoCJw,35029
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=IxcvWkA0G9s9BMiXIeFAdJX5G-Lc5-JFlS2yxOX1Swo,11741
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.4.dist-info/METADATA,sha256=hsBL8px3zXCoOm5qZVw_weT7uT-6Z8wiXHU3k6asZn0,76776
56
- tamar_file_hub_client-0.1.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
57
- tamar_file_hub_client-0.1.4.dist-info/top_level.txt,sha256=9wcR7hyAJQdJg_kuH6WR3nmpJ8O-j8aJNK8f_kcFy6U,16
58
- tamar_file_hub_client-0.1.4.dist-info/RECORD,,
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,,