qrpa 1.1.24__tar.gz → 1.1.26__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.
Potentially problematic release.
This version of qrpa might be problematic. Click here for more details.
- {qrpa-1.1.24 → qrpa-1.1.26}/PKG-INFO +1 -1
- {qrpa-1.1.24 → qrpa-1.1.26}/pyproject.toml +1 -1
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa/shein_excel.py +3 -3
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa/shein_lib.py +27 -4
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa.egg-info/PKG-INFO +1 -1
- {qrpa-1.1.24 → qrpa-1.1.26}/README.md +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa/RateLimitedSender.py +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa/__init__.py +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa/db_migrator.py +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa/feishu_bot_app.py +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa/feishu_client.py +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa/feishu_logic.py +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa/fun_base.py +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa/fun_excel.py +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa/fun_file.py +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa/fun_web.py +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa/fun_win.py +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa/mysql_module/__init__.py +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa/mysql_module/shein_ledger_model.py +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa/mysql_module/shein_product_model.py +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa/mysql_module/shein_return_order_model.py +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa/shein_daily_report_model.py +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa/shein_mysql.py +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa/shein_sqlite.py +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa/shein_ziniao.py +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa/temu_chrome.py +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa/temu_excel.py +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa/temu_lib.py +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa/time_utils.py +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa/time_utils_example.py +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa/wxwork.py +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa.egg-info/SOURCES.txt +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa.egg-info/dependency_links.txt +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/qrpa.egg-info/top_level.txt +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/setup.cfg +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/setup.py +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/tests/test_db_migrator.py +0 -0
- {qrpa-1.1.24 → qrpa-1.1.26}/tests/test_wxwork.py +0 -0
|
@@ -25,7 +25,7 @@ class SheinExcel:
|
|
|
25
25
|
|
|
26
26
|
sheet_name1 = '未匹配SKU_需运营调整'
|
|
27
27
|
operations = [
|
|
28
|
-
[sheet_name1, 'write', [['店铺账户', '店铺别名', '店长', 'SPU', 'SKC', '商家SKC', '商家SKU']] + excel_data],
|
|
28
|
+
[sheet_name1, 'write', [['店铺账户', '店铺别名', '店长', 'SPU', 'SKC', '商家SKC', '商家SKU', '上架状态', '商品层次', '错误原因']] + excel_data],
|
|
29
29
|
[sheet_name1, 'format', self.format_sku_not_found],
|
|
30
30
|
['Sheet1', 'delete'],
|
|
31
31
|
]
|
|
@@ -46,7 +46,7 @@ class SheinExcel:
|
|
|
46
46
|
def format_sku_not_found(self, sheet):
|
|
47
47
|
beautify_title(sheet)
|
|
48
48
|
add_borders(sheet)
|
|
49
|
-
column_to_left(sheet, ['商家SKC', '商家SKU'])
|
|
49
|
+
column_to_left(sheet, ['商家SKC', '商家SKU', '商品层次'])
|
|
50
50
|
pass
|
|
51
51
|
|
|
52
52
|
def format_sku_to_skc(self, sheet):
|
|
@@ -358,7 +358,7 @@ class SheinExcel:
|
|
|
358
358
|
add_sum_for_cell(sheet, [date_A, date_B])
|
|
359
359
|
column_to_right(sheet, ['金额', '汇总'])
|
|
360
360
|
sheet.autofit()
|
|
361
|
-
autofit_column(sheet,[date_A, date_B])
|
|
361
|
+
autofit_column(sheet, [date_A, date_B])
|
|
362
362
|
delete_sheet_if_exists(wb, 'Sheet1')
|
|
363
363
|
wb.save()
|
|
364
364
|
close_excel(app, wb)
|
|
@@ -743,17 +743,17 @@ class SheinLib:
|
|
|
743
743
|
刷新后的数据列表
|
|
744
744
|
"""
|
|
745
745
|
log(f'开始刷新Bridge数据,共 {len(data_list)} 条记录', self.store_username, self.store_name)
|
|
746
|
-
|
|
746
|
+
|
|
747
747
|
for index, item in enumerate(data_list):
|
|
748
748
|
supplier_sku = item.get(sku_field)
|
|
749
749
|
if supplier_sku:
|
|
750
750
|
item['cost_price'] = self.bridge.get_sku_cost(supplier_sku, source)
|
|
751
751
|
item['sku_img'] = self.bridge.get_sku_img(supplier_sku, source)
|
|
752
|
-
|
|
752
|
+
|
|
753
753
|
# 每100条记录输出一次进度
|
|
754
754
|
if (index + 1) % 100 == 0:
|
|
755
755
|
log(f'刷新进度: {index + 1}/{len(data_list)}', self.store_username, self.store_name)
|
|
756
|
-
|
|
756
|
+
|
|
757
757
|
log(f'Bridge数据刷新完成', self.store_username, self.store_name)
|
|
758
758
|
return data_list
|
|
759
759
|
|
|
@@ -1078,6 +1078,13 @@ class SheinLib:
|
|
|
1078
1078
|
skc = skc_item['skc']
|
|
1079
1079
|
supplierCode = skc_item['supplierCode']
|
|
1080
1080
|
|
|
1081
|
+
shelf_status = skc_item.get('shelfStatus', {}).get('name', '-')
|
|
1082
|
+
if int(skc_item['shelfStatus']['value']) != 1:
|
|
1083
|
+
log('商品未上架跳过:', skc)
|
|
1084
|
+
continue
|
|
1085
|
+
|
|
1086
|
+
goods_level = skc_item.get('goodsLevel', {}).get('name', '-')
|
|
1087
|
+
|
|
1081
1088
|
# 倒序遍历 skuList,安全删除
|
|
1082
1089
|
for i in range(len(skc_item['skuList']) - 1, -1, -1):
|
|
1083
1090
|
sku_item = skc_item['skuList'][i]
|
|
@@ -1089,12 +1096,28 @@ class SheinLib:
|
|
|
1089
1096
|
if not isinstance(cost_price, (int, float)):
|
|
1090
1097
|
dict_sku_not_found.append([
|
|
1091
1098
|
self.store_username,
|
|
1092
|
-
self.store_name,
|
|
1099
|
+
f'{self.store_name}',
|
|
1100
|
+
self.config.shein_store_manager.get(str(self.store_username).lower()),
|
|
1101
|
+
spu,
|
|
1102
|
+
skc,
|
|
1103
|
+
supplierCode,
|
|
1104
|
+
sku_item['supplierSku'],
|
|
1105
|
+
shelf_status,
|
|
1106
|
+
goods_level,
|
|
1107
|
+
'忆托未匹配到成本价,可能原因: 1.没填商家SKU,2.商家SKU没有绑定本地SKU,3.商家SKU填写错误'
|
|
1108
|
+
])
|
|
1109
|
+
elif cost_price == 0:
|
|
1110
|
+
dict_sku_not_found.append([
|
|
1111
|
+
self.store_username,
|
|
1112
|
+
f'{self.store_name}',
|
|
1093
1113
|
self.config.shein_store_manager.get(str(self.store_username).lower()),
|
|
1094
1114
|
spu,
|
|
1095
1115
|
skc,
|
|
1096
1116
|
supplierCode,
|
|
1097
1117
|
sku_item['supplierSku'],
|
|
1118
|
+
shelf_status,
|
|
1119
|
+
goods_level,
|
|
1120
|
+
'忆托未匹配到成本价为:0'
|
|
1098
1121
|
])
|
|
1099
1122
|
|
|
1100
1123
|
dict_sku_to_skc.append([
|
|
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
|