hk-cdp 1.0.113__py3-none-any.whl → 1.0.120__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.

Potentially problematic release.


This version of hk-cdp might be problematic. Click here for more details.

@@ -33,7 +33,7 @@ class TiktokSpiHelper:
33
33
  # 创建排序后的字典
34
34
  sorted_dict = {key: json_params[key] for key in sorted_keys}
35
35
  # 将字典转换为没有空格的 JSON 字符串
36
- param_json = json.dumps(sorted_dict, separators=(',', ':'))
36
+ param_json = json.dumps(sorted_dict, ensure_ascii=False, separators=(',', ':'))
37
37
 
38
38
  check_sign = self.spi_sign(app_key, app_secret, timestamp, param_json, sign_method)
39
39
  if sign != check_sign:
@@ -44,7 +44,7 @@ class TiktokSpiHelper:
44
44
  except Exception as ex:
45
45
  print("check_sign:" + str(ex))
46
46
  return False
47
-
47
+
48
48
  @classmethod
49
49
  def spi_sign(self, app_key, app_secret, timestamp, param_json, sign_method):
50
50
  """
@@ -65,7 +65,7 @@ class TiktokSpiHelper:
65
65
  if sign_method == "hmac-sha256":
66
66
  return self.string_to_hmac(sign_pattern, app_secret)
67
67
  return self.string_to_md5(sign_pattern)
68
-
68
+
69
69
  @classmethod
70
70
  def string_to_md5(self, plain_text):
71
71
  try:
@@ -73,7 +73,7 @@ class TiktokSpiHelper:
73
73
  return md5code
74
74
  except Exception as e:
75
75
  print(str(e))
76
-
76
+
77
77
  @classmethod
78
78
  def string_to_hmac(self, plain_text, app_secret):
79
79
  try:
@@ -99,4 +99,3 @@ class TiktokSpiHelper:
99
99
  # """
100
100
  # sign_pattern = f"{method}?appId={app_key}&timestamp={timestamp}&version={version}{app_secret}"
101
101
  # return self.string_to_md5(sign_pattern)
102
-
@@ -2,7 +2,7 @@
2
2
  """
3
3
  @Author: HuangJianYi
4
4
  @Date: 2024-11-19 15:01:40
5
- @LastEditTime: 2025-01-10 17:29:51
5
+ @LastEditTime: 2025-08-22 17:32:54
6
6
  @LastEditors: HuangJianYi
7
7
  @Description:
8
8
  """
@@ -38,6 +38,7 @@ class StoreBase:
38
38
  self.plat_store_id = "" # 平台店铺标识
39
39
  self.init_integral_multiple = "" # 初始积分倍数
40
40
  self.init_growth_config = {} # 初始成长值配置
41
+ self.init_exclude_goods = {} # 初始排除商品
41
42
  self.incr_process_start_date = "1970-01-01 00:00:00.000" # 增量处理时间
42
43
  self.is_omid_merge = 0 # 是否走omid合并逻辑(1-是 0-否)
43
44
  self.create_date = "1970-01-01 00:00:00.000" # 创建时间
@@ -46,7 +47,7 @@ class StoreBase:
46
47
 
47
48
  @classmethod
48
49
  def get_field_list(self):
49
- return ['id', 'guid', 'business_id', 'scheme_id', 'platform_id', 'store_name', 'seller_nick', 'plat_store_id', 'init_integral_multiple', 'init_growth_config', 'incr_process_start_date', 'is_omid_merge', 'create_date', 'modify_date']
50
+ return ['id', 'guid', 'business_id', 'scheme_id', 'platform_id', 'store_name', 'seller_nick', 'plat_store_id', 'init_integral_multiple', 'init_growth_config', 'init_exclude_goods', 'incr_process_start_date', 'is_omid_merge', 'create_date', 'modify_date']
50
51
 
51
52
  @classmethod
52
53
  def get_primary_key(self):
@@ -1 +1 @@
1
- __all__ = ["sync_user_data_model"]
1
+ __all__ = ["sync_user_data_model", "sync_member_mobile_model"]
@@ -11,9 +11,9 @@ from seven_framework.mysql import MySQLHelper
11
11
  from seven_framework.base_model import *
12
12
  from seven_cloudapp_frame.models.cache_model import *
13
13
 
14
- class TradeMobileQueueModel(CacheModel):
14
+ class SyncMemberMobileModel(CacheModel):
15
15
  def __init__(self, db_connect_key='db_cloudapp', db_config_dict=None, sub_table=None, db_transaction=None, context=None, is_auto=False):
16
- super(TradeMobileQueueModel, self).__init__(TradeMobileQueue, sub_table)
16
+ super(SyncMemberMobileModel, self).__init__(SyncMemberMobile, sub_table)
17
17
  if not db_config_dict:
18
18
  db_config_dict = config.get_value(db_connect_key)
19
19
  self.db = MySQLHelper(self.convert_db_config(db_config_dict, is_auto))
@@ -24,9 +24,9 @@ class TradeMobileQueueModel(CacheModel):
24
24
  #方法扩展请继承此类
25
25
 
26
26
 
27
- class TradeMobileQueue:
27
+ class SyncMemberMobile:
28
28
  def __init__(self):
29
- super(TradeMobileQueue, self).__init__()
29
+ super(SyncMemberMobile, self).__init__()
30
30
  self.id = 0 # id
31
31
  self.user_id = "" # 客户ID
32
32
  self.ouid = "" # ouid
@@ -37,15 +37,16 @@ class TradeMobileQueue:
37
37
  self.order_create_date = '1970-01-01 00:00:00.000' # 订单创建时间
38
38
  self.sync_count = 0 # 同步次数
39
39
  self.sync_date = '1970-01-01 00:00:00.000' # 同步时间
40
+ self.create_date = '1970-01-01 00:00:00.000' # 创建时间
40
41
 
41
42
 
42
43
  @classmethod
43
44
  def get_field_list(self):
44
- return ['id', 'user_id', 'ouid', 'business_id', 'store_id', 'platform_id', 'main_pay_order_no', 'order_create_date', 'sync_count', 'sync_date']
45
+ return ['id', 'user_id', 'ouid', 'business_id', 'store_id', 'platform_id', 'main_pay_order_no', 'order_create_date', 'sync_count', 'sync_date', 'create_date']
45
46
 
46
47
  @classmethod
47
48
  def get_primary_key(self):
48
49
  return "id"
49
50
 
50
51
  def __str__(self):
51
- return "trade_mobile_queue_tb"
52
+ return "sync_member_mobile_tb"
@@ -6,4 +6,4 @@
6
6
  @LastEditors: HuangJianYi
7
7
  @Description:
8
8
  """
9
- __all__ = ["trade_info_model","trade_order_model","trade_status_info_model","trade_give_info_model",'trade_mobile_queue_model']
9
+ __all__ = ["trade_info_model", "trade_order_model", "trade_status_info_model", "trade_give_info_model", "trade_order_exclude_model"]
@@ -41,6 +41,7 @@ class TradeInfo:
41
41
  self.postage = 0.0 # 邮费
42
42
  self.discount_price = 0.0 # 优惠金额
43
43
  self.refund_price = 0.0 # 退款金额
44
+ self.settle_price = 0.0 # 结算金额
44
45
  self.buy_num = 0 # 商品件数
45
46
  self.order_num = 0 # 子订单数量
46
47
  self.order_status = "" # 订单状态
@@ -75,9 +76,9 @@ class TradeInfo:
75
76
  @classmethod
76
77
  def get_field_list(self):
77
78
  return [
78
- 'id', 'main_pay_order_no', 'store_id', 'business_id', 'one_id', 'user_id', 'ouid', 'platform_id', 'seller_nick', 'trade_type', 'step_trade_status', 'order_price', 'pay_price', 'postage', 'discount_price', 'refund_price', 'buy_num', 'order_num', 'order_status',
79
- 'plat_store_id', 'receiver', 'telephone', 'receiver_province', 'receiver_city', 'receiver_county', 'receiver_address', 'buyer_remark', 'seller_remark', 'seller_flag', 'buyer_rate', 'seller_rate', 'expand_card_basic_price', 'trade_source_types', 'create_date',
80
- 'pay_date', 'consign_date', 'end_date', 'source_type', 'source_title', 'modify_date', 'inside_date', 'is_incr_data', 'process_date', 'reward_process_status', 'refund_process_status', 'surplus_refund_price'
79
+ 'id', 'main_pay_order_no', 'store_id', 'business_id', 'one_id', 'user_id', 'ouid', 'platform_id', 'seller_nick', 'trade_type', 'step_trade_status', 'order_price', 'pay_price', 'postage', 'discount_price', 'refund_price', 'settle_price', 'buy_num', 'order_num',
80
+ 'order_status', 'plat_store_id', 'receiver', 'telephone', 'receiver_province', 'receiver_city', 'receiver_county', 'receiver_address', 'buyer_remark', 'seller_remark', 'seller_flag', 'buyer_rate', 'seller_rate', 'expand_card_basic_price', 'trade_source_types',
81
+ 'create_date', 'pay_date', 'consign_date', 'end_date', 'source_type', 'source_title', 'modify_date', 'inside_date', 'is_incr_data', 'process_date', 'reward_process_status', 'refund_process_status', 'surplus_refund_price'
81
82
  ]
82
83
 
83
84
  @classmethod
@@ -0,0 +1,52 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ @Author: HuangJianYi
4
+ @Date: 2024-10-15 18:30:21
5
+ @LastEditTime: 2025-07-16 18:14:14
6
+ @LastEditors: HuangJianYi
7
+ @Description:
8
+ """
9
+
10
+ from seven_framework.mysql import MySQLHelper
11
+ from seven_framework.base_model import *
12
+ from seven_cloudapp_frame.models.cache_model import *
13
+
14
+
15
+ class TradeOrderExcludeModel(CacheModel):
16
+ def __init__(self, db_connect_key='db_cloudapp', db_config_dict=None, sub_table=None, db_transaction=None, context=None, is_auto=False):
17
+ super(TradeOrderExcludeModel, self).__init__(TradeOrderExclude, sub_table)
18
+ if not db_config_dict:
19
+ db_config_dict = config.get_value(db_connect_key)
20
+ self.db = MySQLHelper(self.convert_db_config(db_config_dict, is_auto))
21
+ self.db_connect_key = db_connect_key
22
+ self.db_transaction = db_transaction
23
+ self.db.context = context
24
+
25
+
26
+ class TradeOrderExclude:
27
+ def __init__(self):
28
+ super(TradeOrderExclude, self).__init__()
29
+ self.id = 0 # id
30
+ self.user_id = "" # 客户ID
31
+ self.business_id = 0 # 商家标识
32
+ self.store_id = 0 # 店铺标识
33
+ self.main_pay_order_no = "" # 主订单号
34
+ self.sub_pay_order_no = "" # 子订单号
35
+ self.goods_id = "" # 商品标识
36
+ self.is_give_integral = 0 # 是否赠送积分(1-是 0-否)
37
+ self.is_give_growth = 0 # 是否赠送成长值(1-是 0-否)
38
+ self.create_date = '1970-01-01 00:00:00' # 创建时间
39
+
40
+
41
+ @classmethod
42
+ def get_field_list(self):
43
+ return [
44
+ 'id', 'user_id', 'business_id', 'store_id', 'main_pay_order_no', 'sub_pay_order_no', 'goods_id', 'is_give_integral', 'is_give_growth', 'create_date'
45
+ ]
46
+
47
+ @classmethod
48
+ def get_primary_key(self):
49
+ return "id"
50
+
51
+ def __str__(self):
52
+ return "trade_order_exclude_tb"
@@ -43,16 +43,18 @@ class TradeOrder:
43
43
  self.order_price = 0.0 # 子订单金额
44
44
  self.pay_price = 0.0 # 子支付金额
45
45
  self.discount_price = 0.0 # 优惠金额
46
+ self.divide_order_price = 0.0 # 分摊后子订单实付金额
46
47
  self.order_status = "" # 子订单状态
47
48
  self.refund_status = "" # 退款状态
48
49
  self.refund_id = "" # 退款订单号
50
+ self.refund_price = 0.0 # 退款金额
49
51
 
50
52
  @classmethod
51
53
  def get_field_list(self):
52
54
  return [
53
- 'id', 'business_id', 'store_id', 'plat_store_id', 'user_id', 'ouid', 'platform_id', 'main_pay_order_no', 'sub_pay_order_no',
54
- 'goods_code', 'goods_name', 'goods_pic', 'goods_id', 'sku_id','buy_num', 'goods_price', 'order_price', 'pay_price', 'discount_price', 'order_status', 'refund_status', 'refund_id'
55
- ]
55
+ 'id', 'business_id', 'store_id', 'plat_store_id', 'user_id', 'ouid', 'platform_id', 'main_pay_order_no', 'sub_pay_order_no', 'goods_code', 'goods_name', 'goods_pic', 'goods_id', 'sku_id', 'buy_num', 'goods_price', 'order_price', 'pay_price', 'discount_price',
56
+ 'divide_order_price', 'order_status', 'refund_status', 'refund_id', 'refund_price'
57
+ ]
56
58
 
57
59
  @classmethod
58
60
  def get_primary_key(self):
hk_cdp/models/enum.py CHANGED
@@ -2,7 +2,7 @@
2
2
  """
3
3
  :Author: HuangJianYi
4
4
  :Date: 2024-11-25 17:06:14
5
- @LastEditTime: 2024-12-18 17:47:36
5
+ @LastEditTime: 2025-08-28 15:39:43
6
6
  @LastEditors: HuangJianYi
7
7
  :description: 枚举类
8
8
  """
@@ -93,3 +93,4 @@ class GrowthConfigType(Enum):
93
93
  base = 2 # 基础设置
94
94
  deduct = 3 # 扣减设置
95
95
  valid = 4 # 有效期设置
96
+ shield_reward = 5 # 屏蔽/奖励设置
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hk-cdp
3
- Version: 1.0.113
3
+ Version: 1.0.120
4
4
  Summary: hk cdp
5
5
  Home-page: http://gitlab.tdtech.gao7.com/newfire/hk_cap/hk_cdp/server/hk_cdp.git
6
6
  Author: seven
@@ -6,11 +6,11 @@ hk_cdp/libs/customize/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
6
6
  hk_cdp/libs/customize/asset_base_model.py,sha256=eRExBgVfURH2YYElDCEJwarhG0yAw0aLGyuZZTqYiaI,24862
7
7
  hk_cdp/libs/customize/cdp_helper.py,sha256=st4NOYbFBT4WIOJ3j7bcAyml503z2ayiU78hbrNisGM,11810
8
8
  hk_cdp/libs/customize/rainbow_helper.py,sha256=M9gb3MyHf8SHGtX27GC8llivvAZxV_fb1CqJK_crfZ4,2372
9
- hk_cdp/libs/customize/tiktok_spi_helper.py,sha256=CBzZOZlwcJdI22HOewIPTvAPWOHYdyvq7OAZhijTlFA,3575
9
+ hk_cdp/libs/customize/tiktok_spi_helper.py,sha256=ZGx0PBK4eSXCLlqqyfn8uxd3EAAOxUt-jvgOsl1724E,3580
10
10
  hk_cdp/libs/customize/work_base_model.py,sha256=0-oDyhcUQchj4L-AvWogBUYyhh8MUevaV6jmL94yQ5A,1931
11
11
  hk_cdp/models/__init__.py,sha256=iwhKnzeBJLKxpRVjvzwiRE63_zNpIBfaKLITauVph-0,24
12
12
  hk_cdp/models/cdp_model.py,sha256=GxC3zXZ0po2iFkaFeTYcnq8S7hGXQ-vUb9rYoka-BMI,5948
13
- hk_cdp/models/enum.py,sha256=0-kP-3RguGLZXHaamyBqlQMSNGOOH09yqksrz-o8ZrE,2381
13
+ hk_cdp/models/enum.py,sha256=CVcImTOLw9nuRXUiOSL1RZUIGfDxX3ChUusX8qRppH4,2426
14
14
  hk_cdp/models/db_models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
15
  hk_cdp/models/db_models/analysis/__init__.py,sha256=IpZEFGpkWi_f826jxDE3qsGHtRi4bBQpAL_Vmi5FSWY,259
16
16
  hk_cdp/models/db_models/analysis/analysis_goods_related_model.py,sha256=xG-eOeloVsFVZdn2TDyqiHHd2nZummVyUFmkqayIKAY,2116
@@ -40,10 +40,11 @@ hk_cdp/models/db_models/scheme/scheme_integral_model.py,sha256=7rVqdjB151Tytadfq
40
40
  hk_cdp/models/db_models/scheme/scheme_level_info_model.py,sha256=5wx2JFwvXYBmeSnvGCnY4xs2mPvjBfvl2j23-OFqLcs,2224
41
41
  hk_cdp/models/db_models/scheme/scheme_level_model.py,sha256=_t1VsZ1-iFNLRt9TDilJO4U3twHeX8KDrUkeD9Bt9dc,2170
42
42
  hk_cdp/models/db_models/store/__init__.py,sha256=zg-nnkPuGsi2-UT9OPlZc5ouQ1KYOtLyuh5_3pHCBuQ,232
43
- hk_cdp/models/db_models/store/store_base_model.py,sha256=Gw7Pjo3-bPT134uJ5y6Ckp4tnCZGo7m6OetBjN8-PDE,2163
43
+ hk_cdp/models/db_models/store/store_base_model.py,sha256=nIzMw2W_LpnqJhBFy-9UjEgycWKqHo0ajhXTejqqTtE,2243
44
44
  hk_cdp/models/db_models/store/store_goods_model.py,sha256=emtShP8-3cjrWXCMi-ueyk85wkEe62I8J-jUVAp657U,1910
45
45
  hk_cdp/models/db_models/store/store_prefix_log_model.py,sha256=lJgN9S2_azswzUkrC8zpfV-uT_Mo3gOg1PvEtValVK8,1225
46
- hk_cdp/models/db_models/sync/__init__.py,sha256=WLzJwH-mPE02FCbB8WCZJxdlPZvBuqv6lLHrVNM-tsc,35
46
+ hk_cdp/models/db_models/sync/__init__.py,sha256=3yNTLEqN1lJDHTVXsvic3Yf7Io-jFDGkwDQKUAKYh-Q,63
47
+ hk_cdp/models/db_models/sync/sync_member_mobile_model.py,sha256=rTLRUu-sO5I5fsVO-MBNJnz9cVzyoU5PKyawf4VURiM,1945
47
48
  hk_cdp/models/db_models/sync/sync_user_data_model.py,sha256=BJRYARLfTLXQhfejkU6kEXPwgR3fWp6WHOBPsEaNexM,1510
48
49
  hk_cdp/models/db_models/taobao/__init__.py,sha256=3Qil9gOBrN_URHSz48VG4fnpcmDZ3e9ZWei-6Z37jqQ,156
49
50
  hk_cdp/models/db_models/taobao/taobao_rds_item_model.py,sha256=VLs0Jd0rcZeTJ-ljmTP9nCVkMslZWFkBcd7RWaGj0Xc,1956
@@ -51,11 +52,11 @@ hk_cdp/models/db_models/taobao/taobao_rds_refund_model.py,sha256=1hCIIaIz3Ud_2Hs
51
52
  hk_cdp/models/db_models/taobao/taobao_rds_trade_model.py,sha256=zmZzunkuVdZ9l9FxgYfQyP-XNqJyedT415pRWnRpRCI,1659
52
53
  hk_cdp/models/db_models/taobao/taobao_source_buyer_model.py,sha256=i5s2BryvepkV12EC7TdGTLb4hlLEaDsAhOp7RCMe9WY,2255
53
54
  hk_cdp/models/db_models/taobao/taobao_source_history_member_model.py,sha256=m2_YzlpoPL6jhZv4pYW4Vg4LXMGqDFLpj6g9erX3yMw,2199
54
- hk_cdp/models/db_models/trade/__init__.py,sha256=yHlrOlTTHgtj5kl8AffHzDjuxCZPqiPK_AwzMKLxFFg,284
55
+ hk_cdp/models/db_models/trade/__init__.py,sha256=FhUjCX2LSg636wVo99svhw07qSNg0OYljMKIxbuRLws,289
55
56
  hk_cdp/models/db_models/trade/trade_give_info_model.py,sha256=l70K-aiyOkNRy2NPLGDOG-vUnM6Vw0NqAdbwW7cxT0k,1868
56
- hk_cdp/models/db_models/trade/trade_info_model.py,sha256=VoAZoPNt9KcY8UKUoOzZ7pmgdkAemnKp7jdNrvztaso,4841
57
- hk_cdp/models/db_models/trade/trade_mobile_queue_model.py,sha256=--WYLUiDzrEzBHfTTwfeQGfUEVPQ-4rW5lhOTxVcBXA,1861
58
- hk_cdp/models/db_models/trade/trade_order_model.py,sha256=ibE4pCdWcIPow6kBpgRayHgFuOG4xSBtcLD7Bd9YHhE,2413
57
+ hk_cdp/models/db_models/trade/trade_info_model.py,sha256=bvfNmJsLivvgOhgnsqdhR2vRjLseT5QD_bdjIl4SVzg,4904
58
+ hk_cdp/models/db_models/trade/trade_order_exclude_model.py,sha256=FOBdk6HLFw_qArQZ_f7qfarkTvAdM00XYc6eQCrH0-A,1827
59
+ hk_cdp/models/db_models/trade/trade_order_model.py,sha256=Ux6hJZrDybYXyc_8MKADcS8UoL9_-XKc7kStq6Gg5Wo,2566
59
60
  hk_cdp/models/db_models/trade/trade_status_info_model.py,sha256=R8HaCRRmXIa76ZWajW6YcdAxbPZPKiDDPLszUkD2azc,1946
60
61
  hk_cdp/models/db_models/tt/__init__.py,sha256=udhmTaFhq9P2bisJyTJiIwebDMEzc-HqBZdGmARZIEQ,136
61
62
  hk_cdp/models/db_models/tt/tt_rds_item_model.py,sha256=WCgZIo1lBgR1VWfS-8SALXWcIFaYPTO9VHW6qFLAAaQ,2004
@@ -67,8 +68,8 @@ hk_cdp/models/db_models/user/__init__.py,sha256=O_F1_TiR_075ATAHcahxTKJwUdYeY-Qz
67
68
  hk_cdp/models/db_models/user/user_data_model.py,sha256=hswh3ELJtBilEgzr7W6MfmaWsnSr93oO0nizbbPeRAk,2757
68
69
  hk_cdp/models/db_models/user/user_info_model.py,sha256=TywpvlFGkch9hO_szyhin-ed4xfTWBM7L59IU96SfxU,4138
69
70
  hk_cdp/models/db_models/user/user_trends_model.py,sha256=oxJCBnJQEvFr1_heV_cxRrPIic6_oSoLqARc6ldp2LM,1592
70
- hk_cdp-1.0.113.dist-info/LICENSE,sha256=hKHSuDoDoyOk6vOrpkYnOXZ640PvhUa-BTQbRRtFsUk,1061
71
- hk_cdp-1.0.113.dist-info/METADATA,sha256=ID4w6d04HBIaDvCVGbe9xFsZMYCHFsL5URkqX5_rhNk,7102
72
- hk_cdp-1.0.113.dist-info/WHEEL,sha256=g4nMs7d-Xl9-xC9XovUrsDHGXt-FT0E17Yqo92DEfvY,92
73
- hk_cdp-1.0.113.dist-info/top_level.txt,sha256=omzIr_m5qnzhfcdscOVr4P4JUB49wlP6KztqvlqDntw,7
74
- hk_cdp-1.0.113.dist-info/RECORD,,
71
+ hk_cdp-1.0.120.dist-info/LICENSE,sha256=hKHSuDoDoyOk6vOrpkYnOXZ640PvhUa-BTQbRRtFsUk,1061
72
+ hk_cdp-1.0.120.dist-info/METADATA,sha256=DJb7917A0FnBxDr53Rd5Vl5hWzk5WUQFb9LWM79PR0c,7102
73
+ hk_cdp-1.0.120.dist-info/WHEEL,sha256=g4nMs7d-Xl9-xC9XovUrsDHGXt-FT0E17Yqo92DEfvY,92
74
+ hk_cdp-1.0.120.dist-info/top_level.txt,sha256=omzIr_m5qnzhfcdscOVr4P4JUB49wlP6KztqvlqDntw,7
75
+ hk_cdp-1.0.120.dist-info/RECORD,,