mdbq 4.0.0__py3-none-any.whl → 4.0.1__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.
mdbq/__version__.py CHANGED
@@ -1 +1 @@
1
- VERSION = '4.0.0'
1
+ VERSION = '4.0.1'
@@ -3,6 +3,7 @@ import re
3
3
  from mdbq.mysql import mysql
4
4
  from mdbq.mysql import s_query
5
5
  from mdbq.config import config
6
+ from mdbq.log import mylogger
6
7
  import datetime
7
8
  from dateutil.relativedelta import relativedelta
8
9
  import pandas as pd
@@ -13,7 +14,6 @@ import os
13
14
  import time
14
15
  import calendar
15
16
  import concurrent.futures
16
- import logging
17
17
 
18
18
  """
19
19
 
@@ -25,9 +25,17 @@ content = config.read_config(file_path=config_file)
25
25
  username, password, host, port = content['username'], content['password'], content['host'], content['port']
26
26
  m_engine = mysql.MysqlUpload(username=username, password=password, host=host, port=port, charset='utf8mb4')
27
27
 
28
- logger = logging.getLogger(__name__)
29
- # from mdbq.log import spider_logging
30
- # logger = spider_logging.setup_logging()
28
+ logger = mylogger.MyLogger(
29
+ logging_mode='file',
30
+ log_level='info',
31
+ log_format='json',
32
+ max_log_size=50,
33
+ backup_count=5,
34
+ enable_async=False, # 是否启用异步日志
35
+ sample_rate=1, # 采样DEBUG/INFO日志
36
+ sensitive_fields=[], # 敏感字段过滤
37
+ enable_metrics=False, # 是否启用性能指标
38
+ )
31
39
 
32
40
 
33
41
  class MysqlDatasQuery:
@@ -162,8 +170,7 @@ class MysqlDatasQuery:
162
170
  return
163
171
  min_date = df['日期'].min()
164
172
  max_date = df['日期'].max()
165
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
166
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
173
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
167
174
  m_engine.df_to_mysql(
168
175
  df=df,
169
176
  db_name=db_name,
@@ -208,8 +215,7 @@ class MysqlDatasQuery:
208
215
  '花费': 'decimal(12,2)',
209
216
  '更新时间': 'timestamp',
210
217
  }
211
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
212
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) 属性设置3/商品索引表_主推排序调用')
218
+ logger.info(f'正在更新: mysql ({host}:{port}) 属性设置3/商品索引表_主推排序调用')
213
219
  m_engine.df_to_mysql(
214
220
  df=df_pic,
215
221
  db_name='属性设置3',
@@ -317,8 +323,7 @@ class MysqlDatasQuery:
317
323
  return
318
324
  min_date = df['日期'].min()
319
325
  max_date = df['日期'].max()
320
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
321
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
326
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
322
327
  m_engine.df_to_mysql(
323
328
  df=df,
324
329
  db_name=db_name,
@@ -426,8 +431,7 @@ class MysqlDatasQuery:
426
431
  return
427
432
  min_date = df['日期'].min()
428
433
  max_date = df['日期'].max()
429
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
430
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
434
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
431
435
  m_engine.df_to_mysql(
432
436
  df=df,
433
437
  db_name=db_name,
@@ -535,8 +539,7 @@ class MysqlDatasQuery:
535
539
  return
536
540
  min_date = df['日期'].min()
537
541
  max_date = df['日期'].max()
538
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
539
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
542
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
540
543
  m_engine.df_to_mysql(
541
544
  df=df,
542
545
  db_name=db_name,
@@ -630,8 +633,7 @@ class MysqlDatasQuery:
630
633
  return
631
634
  min_date = df['日期'].min()
632
635
  max_date = df['日期'].max()
633
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
634
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
636
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
635
637
  m_engine.df_to_mysql(
636
638
  df=df,
637
639
  db_name=db_name,
@@ -847,8 +849,7 @@ class MysqlDatasQuery:
847
849
  }
848
850
  min_date = df['日期'].min()
849
851
  max_date = df['日期'].max()
850
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
851
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
852
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
852
853
  m_engine.df_to_mysql(
853
854
  df=df,
854
855
  db_name=db_name,
@@ -981,8 +982,7 @@ class MysqlDatasQuery:
981
982
  }
982
983
  min_date = df['日期'].min()
983
984
  max_date = df['日期'].max()
984
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
985
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
985
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
986
986
  m_engine.df_to_mysql(
987
987
  df=df,
988
988
  db_name=db_name,
@@ -1151,8 +1151,7 @@ class MysqlDatasQuery:
1151
1151
  }
1152
1152
  min_date = df['日期'].min()
1153
1153
  max_date = df['日期'].max()
1154
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
1155
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
1154
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
1156
1155
 
1157
1156
  m_engine.df_to_mysql(
1158
1157
  df=df,
@@ -1263,8 +1262,7 @@ class MysqlDatasQuery:
1263
1262
  }
1264
1263
  min_date = df['日期'].min()
1265
1264
  max_date = df['日期'].max()
1266
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
1267
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
1265
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
1268
1266
  m_engine.df_to_mysql(
1269
1267
  df=df,
1270
1268
  db_name=db_name,
@@ -1318,8 +1316,7 @@ class MysqlDatasQuery:
1318
1316
  # ) # 制作其他聚合表
1319
1317
  if not self.update_service:
1320
1318
  return
1321
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
1322
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name}')
1319
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name}')
1323
1320
  m_engine.df_to_mysql(
1324
1321
  df=df,
1325
1322
  db_name=db_name,
@@ -1373,8 +1370,7 @@ class MysqlDatasQuery:
1373
1370
  # ) # 制作其他聚合表
1374
1371
  if not self.update_service:
1375
1372
  return
1376
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
1377
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name}')
1373
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name}')
1378
1374
  m_engine.df_to_mysql(
1379
1375
  df=df,
1380
1376
  db_name=db_name,
@@ -1428,8 +1424,7 @@ class MysqlDatasQuery:
1428
1424
  # ) # 制作其他聚合表
1429
1425
  if not self.update_service:
1430
1426
  return
1431
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
1432
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name}')
1427
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name}')
1433
1428
  m_engine.df_to_mysql(
1434
1429
  df=df,
1435
1430
  db_name=db_name,
@@ -1485,8 +1480,7 @@ class MysqlDatasQuery:
1485
1480
  # )
1486
1481
  if not self.update_service: # 调试加,是否继续执行下面的入库操作
1487
1482
  return
1488
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
1489
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name}')
1483
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name}')
1490
1484
  m_engine.df_to_mysql(
1491
1485
  df=df,
1492
1486
  db_name=db_name,
@@ -1532,8 +1526,7 @@ class MysqlDatasQuery:
1532
1526
  df['上市年份'] = df['商品id'].apply(lambda x: check_year(x))
1533
1527
  p = df.pop('上市年份')
1534
1528
  df.insert(loc=5, column='上市年份', value=p)
1535
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
1536
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name}')
1529
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name}')
1537
1530
  set_typ = {
1538
1531
  '日期': 'date',
1539
1532
  '店铺id': 'bigint',
@@ -1672,8 +1665,7 @@ class MysqlDatasQuery:
1672
1665
  }
1673
1666
  min_date = df['日期'].min().strftime("%Y-%m-%d")
1674
1667
  max_date = df['日期'].max().strftime("%Y-%m-%d")
1675
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
1676
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
1668
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
1677
1669
  m_engine.df_to_mysql(
1678
1670
  df=df,
1679
1671
  db_name=db_name,
@@ -1780,8 +1772,7 @@ class MysqlDatasQuery:
1780
1772
  # df.to_csv('/Users/xigua/Downloads/ll.csv', index=False, header=True, encoding='utf-8_sig')
1781
1773
  min_date = df['日期'].min().strftime("%Y-%m-%d")
1782
1774
  max_date = df['日期'].max().strftime("%Y-%m-%d")
1783
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
1784
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
1775
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
1785
1776
  m_engine.df_to_mysql(
1786
1777
  df=df,
1787
1778
  db_name=db_name,
@@ -1825,8 +1816,7 @@ class MysqlDatasQuery:
1825
1816
  return
1826
1817
  min_date = pd.to_datetime(df['日期'].min()).strftime('%Y-%m-%d')
1827
1818
  max_date = pd.to_datetime(df['日期'].max()).strftime('%Y-%m-%d')
1828
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
1829
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
1819
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
1830
1820
  m_engine.df_to_mysql(
1831
1821
  df=df,
1832
1822
  db_name=db_name,
@@ -1939,8 +1929,7 @@ class MysqlDatasQuery:
1939
1929
  }
1940
1930
  min_date = df['日期'].min()
1941
1931
  max_date = df['日期'].max()
1942
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
1943
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
1932
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
1944
1933
  m_engine.df_to_mysql(
1945
1934
  df=df,
1946
1935
  db_name=db_name,
@@ -2006,8 +1995,7 @@ class MysqlDatasQuery:
2006
1995
  }
2007
1996
  min_date = df['日期'].min()
2008
1997
  max_date = df['日期'].max()
2009
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
2010
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
1998
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
2011
1999
  m_engine.df_to_mysql(
2012
2000
  df=df,
2013
2001
  db_name=db_name,
@@ -2105,8 +2093,7 @@ class MysqlDatasQuery:
2105
2093
  }
2106
2094
  min_date = df['日期'].min()
2107
2095
  max_date = df['日期'].max()
2108
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
2109
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
2096
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
2110
2097
  m_engine.df_to_mysql(
2111
2098
  df=df,
2112
2099
  db_name=db_name,
@@ -2182,8 +2169,7 @@ class MysqlDatasQuery:
2182
2169
  }
2183
2170
  min_date = df['日期'].min()
2184
2171
  max_date = df['日期'].max()
2185
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
2186
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
2172
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
2187
2173
  m_engine.df_to_mysql(
2188
2174
  df=df,
2189
2175
  db_name=db_name,
@@ -2251,8 +2237,7 @@ class MysqlDatasQuery:
2251
2237
  }
2252
2238
  min_date = df['日期'].min()
2253
2239
  max_date = df['日期'].max()
2254
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
2255
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
2240
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
2256
2241
  m_engine.df_to_mysql(
2257
2242
  df=df,
2258
2243
  db_name=db_name,
@@ -2337,8 +2322,7 @@ class MysqlDatasQuery:
2337
2322
  }
2338
2323
  min_date = df['日期'].min()
2339
2324
  max_date = df['日期'].max()
2340
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
2341
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
2325
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
2342
2326
  m_engine.df_to_mysql(
2343
2327
  df=df,
2344
2328
  db_name=db_name,
@@ -2473,8 +2457,7 @@ class MysqlDatasQuery:
2473
2457
  }
2474
2458
  min_date = df['日期'].min()
2475
2459
  max_date = df['日期'].max()
2476
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
2477
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
2460
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
2478
2461
  new_dict = {
2479
2462
  '日期': '',
2480
2463
  '店铺名称': '',
@@ -2973,8 +2956,7 @@ class MysqlDatasQuery:
2973
2956
  return
2974
2957
  min_date = df['日期'].min().strftime('%Y-%m-%d')
2975
2958
  max_date = df['日期'].max().strftime('%Y-%m-%d')
2976
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
2977
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
2959
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
2978
2960
  m_engine.df_to_mysql(
2979
2961
  df=df,
2980
2962
  db_name=db_name,
@@ -3063,8 +3045,7 @@ class MysqlDatasQuery:
3063
3045
  }
3064
3046
  min_date = df['日期'].min()
3065
3047
  max_date = df['日期'].max()
3066
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
3067
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
3048
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
3068
3049
  m_engine.df_to_mysql(
3069
3050
  df=df,
3070
3051
  db_name=db_name,
@@ -3113,8 +3094,7 @@ class MysqlDatasQuery:
3113
3094
  }
3114
3095
  min_date = df['日期'].min()
3115
3096
  max_date = df['日期'].max()
3116
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
3117
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
3097
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
3118
3098
  m_engine.df_to_mysql(
3119
3099
  df=df,
3120
3100
  db_name=db_name,
@@ -3223,8 +3203,7 @@ class MysqlDatasQuery:
3223
3203
  }
3224
3204
  min_date = df['日期'].min()
3225
3205
  max_date = df['日期'].max()
3226
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
3227
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
3206
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
3228
3207
  m_engine.df_to_mysql(
3229
3208
  df=df,
3230
3209
  db_name=db_name,
@@ -3578,7 +3557,6 @@ class MysqlDatasQuery:
3578
3557
  '退货量_发货后': ('退货量_发货后', np.sum),
3579
3558
  }
3580
3559
  )
3581
- # logger.info(df.info())
3582
3560
 
3583
3561
  idbm['宝贝id'] = idbm['宝贝id'].astype('int64')
3584
3562
  # 1. id 编码表合并图片表
@@ -3587,7 +3565,6 @@ class MysqlDatasQuery:
3587
3565
  # 2. df 合并商品成本表
3588
3566
  df_cb = pd.merge(df_cb, cost, how='left', left_on='商家编码', right_on='款号')
3589
3567
  df_cb = df_cb[['宝贝id', '商家编码', '商品图片', '成本价']]
3590
- # logger.info(df_cb.info())
3591
3568
  # 3. 合并 df
3592
3569
  df = pd.merge(df, df_cb, how='left', left_on='商品id', right_on='宝贝id')
3593
3570
  df.drop(labels='宝贝id', axis=1, inplace=True)
@@ -3625,8 +3602,7 @@ class MysqlDatasQuery:
3625
3602
  return
3626
3603
  min_date = df['日期'].min()
3627
3604
  max_date = df['日期'].max()
3628
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
3629
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
3605
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
3630
3606
  m_engine.df_to_mysql(
3631
3607
  df=df,
3632
3608
  db_name=db_name,
@@ -3726,8 +3702,7 @@ class MysqlDatasQuery:
3726
3702
  df['日期'] = pd.to_datetime(df['日期'], format='%Y-%m-%d', errors='ignore')
3727
3703
  min_date = df['日期'].min()
3728
3704
  max_date = df['日期'].max()
3729
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
3730
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
3705
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
3731
3706
  m_engine.df_to_mysql(
3732
3707
  df=df,
3733
3708
  db_name=db_name,
@@ -3795,8 +3770,7 @@ class MysqlDatasQuery:
3795
3770
  return
3796
3771
  min_date = df['日期'].min().strftime("%Y-%m-%d")
3797
3772
  max_date = df['日期'].max().strftime("%Y-%m-%d")
3798
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
3799
- logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
3773
+ logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
3800
3774
  m_engine.df_to_mysql(
3801
3775
  df=df,
3802
3776
  db_name=db_name,
@@ -3856,11 +3830,9 @@ def date_table():
3856
3830
  for name, group in grouped:
3857
3831
  if num > 52:
3858
3832
  num = 1
3859
- # logger.info(f'Group: {name}')
3860
3833
  group['第n周_new'] = f'第{num}周'
3861
3834
  num += 1
3862
3835
  __res.append(group.copy())
3863
- # logger.info(group)
3864
3836
  # break
3865
3837
  df = pd.concat(__res, ignore_index=True)
3866
3838
  # df['日期'] = df['日期'].apply(lambda x: pd.to_datetime(x))
@@ -18,16 +18,15 @@ from contextlib import contextmanager
18
18
 
19
19
  warnings.filterwarnings('ignore')
20
20
  logger = mylogger.MyLogger(
21
- name='deduplicator',
22
21
  logging_mode='file',
23
22
  log_level='info',
24
- log_file='deduplicator.log',
25
23
  log_format='json',
26
24
  max_log_size=50,
27
25
  backup_count=5,
28
26
  enable_async=False, # 是否启用异步日志
29
- sample_rate=1, # 采样DEBUG/INFO日志, 0.5表示50%的日志会被采样
30
- sensitive_fields=[], # 敏感字段列表
27
+ sample_rate=1, # 采样DEBUG/INFO日志
28
+ sensitive_fields=[], # 敏感字段过滤
29
+ enable_metrics=False, # 是否启用性能指标
31
30
  )
32
31
 
33
32
 
mdbq/mysql/mysql.py CHANGED
@@ -17,16 +17,15 @@ warnings.filterwarnings('ignore')
17
17
  建表规范:
18
18
  """
19
19
  logger = mylogger.MyLogger(
20
- name='mysql',
21
- logging_mode='both',
20
+ logging_mode='file',
22
21
  log_level='info',
23
- log_file='mysql.log',
24
22
  log_format='json',
25
23
  max_log_size=50,
26
24
  backup_count=5,
27
25
  enable_async=False, # 是否启用异步日志
28
- sample_rate=0.5, # 采样50%的DEBUG/INFO日志
29
- sensitive_fields=[], # 敏感字段列表
26
+ sample_rate=1, # 采样DEBUG/INFO日志
27
+ sensitive_fields=[], # 敏感字段过滤
28
+ enable_metrics=False, # 是否启用性能指标
30
29
  )
31
30
 
32
31
 
mdbq/mysql/s_query.py CHANGED
@@ -4,14 +4,24 @@ import warnings
4
4
  import pymysql
5
5
  import pandas as pd
6
6
  from decimal import Decimal
7
- import logging
8
7
  from contextlib import closing
8
+ from mdbq.log import mylogger
9
9
 
10
10
  warnings.filterwarnings('ignore')
11
11
  """
12
12
  程序专门用来下载数据库数据, 并返回 df, 不做清洗数据操作;
13
13
  """
14
- logger = logging.getLogger(__name__)
14
+ logger = mylogger.MyLogger(
15
+ logging_mode='file',
16
+ log_level='info',
17
+ log_format='json',
18
+ max_log_size=50,
19
+ backup_count=5,
20
+ enable_async=False, # 是否启用异步日志
21
+ sample_rate=1, # 采样DEBUG/INFO日志
22
+ sensitive_fields=[], # 敏感字段过滤
23
+ enable_metrics=False, # 是否启用性能指标
24
+ )
15
25
 
16
26
 
17
27
  class QueryDatas:
mdbq/mysql/uploader.py CHANGED
@@ -15,16 +15,15 @@ from decimal import Decimal, InvalidOperation
15
15
 
16
16
  warnings.filterwarnings('ignore')
17
17
  logger = mylogger.MyLogger(
18
- name='uploader',
19
18
  logging_mode='file',
20
19
  log_level='info',
21
- log_file='uploader.log',
22
20
  log_format='json',
23
21
  max_log_size=50,
24
22
  backup_count=5,
25
23
  enable_async=False, # 是否启用异步日志
26
- sample_rate=1, # 采样DEBUG/INFO日志, 0.5表示50%的日志会被采样
27
- sensitive_fields=[], # 过滤敏感字段列表
24
+ sample_rate=1, # 采样DEBUG/INFO日志
25
+ sensitive_fields=[], # 敏感字段过滤
26
+ enable_metrics=False, # 是否启用性能指标
28
27
  )
29
28
 
30
29
 
mdbq/redis/getredis.py CHANGED
@@ -1,34 +1,26 @@
1
1
  # -*- coding: UTF-8 –*-
2
- import os
3
2
  import random
4
3
  import pandas as pd
5
4
  import numpy as np
6
5
  import json
7
6
  import datetime
8
7
  import threading
9
- import logging
10
- from logging.handlers import RotatingFileHandler
8
+ from mdbq.log import mylogger
11
9
  from decimal import Decimal
12
10
  import orjson
13
11
 
14
12
  # 获取当前模块的日志记录器
15
- logger = logging.getLogger(__name__)
16
-
17
- # 创建一个文件处理器,用于将日志写入文件
18
- dir_path = os.path.expanduser("~")
19
- # config_file = os.path.join(dir_path, 'spd.txt')
20
- log_file = os.path.join(dir_path, 'logfile', 'redis.log')
21
- if not os.path.isdir(os.path.join(dir_path, 'logfile')):
22
- os.mkdir(os.path.join(dir_path, 'logfile'))
23
- file_handler = RotatingFileHandler(log_file, maxBytes=3 * 1024 * 1024, backupCount=10, encoding='utf-8') # 保留10个备份文件
24
- file_handler.setLevel(logging.INFO) # 设置文件处理器的日志级别
25
-
26
- # 创建一个日志格式器,并设置给文件处理器
27
- formatter = logging.Formatter('[%(asctime)s] %(levelname)s %(message)s', datefmt='%Y-%m-%d %H:%M:%S')
28
- file_handler.setFormatter(formatter)
29
-
30
- # 将文件处理器添加到日志记录器
31
- logger.addHandler(file_handler)
13
+ logger = mylogger.MyLogger(
14
+ logging_mode='file',
15
+ log_level='info',
16
+ log_format='json',
17
+ max_log_size=50,
18
+ backup_count=5,
19
+ enable_async=False, # 是否启用异步日志
20
+ sample_rate=1, # 采样DEBUG/INFO日志
21
+ sensitive_fields=[], # 敏感字段过滤
22
+ enable_metrics=False, # 是否启用性能指标
23
+ )
32
24
 
33
25
 
34
26
  class RedisData(object):
mdbq/spider/aikucun.py CHANGED
@@ -29,16 +29,14 @@ uld = uploader.MySQLUploader(username=username, password=password, host=host, po
29
29
  # 实例化一个数据查询类,用来获取 cookies 表数据
30
30
  download = s_query.QueryDatas(username=username, password=password, host=host, port=port)
31
31
  logger = mylogger.MyLogger(
32
- name='aikucun',
33
32
  logging_mode='file',
34
33
  log_level='info',
35
- log_file='aikucun.log',
36
34
  log_format='json',
37
35
  max_log_size=50,
38
36
  backup_count=5,
39
37
  enable_async=False, # 是否启用异步日志
40
- sample_rate=1, # 采样50%的DEBUG/INFO日志
41
- sensitive_fields=[], # 敏感字段列表
38
+ sample_rate=1, # 采样DEBUG/INFO日志
39
+ sensitive_fields=[], # 敏感字段过滤
42
40
  enable_metrics=False, # 是否启用性能指标
43
41
  )
44
42
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: mdbq
3
- Version: 4.0.0
3
+ Version: 4.0.1
4
4
  Home-page: https://pypi.org/project/mdbq
5
5
  Author: xigua,
6
6
  Author-email: 2587125111@qq.com
@@ -1,18 +1,18 @@
1
1
  mdbq/__init__.py,sha256=Il5Q9ATdX8yXqVxtP_nYqUhExzxPC_qk_WXQ_4h0exg,16
2
- mdbq/__version__.py,sha256=rGzKotWztr8AKlJYeZkowEC43bIAfiOqR7lVganyrJE,17
2
+ mdbq/__version__.py,sha256=WBE7mTxRoSY0T8hh6Mw105SxEvMZncp5QBVgj2EYNrk,17
3
3
  mdbq/aggregation/__init__.py,sha256=EeDqX2Aml6SPx8363J-v1lz0EcZtgwIBYyCJV6CcEDU,40
4
- mdbq/aggregation/query_data.py,sha256=nxL8hSy8yI1QLlqnkTNHHQSxRfo-6WKL5OA-N4xLB7c,179832
4
+ mdbq/aggregation/query_data.py,sha256=U6dYK8_gEaNnsGKooEkzfAWnzNA8kt0uomec49e4olE,177536
5
5
  mdbq/config/__init__.py,sha256=jso1oHcy6cJEfa7udS_9uO5X6kZLoPBF8l3wCYmr5dM,18
6
6
  mdbq/config/config.py,sha256=eaTfrfXQ65xLqjr5I8-HkZd_jEY1JkGinEgv3TSLeoQ,3170
7
7
  mdbq/log/__init__.py,sha256=Mpbrav0s0ifLL7lVDAuePEi1hJKiSHhxcv1byBKDl5E,15
8
8
  mdbq/log/mylogger.py,sha256=qBOHJK_h6R_SpfQ1yC5fAlJIEm6uro810i-47uA9C_U,22872
9
9
  mdbq/log/spider_logging.py,sha256=-ozWWEGm3HVv604ozs_OOvVwumjokmUPwbaodesUrPY,1664
10
10
  mdbq/mysql/__init__.py,sha256=A_DPJyAoEvTSFojiI2e94zP0FKtCkkwKP1kYUCSyQzo,11
11
- mdbq/mysql/deduplicator.py,sha256=iMloLJz4i0w5UGyIwya-GiQS1iMq-DMmA7XPU8PP5k4,73138
12
- mdbq/mysql/mysql.py,sha256=Kjpi-LL00WQUmTTOfhEBsNrmo4-4kFFJzrHbVKfqiBE,56770
13
- mdbq/mysql/s_query.py,sha256=dlnrVJ3-Vp1Suv9CNbPxyYSRqRJUHjOpF39tb2F-wBc,10190
11
+ mdbq/mysql/deduplicator.py,sha256=8v3MC6TJ0YEiExWrTP9OXAxTYnL9XbpYL2vWaER1h2M,73099
12
+ mdbq/mysql/mysql.py,sha256=pDg771xBugCMSTWeskIFTi3pFLgaqgyG3smzf-86Wn8,56772
13
+ mdbq/mysql/s_query.py,sha256=tSBEbyuVQBeE6tckHSbguAQh9T07tvPhf4J6DlpUBP8,10508
14
14
  mdbq/mysql/unique_.py,sha256=eygkSlRda786iwpR1Q-ofnrhDqhZUE4Z0yVZ9LR4EEU,21158
15
- mdbq/mysql/uploader.py,sha256=Oyq1lbI0DrUFQHCK14qkPlFQswR_Qm4dBMSec_CUAYA,70458
15
+ mdbq/mysql/uploader.py,sha256=sqzJsOTDJuNJeh9oT_lVsReMwSifETSHd-ZwwGshj9I,70421
16
16
  mdbq/other/__init__.py,sha256=jso1oHcy6cJEfa7udS_9uO5X6kZLoPBF8l3wCYmr5dM,18
17
17
  mdbq/other/download_sku_picture.py,sha256=YU8DxKMXbdeE1OOKEA848WVp62jYHw5O4tXTjUdq9H0,44832
18
18
  mdbq/other/otk.py,sha256=iclBIFbQbhlqzUbcMMoePXBpcP1eZ06ZtjnhcA_EbmE,7241
@@ -22,10 +22,10 @@ mdbq/pbix/__init__.py,sha256=Trtfaynu9RjoTyLLYBN2xdRxTvm_zhCniUkVTAYwcjo,24
22
22
  mdbq/pbix/pbix_refresh.py,sha256=JUjKW3bNEyoMVfVfo77UhguvS5AWkixvVhDbw4_MHco,2396
23
23
  mdbq/pbix/refresh_all.py,sha256=OBT9EewSZ0aRS9vL_FflVn74d4l2G00wzHiikCC4TC0,5926
24
24
  mdbq/redis/__init__.py,sha256=YtgBlVSMDphtpwYX248wGge1x-Ex_mMufz4-8W0XRmA,12
25
- mdbq/redis/getredis.py,sha256=YHgCKO8mEsslwet33K5tGss-nrDDwPnOSlhA9iBu0jY,24078
25
+ mdbq/redis/getredis.py,sha256=l3zBK7wrZl0oO42-_UGylyatnIp_SBw8wDDvof9fht4,23534
26
26
  mdbq/spider/__init__.py,sha256=RBMFXGy_jd1HXZhngB2T2XTvJqki8P_Fr-pBcwijnew,18
27
- mdbq/spider/aikucun.py,sha256=GaekqY55pDEgVxbeQzHHshnQMC2YDv3v4mA7cQwjli4,21019
28
- mdbq-4.0.0.dist-info/METADATA,sha256=oGG1nyu37HUrUS5Tes3s5NeleIiE_neE2-rCvcceMaU,363
29
- mdbq-4.0.0.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
30
- mdbq-4.0.0.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
31
- mdbq-4.0.0.dist-info/RECORD,,
27
+ mdbq/spider/aikucun.py,sha256=hPRzLQvFIF4ibN8aP3Dg_ru5meac90faPyzOB22cj-o,20965
28
+ mdbq-4.0.1.dist-info/METADATA,sha256=8oQgsqmQ4Nf0vF2YyIJ7Z9mgGdt5Pv4mPLu2z9057xQ,363
29
+ mdbq-4.0.1.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
30
+ mdbq-4.0.1.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
31
+ mdbq-4.0.1.dist-info/RECORD,,
File without changes