qrpa 1.0.63__tar.gz → 1.0.65__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.

Files changed (36) hide show
  1. {qrpa-1.0.63 → qrpa-1.0.65}/PKG-INFO +1 -1
  2. {qrpa-1.0.63 → qrpa-1.0.65}/pyproject.toml +1 -1
  3. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa/shein_excel.py +1 -1
  4. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa/shein_lib.py +32 -0
  5. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa/temu_excel.py +1 -1
  6. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa.egg-info/PKG-INFO +1 -1
  7. {qrpa-1.0.63 → qrpa-1.0.65}/README.md +0 -0
  8. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa/RateLimitedSender.py +0 -0
  9. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa/__init__.py +0 -0
  10. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa/db_migrator.py +0 -0
  11. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa/feishu_bot_app.py +0 -0
  12. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa/feishu_client.py +0 -0
  13. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa/feishu_logic.py +0 -0
  14. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa/fun_base.py +0 -0
  15. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa/fun_excel.py +0 -0
  16. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa/fun_file.py +0 -0
  17. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa/fun_web.py +0 -0
  18. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa/fun_win.py +0 -0
  19. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa/mysql_module/__init__.py +0 -0
  20. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa/mysql_module/shein_return_order_model.py +0 -0
  21. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa/shein_daily_report_model.py +0 -0
  22. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa/shein_mysql.py +0 -0
  23. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa/shein_sqlite.py +0 -0
  24. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa/shein_ziniao.py +0 -0
  25. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa/temu_chrome.py +0 -0
  26. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa/temu_lib.py +0 -0
  27. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa/time_utils.py +0 -0
  28. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa/time_utils_example.py +0 -0
  29. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa/wxwork.py +0 -0
  30. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa.egg-info/SOURCES.txt +0 -0
  31. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa.egg-info/dependency_links.txt +0 -0
  32. {qrpa-1.0.63 → qrpa-1.0.65}/qrpa.egg-info/top_level.txt +0 -0
  33. {qrpa-1.0.63 → qrpa-1.0.65}/setup.cfg +0 -0
  34. {qrpa-1.0.63 → qrpa-1.0.65}/setup.py +0 -0
  35. {qrpa-1.0.63 → qrpa-1.0.65}/tests/test_db_migrator.py +0 -0
  36. {qrpa-1.0.63 → qrpa-1.0.65}/tests/test_wxwork.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: qrpa
3
- Version: 1.0.63
3
+ Version: 1.0.65
4
4
  Summary: qsir's rpa library
5
5
  Author: QSir
6
6
  Author-email: QSir <1171725650@qq.com>
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "qrpa"
7
- version = "1.0.63"
7
+ version = "1.0.65"
8
8
  description = "qsir's rpa library"
9
9
  authors = [{ name = "QSir", email = "1171725650@qq.com" }]
10
10
  readme = "README.md"
@@ -1662,7 +1662,7 @@ class SheinExcel:
1662
1662
  store_excel_data = [header]
1663
1663
  for comment in comment_list:
1664
1664
  row_item = []
1665
- row_item.append(comment['commentId'])
1665
+ row_item.append(f'{comment['commentId']}\n{store_name}')
1666
1666
  row_item.append(comment['goodsThumb'])
1667
1667
  product_info = f'属性:{comment["goodsAttribute"]}\n货号:{comment["goodSn"]}\nSPU:{comment["spu"]}\nSKC:{comment["skc"]}\nSKU:{comment["sku"]}'
1668
1668
  row_item.append(product_info)
@@ -631,6 +631,32 @@ class SheinLib:
631
631
  log(f'正在获取 {self.store_name} 最近一个月出库金额: {last_item["totalCustomerAmount"]}')
632
632
  return last_item['totalCustomerAmount']
633
633
 
634
+ # 存储商品库
635
+ def store_product_info(self):
636
+ # todo 商品详情 属性 规格 图片 重量 与 尺寸
637
+ skc_list = self.get_bak_base_info()
638
+ cache_file = f'{self.config.auto_dir}/shein/sku_price/sku_price_{self.store_username}.json'
639
+ dict_sku = read_dict_from_file(cache_file)
640
+ for skc_item in skc_list:
641
+ skc_item['store_username'] = self.store_username
642
+ skc_item['store_name'] = self.store_name
643
+ skc_item['store_manager'] = self.config.shein_store_manager.get(str(self.store_username).lower())
644
+ spu = skc_item['spu']
645
+
646
+ # 倒序遍历 skuList,安全删除
647
+ for i in range(len(skc_item['skuList']) - 1, -1, -1):
648
+ sku_item = skc_item['skuList'][i]
649
+ if sku_item['skuCode'] == '合计':
650
+ del skc_item['skuList'][i] # 删除“合计”
651
+ continue
652
+ sku_item['price'] = dict_sku[sku_item['skuCode']]
653
+ cost_price = self.bridge.get_sku_cost(sku_item['supplierSku'], self.config.erp_source)
654
+ sku_item['erp_cost_price'] = cost_price if isinstance(cost_price, (int, float)) else None
655
+ sku_item['erp_supplier_name'] = self.bridge.get_sku_supplier(sku_item['supplierSku'], self.config.erp_source)
656
+
657
+ cache_file = f'{self.config.auto_dir}/shein/product/skc_list_{self.store_username}.json'
658
+ write_dict_to_file_ex(cache_file, {self.store_username: skc_list}, [self.store_username])
659
+
634
660
  # 获取备货信息列表
635
661
  def get_bak_base_info(self):
636
662
  log(f'获取备货信息列表 {self.store_name} {self.store_username}')
@@ -680,7 +706,10 @@ class SheinLib:
680
706
  spu_list = response_text['info']['list']
681
707
 
682
708
  skc_list = [item['skc'] for item in spu_list]
709
+ self.get_activity_label(skc_list)
710
+ self.get_preemption_list(skc_list)
683
711
  self.get_sku_price_v2(skc_list)
712
+ self.get_stock_advice(skc_list)
684
713
 
685
714
  total = response_text['info']['count']
686
715
  totalPage = math.ceil(total / pageSize)
@@ -693,7 +722,10 @@ class SheinLib:
693
722
  spu_list += new_spu_list
694
723
 
695
724
  skc_list = [item['skc'] for item in new_spu_list]
725
+ self.get_activity_label(skc_list)
726
+ self.get_preemption_list(skc_list)
696
727
  self.get_sku_price_v2(skc_list)
728
+ self.get_stock_advice(skc_list)
697
729
 
698
730
  time.sleep(0.3)
699
731
 
@@ -107,7 +107,7 @@ class TemuExcel:
107
107
  excel_data = sort_by_column(excel_data, 6, 1)
108
108
 
109
109
  # 计算需要多少个文件(每个文件最多320行数据,包含表头)
110
- max_data_rows = 320 - 1 # 减去表头行
110
+ max_data_rows = 250 - 1 # 减去表头行
111
111
  total_files = (len(excel_data) + max_data_rows - 1) // max_data_rows # 通过加(max_data_rows-1)实现向上取整
112
112
 
113
113
  for file_index in range(total_files):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: qrpa
3
- Version: 1.0.63
3
+ Version: 1.0.65
4
4
  Summary: qsir's rpa library
5
5
  Author: QSir
6
6
  Author-email: QSir <1171725650@qq.com>
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