mdbq 3.2.17__py3-none-any.whl → 3.2.19__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/aggregation/query_data.py +15 -13
- mdbq/mysql/mysql.py +85 -57
- {mdbq-3.2.17.dist-info → mdbq-3.2.19.dist-info}/METADATA +1 -1
- {mdbq-3.2.17.dist-info → mdbq-3.2.19.dist-info}/RECORD +6 -6
- {mdbq-3.2.17.dist-info → mdbq-3.2.19.dist-info}/WHEEL +1 -1
- {mdbq-3.2.17.dist-info → mdbq-3.2.19.dist-info}/top_level.txt +0 -0
mdbq/aggregation/query_data.py
CHANGED
@@ -2191,8 +2191,8 @@ class MysqlDatasQuery:
|
|
2191
2191
|
}
|
2192
2192
|
if not self.update_service:
|
2193
2193
|
return
|
2194
|
-
min_date = df['日期'].min()
|
2195
|
-
max_date = df['日期'].max()
|
2194
|
+
min_date = df['日期'].min().strftime('%Y-%m-%d')
|
2195
|
+
max_date = df['日期'].max().strftime('%Y-%m-%d')
|
2196
2196
|
now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
2197
2197
|
print(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
2198
2198
|
m_engine.df_to_mysql(
|
@@ -3255,6 +3255,8 @@ def main(days=150, months=3):
|
|
3255
3255
|
"生意参谋3",
|
3256
3256
|
"生意经3",
|
3257
3257
|
"达摩盘3",
|
3258
|
+
'人群画像2',
|
3259
|
+
'人群画像3',
|
3258
3260
|
]
|
3259
3261
|
# 使用 ThreadPoolExecutor 来并行运行
|
3260
3262
|
with concurrent.futures.ThreadPoolExecutor() as executor:
|
@@ -3297,10 +3299,10 @@ def main(days=150, months=3):
|
|
3297
3299
|
|
3298
3300
|
|
3299
3301
|
if __name__ == '__main__':
|
3300
|
-
|
3301
|
-
|
3302
|
-
|
3303
|
-
|
3302
|
+
main(
|
3303
|
+
days=150, # 清理聚合数据的日期长度
|
3304
|
+
months=3 # 生成聚合数据的长度
|
3305
|
+
)
|
3304
3306
|
|
3305
3307
|
# query_list = [query1, query2]
|
3306
3308
|
# # 使用 ThreadPoolExecutor 来并行运行
|
@@ -3314,10 +3316,10 @@ if __name__ == '__main__':
|
|
3314
3316
|
# ),
|
3315
3317
|
# }
|
3316
3318
|
|
3317
|
-
# 3. 清理聚合数据
|
3318
|
-
optimize_data.op_data(
|
3319
|
-
|
3320
|
-
|
3321
|
-
|
3322
|
-
|
3323
|
-
)
|
3319
|
+
# # 3. 清理聚合数据
|
3320
|
+
# optimize_data.op_data(
|
3321
|
+
# db_name_lists=['聚合数据'],
|
3322
|
+
# days=30, # 清理聚合数据的日期长度
|
3323
|
+
# is_mongo=False,
|
3324
|
+
# is_mysql=True,
|
3325
|
+
# )
|
mdbq/mysql/mysql.py
CHANGED
@@ -180,7 +180,7 @@ class MysqlUpload:
|
|
180
180
|
__res_dict.update({'数据主体': 'longblob'})
|
181
181
|
return __res_dict, new_dict_data
|
182
182
|
|
183
|
-
|
183
|
+
@try_except
|
184
184
|
def doc_to_sql(self, db_name, table_name, dict_data, set_typ={}, remove_by_key=None, allow_not_null=False, filename=None, reset_id=False):
|
185
185
|
"""
|
186
186
|
db_name:
|
@@ -299,18 +299,24 @@ class MysqlUpload:
|
|
299
299
|
cursor.execute(sql)
|
300
300
|
result = cursor.fetchall() # 复合主键数
|
301
301
|
if len(result) <= 1: # 如果存在复合主键,则不能直接删除 id 键,其他主键可能不是唯一,会报错
|
302
|
-
|
302
|
+
column_name = 'id'
|
303
|
+
sql = (f'SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS '
|
304
|
+
f'WHERE TABLE_SCHEMA = %s AND TABLE_NAME = %s AND COLUMN_NAME = %s')
|
305
|
+
# cursor.execute(f"SHOW COLUMNS FROM `{table_name}` LIKE 'id'")
|
306
|
+
cursor.execute(sql, (db_name, table_name, column_name))
|
303
307
|
result = cursor.fetchone()
|
304
308
|
if result:
|
305
|
-
cursor.execute(f"ALTER TABLE {table_name} DROP COLUMN id;") # 删除 id 列
|
309
|
+
# cursor.execute(f"ALTER TABLE `{table_name}` DROP COLUMN id;") # 删除 id 列
|
310
|
+
sql = f"ALTER TABLE `{table_name}` DROP COLUMN {column_name}" # 删除 id 列
|
311
|
+
cursor.execute(sql)
|
306
312
|
cursor.execute(
|
307
|
-
f"ALTER TABLE {table_name} ADD column id INT AUTO_INCREMENT PRIMARY KEY FIRST;")
|
308
|
-
cursor.execute(f"ALTER TABLE {table_name} AUTO_INCREMENT = 1") # 设置自增从 1 开始
|
313
|
+
f"ALTER TABLE `{table_name}` ADD column id INT AUTO_INCREMENT PRIMARY KEY FIRST;")
|
314
|
+
cursor.execute(f"ALTER TABLE `{table_name}` AUTO_INCREMENT = 1") # 设置自增从 1 开始
|
309
315
|
# print(f'重置自增id')
|
310
316
|
else:
|
311
|
-
print(f'{table_name}
|
317
|
+
print(f'{table_name} 存在复合主键: 存在复合主键: {[item['PrimaryKey'] for item in result]}, 无法重置自增id')
|
312
318
|
except Exception as e:
|
313
|
-
print(f'{e}')
|
319
|
+
print(f'333 `{table_name}` {e}')
|
314
320
|
connection.rollback()
|
315
321
|
connection.commit()
|
316
322
|
|
@@ -678,10 +684,10 @@ class MysqlUpload:
|
|
678
684
|
self.filename = filename
|
679
685
|
if isinstance(df, pd.DataFrame):
|
680
686
|
if len(df) == 0:
|
681
|
-
print(f'{db_name}: {table_name} 传入的 df 数据长度为0, {self.filename}')
|
687
|
+
print(f'{db_name}: `{table_name}` 传入的 df 数据长度为0, {self.filename}')
|
682
688
|
return
|
683
689
|
else:
|
684
|
-
print(f'{db_name}: {table_name} 传入的 df 不是有效的 dataframe 结构, {self.filename}')
|
690
|
+
print(f'{db_name}: `{table_name}` 传入的 df 不是有效的 dataframe 结构, {self.filename}')
|
685
691
|
return
|
686
692
|
if not db_name or db_name == 'None':
|
687
693
|
print(f'{db_name} 不能为 None')
|
@@ -780,7 +786,6 @@ class MysqlUpload:
|
|
780
786
|
chunksize=1000
|
781
787
|
)
|
782
788
|
if reset_id:
|
783
|
-
pass
|
784
789
|
# 6. 重置自增列
|
785
790
|
try:
|
786
791
|
# 查询所有复合主键
|
@@ -791,18 +796,24 @@ class MysqlUpload:
|
|
791
796
|
cursor.execute(sql)
|
792
797
|
result = cursor.fetchall() # 复合主键数
|
793
798
|
if len(result) <= 1: # 如果存在复合主键,则不能直接删除 id 键,其他主键可能不是唯一,会报错
|
794
|
-
|
799
|
+
column_name = 'id'
|
800
|
+
sql = (f'SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS '
|
801
|
+
f'WHERE TABLE_SCHEMA = %s AND TABLE_NAME = %s AND COLUMN_NAME = %s')
|
802
|
+
# cursor.execute(f"SHOW COLUMNS FROM `{table_name}` LIKE 'id'")
|
803
|
+
cursor.execute(sql, (db_name, table_name, column_name))
|
795
804
|
result = cursor.fetchone()
|
796
805
|
if result:
|
797
|
-
cursor.execute(f"ALTER TABLE {table_name} DROP COLUMN id;") # 删除 id 列
|
806
|
+
# cursor.execute(f"ALTER TABLE `{table_name}` DROP COLUMN id;") # 删除 id 列
|
807
|
+
sql = f"ALTER TABLE `{table_name}` DROP COLUMN {column_name}" # 删除 id 列
|
808
|
+
cursor.execute(sql)
|
798
809
|
cursor.execute(
|
799
|
-
f"ALTER TABLE {table_name} ADD column id INT AUTO_INCREMENT PRIMARY KEY FIRST;")
|
800
|
-
cursor.execute(f"ALTER TABLE {table_name} AUTO_INCREMENT = 1") # 设置自增从 1 开始
|
810
|
+
f"ALTER TABLE `{table_name}` ADD column id INT AUTO_INCREMENT PRIMARY KEY FIRST;")
|
811
|
+
cursor.execute(f"ALTER TABLE `{table_name}` AUTO_INCREMENT = 1") # 设置自增从 1 开始
|
801
812
|
# print(f'重置自增id')
|
802
813
|
else:
|
803
|
-
print(f'{table_name}
|
814
|
+
print(f'{table_name} 存在复合主键: {[item['PrimaryKey'] for item in result]}, 无法重置自增id')
|
804
815
|
except Exception as e:
|
805
|
-
print(f'{e}')
|
816
|
+
print(f'333 `{table_name}` {e}')
|
806
817
|
connection.rollback()
|
807
818
|
connection.commit() # 提交事务
|
808
819
|
connection.close()
|
@@ -832,29 +843,34 @@ class MysqlUpload:
|
|
832
843
|
chunksize=1000
|
833
844
|
)
|
834
845
|
# 6. 重置自增列
|
835
|
-
|
836
|
-
|
837
|
-
|
838
|
-
|
839
|
-
|
840
|
-
|
841
|
-
|
842
|
-
|
843
|
-
|
844
|
-
|
845
|
-
|
846
|
-
|
847
|
-
|
848
|
-
|
849
|
-
|
850
|
-
|
851
|
-
cursor.execute(f"ALTER TABLE {table_name}
|
852
|
-
#
|
853
|
-
|
854
|
-
|
855
|
-
|
856
|
-
|
857
|
-
|
846
|
+
try:
|
847
|
+
# 查询所有复合主键
|
848
|
+
sql = (
|
849
|
+
f"SELECT `COLUMN_NAME` AS `PrimaryKey` FROM `information_schema`.`COLUMNS` "
|
850
|
+
f"WHERE `TABLE_SCHEMA` = '{db_name}'AND `TABLE_NAME` = '{table_name}' AND `COLUMN_KEY` = 'PRI';"
|
851
|
+
)
|
852
|
+
cursor.execute(sql)
|
853
|
+
result = cursor.fetchall() # 复合主键数
|
854
|
+
if len(result) <= 1: # 如果存在复合主键,则不能直接删除 id 键,其他主键可能不是唯一,会报错
|
855
|
+
column_name = 'id'
|
856
|
+
sql = (f'SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS '
|
857
|
+
f'WHERE TABLE_SCHEMA = %s AND TABLE_NAME = %s AND COLUMN_NAME = %s')
|
858
|
+
# cursor.execute(f"SHOW COLUMNS FROM `{table_name}` LIKE 'id'")
|
859
|
+
cursor.execute(sql, (db_name, table_name, column_name))
|
860
|
+
result = cursor.fetchone()
|
861
|
+
if result:
|
862
|
+
# cursor.execute(f"ALTER TABLE `{table_name}` DROP COLUMN id;") # 删除 id 列
|
863
|
+
sql = f"ALTER TABLE `{table_name}` DROP COLUMN {column_name}" # 删除 id 列
|
864
|
+
cursor.execute(sql)
|
865
|
+
cursor.execute(
|
866
|
+
f"ALTER TABLE `{table_name}` ADD column id INT AUTO_INCREMENT PRIMARY KEY FIRST;")
|
867
|
+
cursor.execute(f"ALTER TABLE `{table_name}` AUTO_INCREMENT = 1") # 设置自增从 1 开始
|
868
|
+
# print(f'重置自增id')
|
869
|
+
else:
|
870
|
+
print(f'{table_name} 存在复合主键: {[item['PrimaryKey'] for item in result]}, 无法重置自增id')
|
871
|
+
except Exception as e:
|
872
|
+
print(f'333 `{table_name}` {e}')
|
873
|
+
connection.rollback()
|
858
874
|
connection.close()
|
859
875
|
return
|
860
876
|
|
@@ -948,8 +964,8 @@ class MysqlUpload:
|
|
948
964
|
# print(f'mysql -> df_to_mysql 报错: {e}, {self.filename}')
|
949
965
|
# breakpoint()
|
950
966
|
|
951
|
-
# 6. 重置自增列
|
952
967
|
if reset_id:
|
968
|
+
# 6. 重置自增列
|
953
969
|
try:
|
954
970
|
# 查询所有复合主键
|
955
971
|
sql = (
|
@@ -959,18 +975,24 @@ class MysqlUpload:
|
|
959
975
|
cursor.execute(sql)
|
960
976
|
result = cursor.fetchall() # 复合主键数
|
961
977
|
if len(result) <= 1: # 如果存在复合主键,则不能直接删除 id 键,其他主键可能不是唯一,会报错
|
962
|
-
|
978
|
+
column_name = 'id'
|
979
|
+
sql = (f'SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS '
|
980
|
+
f'WHERE TABLE_SCHEMA = %s AND TABLE_NAME = %s AND COLUMN_NAME = %s')
|
981
|
+
# cursor.execute(f"SHOW COLUMNS FROM `{table_name}` LIKE 'id'")
|
982
|
+
cursor.execute(sql, (db_name, table_name, column_name))
|
963
983
|
result = cursor.fetchone()
|
964
984
|
if result:
|
965
|
-
cursor.execute(f"ALTER TABLE {table_name} DROP COLUMN id;") # 删除 id 列
|
985
|
+
# cursor.execute(f"ALTER TABLE `{table_name}` DROP COLUMN id;") # 删除 id 列
|
986
|
+
sql = f"ALTER TABLE `{table_name}` DROP COLUMN {column_name}" # 删除 id 列
|
987
|
+
cursor.execute(sql)
|
966
988
|
cursor.execute(
|
967
|
-
f"ALTER TABLE {table_name} ADD column id INT AUTO_INCREMENT PRIMARY KEY FIRST;")
|
968
|
-
cursor.execute(f"ALTER TABLE {table_name} AUTO_INCREMENT = 1") # 设置自增从 1 开始
|
989
|
+
f"ALTER TABLE `{table_name}` ADD column id INT AUTO_INCREMENT PRIMARY KEY FIRST;")
|
990
|
+
cursor.execute(f"ALTER TABLE `{table_name}` AUTO_INCREMENT = 1") # 设置自增从 1 开始
|
969
991
|
# print(f'重置自增id')
|
970
992
|
else:
|
971
|
-
print(f'{table_name}
|
993
|
+
print(f'{table_name} 存在复合主键: {[item['PrimaryKey'] for item in result]}, 无法重置自增id')
|
972
994
|
except Exception as e:
|
973
|
-
print(f'{e}')
|
995
|
+
print(f'333 `{table_name}` {e}')
|
974
996
|
connection.rollback()
|
975
997
|
connection.commit() # 提交事务
|
976
998
|
connection.close()
|
@@ -1055,19 +1077,19 @@ class MysqlUpload:
|
|
1055
1077
|
columns = [desc[0] for desc in cursor.description]
|
1056
1078
|
df = pd.DataFrame(rows, columns=columns) # 转为 df
|
1057
1079
|
except Exception as e:
|
1058
|
-
print(f'{e} {db_name} -> {table_name} 表不存在')
|
1080
|
+
print(f'{e} {db_name} -> `{table_name}` 表不存在')
|
1059
1081
|
return df
|
1060
1082
|
finally:
|
1061
1083
|
connection.close()
|
1062
1084
|
|
1063
1085
|
if len(df) == 0:
|
1064
|
-
print(f'database: {db_name}, table: {table_name} 查询的数据为空')
|
1086
|
+
print(f'database: {db_name}, table: `{table_name}` 查询的数据为空')
|
1065
1087
|
else:
|
1066
1088
|
now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
1067
1089
|
cost_time = int(time.time() - before_time)
|
1068
1090
|
if cost_time < 1:
|
1069
1091
|
cost_time = round(time.time() - before_time, 2)
|
1070
|
-
print(f'{now} mysql ({self.host}) 表: {table_name} 获取数据长度: {len(df)}, 用时: {cost_time} 秒')
|
1092
|
+
print(f'{now} mysql ({self.host}) 表: `{table_name}` 获取数据长度: {len(df)}, 用时: {cost_time} 秒')
|
1071
1093
|
return df
|
1072
1094
|
|
1073
1095
|
def upload_pandas(self, update_path, db_name, days=None):
|
@@ -1263,18 +1285,24 @@ class OptimizeDatas:
|
|
1263
1285
|
cursor.execute(sql)
|
1264
1286
|
result = cursor.fetchall() # 复合主键数
|
1265
1287
|
if len(result) <= 1: # 如果存在复合主键,则不能直接删除 id 键,其他主键可能不是唯一,会报错
|
1266
|
-
|
1288
|
+
column_name = 'id'
|
1289
|
+
sql = (f'SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS '
|
1290
|
+
f'WHERE TABLE_SCHEMA = %s AND TABLE_NAME = %s AND COLUMN_NAME = %s')
|
1291
|
+
# cursor.execute(f"SHOW COLUMNS FROM `{table_name}` LIKE 'id'")
|
1292
|
+
cursor.execute(sql, (self.db_name, table_name, column_name))
|
1267
1293
|
result = cursor.fetchone()
|
1268
1294
|
if result:
|
1269
|
-
cursor.execute(f"ALTER TABLE {table_name} DROP COLUMN id;") # 删除 id 列
|
1295
|
+
# cursor.execute(f"ALTER TABLE `{table_name}` DROP COLUMN id;") # 删除 id 列
|
1296
|
+
sql = f"ALTER TABLE `{table_name}` DROP COLUMN {column_name}" # 删除 id 列
|
1297
|
+
cursor.execute(sql)
|
1270
1298
|
cursor.execute(
|
1271
|
-
f"ALTER TABLE {table_name} ADD column id INT AUTO_INCREMENT PRIMARY KEY FIRST;")
|
1272
|
-
cursor.execute(f"ALTER TABLE {table_name} AUTO_INCREMENT = 1") # 设置自增从 1 开始
|
1299
|
+
f"ALTER TABLE `{table_name}` ADD column id INT AUTO_INCREMENT PRIMARY KEY FIRST;")
|
1300
|
+
cursor.execute(f"ALTER TABLE `{table_name}` AUTO_INCREMENT = 1") # 设置自增从 1 开始
|
1273
1301
|
# print(f'重置自增id')
|
1274
1302
|
else:
|
1275
|
-
print(f'{table_name}
|
1303
|
+
print(f'{table_name} 存在复合主键: {[item['PrimaryKey'] for item in result]}, 无法重置自增id')
|
1276
1304
|
except Exception as e:
|
1277
|
-
print(f'{e}')
|
1305
|
+
print(f'333 `{table_name}` {e}')
|
1278
1306
|
self.connection.rollback()
|
1279
1307
|
self.connection.close()
|
1280
1308
|
now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
@@ -1312,7 +1340,7 @@ class OptimizeDatas:
|
|
1312
1340
|
sql = f"DELETE FROM `{table_name}` WHERE id IN ({placeholders})"
|
1313
1341
|
cursor.execute(sql, duplicate_id)
|
1314
1342
|
now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
1315
|
-
print(f"{now} {table_name} -> {date.strftime('%Y-%m-%d')} before: {len(datas)}, remove: {cursor.rowcount}")
|
1343
|
+
print(f"{now} `{table_name}` -> {date.strftime('%Y-%m-%d')} before: {len(datas)}, remove: {cursor.rowcount}")
|
1316
1344
|
self.connection.commit() # 提交事务
|
1317
1345
|
except Exception as e:
|
1318
1346
|
print(f'{self.db_name}/{table_name}, {e}')
|
@@ -1350,7 +1378,7 @@ class OptimizeDatas:
|
|
1350
1378
|
sql = f"DELETE FROM `{table_name}` WHERE id IN ({placeholders})"
|
1351
1379
|
cursor.execute(sql, duplicate_id)
|
1352
1380
|
now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
1353
|
-
print(f"{now} {table_name} -> before: {len(datas)}, "
|
1381
|
+
print(f"{now} `{table_name}` -> before: {len(datas)}, "
|
1354
1382
|
f"remove: {cursor.rowcount}")
|
1355
1383
|
self.connection.commit() # 提交事务
|
1356
1384
|
except Exception as e:
|
@@ -5,7 +5,7 @@ mdbq/aggregation/aggregation.py,sha256=-yzApnlqSN2L0E1YMu5ml-W827qpKQvWPCOI7jj2k
|
|
5
5
|
mdbq/aggregation/df_types.py,sha256=U9i3q2eRPTDY8qAPTw7irzu-Tlg4CIySW9uYro81wdk,8125
|
6
6
|
mdbq/aggregation/mysql_types.py,sha256=YTGyrF9vcRgfkQbpT-e-JdJ7c7VF1dDHgyx9YZRES8w,10934
|
7
7
|
mdbq/aggregation/optimize_data.py,sha256=RXIv7cACCgYyehAxMjUYi_S7rVyjIwXKWMaM3nduGtA,3068
|
8
|
-
mdbq/aggregation/query_data.py,sha256
|
8
|
+
mdbq/aggregation/query_data.py,sha256=Is5RUwDb_ODjU3WH2S-0b-lV1Jux2xgfE7kwNNvPx4Q,148447
|
9
9
|
mdbq/aggregation/query_data_bak.py,sha256=r1FU0C4zjXln7oVSrRkElh4Ehl-9mYhGcq57jLbViUA,104071
|
10
10
|
mdbq/aggregation/query_data_bak20241124.py,sha256=oY95ZK3qt3Wx9pdZKZ5cvDh45Yi5yGj1kl8G6riumHA,144513
|
11
11
|
mdbq/bdup/__init__.py,sha256=AkhsGk81SkG1c8FqDH5tRq-8MZmFobVbN60DTyukYTY,28
|
@@ -28,7 +28,7 @@ mdbq/log/mylogger.py,sha256=oaT7Bp-Hb9jZt52seP3ISUuxVcI19s4UiqTeouScBO0,3258
|
|
28
28
|
mdbq/mongo/__init__.py,sha256=SILt7xMtQIQl_m-ik9WLtJSXIVf424iYgCfE_tnQFbw,13
|
29
29
|
mdbq/mongo/mongo.py,sha256=v9qvrp6p1ZRWuPpbSilqveiE0FEcZF7U5xUPI0RN4xs,31880
|
30
30
|
mdbq/mysql/__init__.py,sha256=A_DPJyAoEvTSFojiI2e94zP0FKtCkkwKP1kYUCSyQzo,11
|
31
|
-
mdbq/mysql/mysql.py,sha256=
|
31
|
+
mdbq/mysql/mysql.py,sha256=4Ef1h6ucw_E8Ej_MOBa5e_IUP9PCzcq9_F0EmXelr7U,82054
|
32
32
|
mdbq/mysql/recheck_mysql.py,sha256=rgTpvDMWYTyEn7UQdlig-pdXDluTgiU8JG6lkMh8DV0,8665
|
33
33
|
mdbq/mysql/s_query.py,sha256=MbIprZ4yJDAZ9AahZPzl7hqS695Vs0P-AJNwAtA_EEc,9287
|
34
34
|
mdbq/mysql/year_month_day.py,sha256=VgewoE2pJxK7ErjfviL_SMTN77ki8GVbTUcao3vFUCE,1523
|
@@ -46,7 +46,7 @@ mdbq/req_post/__init__.py,sha256=jso1oHcy6cJEfa7udS_9uO5X6kZLoPBF8l3wCYmr5dM,18
|
|
46
46
|
mdbq/req_post/req_tb.py,sha256=qg7pet73IgKGmCwxaeUyImJIoeK_pBQT9BBKD7fkBNg,36160
|
47
47
|
mdbq/spider/__init__.py,sha256=RBMFXGy_jd1HXZhngB2T2XTvJqki8P_Fr-pBcwijnew,18
|
48
48
|
mdbq/spider/aikucun.py,sha256=yG0wqvKKqAsx_OQXAy-wAJF_DPITL3r_S-9txb5bnHk,22436
|
49
|
-
mdbq-3.2.
|
50
|
-
mdbq-3.2.
|
51
|
-
mdbq-3.2.
|
52
|
-
mdbq-3.2.
|
49
|
+
mdbq-3.2.19.dist-info/METADATA,sha256=k853SFwdrs-X-mw5US3F9rK4G0ps5IKA2XWSHJJPWws,244
|
50
|
+
mdbq-3.2.19.dist-info/WHEEL,sha256=cpQTJ5IWu9CdaPViMhC9YzF8gZuS5-vlfoFihTBC86A,91
|
51
|
+
mdbq-3.2.19.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
|
52
|
+
mdbq-3.2.19.dist-info/RECORD,,
|
File without changes
|