mdbq 2.7.4__py3-none-any.whl → 2.7.5__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.
@@ -152,11 +152,11 @@ def mysql_all_dtypes(db_name=None, table_name=None, path=None):
152
152
  """
153
153
  username, password, host, port, service_name = None, None, None, None, None
154
154
  conf = myconfig.main()
155
- if socket.gethostname().lower() in ['xigua_lx', 'xigua1', 'macbook pro']:
155
+ if socket.gethostname() in ['xigua_lx', 'xigua1', 'MacBookPro']:
156
156
  data = conf['Windows']['xigua_lx']['mysql']['local']
157
157
  username, password, host, port = data['username'], data['password'], data['host'], data['port']
158
158
  service_name = 'xigua_lx' # 影响 mysql_types_xigua_lx.json 文件名
159
- elif socket.gethostname().lower() in ['company', 'Mac2.local']:
159
+ elif socket.gethostname() in ['company', 'Mac2.local']:
160
160
  data = conf['Windows']['company']['mysql']['local']
161
161
  username, password, host, port = data['username'], data['password'], data['host'], data['port']
162
162
  service_name = 'company' # 影响 mysql_types_company.json 文件名
@@ -11,12 +11,12 @@ import platform
11
11
  对指定数据库所有冗余数据进行清理
12
12
  """
13
13
  username, password, host, port, service_database = None, None, None, None, None,
14
- if socket.gethostname().lower() in ['xigua_lx', 'xigua1', 'macbook pro']:
14
+ if socket.gethostname() in ['xigua_lx', 'xigua1', 'MacBookPro']:
15
15
  conf = myconfig.main()
16
16
  data = conf['Windows']['xigua_lx']['mysql']['local']
17
17
  username, password, host, port = data['username'], data['password'], data['host'], data['port']
18
18
  service_database = {'xigua_lx': 'mysql'}
19
- elif socket.gethostname().lower() in ['company', 'mac2.local']:
19
+ elif socket.gethostname() in ['company', 'Mac2.local']:
20
20
  conf = myconfig.main()
21
21
  data = conf['Windows']['company']['mysql']['local']
22
22
  username, password, host, port = data['username'], data['password'], data['host'], data['port']
@@ -74,7 +74,7 @@ def restart_mongodb():
74
74
  def op_data(db_name_lists, days: int = 63, is_mongo=True, is_mysql=True):
75
75
  """ """
76
76
 
77
- if socket.gethostname() == 'xigua_lx' or socket.gethostname() == 'xigua1' or socket.gethostname() == 'mac2.local':
77
+ if socket.gethostname() == 'xigua_lx' or socket.gethostname() == 'xigua1' or socket.gethostname() == 'Mac2.local':
78
78
  # Mysql
79
79
  if is_mysql:
80
80
  s = mysql.OptimizeDatas(username=username, password=password, host=host, port=port)
@@ -26,12 +26,12 @@ import os
26
26
 
27
27
  """
28
28
  username, password, host, port, service_database = None, None, None, None, None,
29
- if socket.gethostname().lower() in ['xigua_lx', 'xigua1', 'macbook pro']:
29
+ if socket.gethostname() in ['xigua_lx', 'xigua1', 'MacBookPro']:
30
30
  conf = myconfig.main()
31
31
  conf_data = conf['Windows']['xigua_lx']['mysql']['local']
32
32
  username, password, host, port = conf_data['username'], conf_data['password'], conf_data['host'], conf_data['port']
33
33
  service_database = {'xigua_lx': 'mysql'}
34
- elif socket.gethostname().lower() in ['company', 'mac2.local']:
34
+ elif socket.gethostname() in ['company', 'Mac2.local']:
35
35
  conf = myconfig.main()
36
36
  conf_data = conf['Windows']['company']['mysql']['local']
37
37
  username, password, host, port = conf_data['username'], conf_data['password'], conf_data['host'], conf_data['port']
@@ -46,12 +46,12 @@ upload_path = os.path.join(D_PATH, '数据上传中心') # 此目录位于下
46
46
  source_path3 = os.path.join(Data_Path, '原始文件3') # 此目录保存下载并清洗过的文件,作为数据库备份
47
47
 
48
48
  username, password, host, port, service_database = None, None, None, None, None,
49
- if socket.gethostname().lower() in ['xigua_lx', 'xigua1', 'macbook pro']:
49
+ if socket.gethostname() in ['xigua_lx', 'xigua1', 'MacBookPro']:
50
50
  conf = myconfig.main()
51
51
  conf_data = conf['Windows']['xigua_lx']['mysql']['local']
52
52
  username, password, host, port = conf_data['username'], conf_data['password'], conf_data['host'], conf_data['port']
53
53
  service_database = {'xigua_lx': 'mysql'}
54
- elif socket.gethostname().lower() in ['company', 'mac2.local']:
54
+ elif socket.gethostname() in ['company', 'Mac2.local']:
55
55
  conf = myconfig.main()
56
56
  conf_data = conf['Windows']['company']['mysql']['local']
57
57
  username, password, host, port = conf_data['username'], conf_data['password'], conf_data['host'], conf_data['port']
mdbq/company/copysh.py CHANGED
@@ -10,22 +10,43 @@ import shutil
10
10
  import time
11
11
  import re
12
12
  import socket
13
- from dateutil.utils import today
14
13
  from mdbq.bdup import bdup
15
- from mdbq.aggregation import aggregation
16
14
  from mdbq.aggregation import query_data
17
15
  from mdbq.aggregation import optimize_data
18
- from mdbq.config import update_conf
19
- from mdbq.config import get_myconf
20
16
  from mdbq.config import set_support
21
- from mdbq.config import products
17
+ from mdbq.config import myconfig
22
18
  from mdbq.mysql import mysql
23
19
  from mdbq.pbix import refresh_all
24
- from mdbq.other import sku_picture
25
20
  from mdbq.clean import clean_upload
26
21
  warnings.filterwarnings('ignore')
27
22
 
28
23
 
24
+ if platform.system() == 'Windows':
25
+ # windows版本
26
+ Data_Path = r'C:\同步空间\BaiduSyncdisk'
27
+ D_PATH = os.path.join(f'C:\\Users\\{getpass.getuser()}\\Downloads')
28
+ Share_Path = os.path.join(r'\\192.168.1.198\时尚事业部\01.运营部\天猫报表') # 共享文件根目录
29
+ elif platform.system() == 'Linux':
30
+ Data_Path = '数据中心'
31
+ D_PATH = 'Downloads'
32
+ if not os.path.exists(D_PATH):
33
+ os.makedirs(D_PATH)
34
+ Share_Path = '' # linux 通常是远程服务器,不需要访问共享
35
+ else:
36
+ Data_Path = f'/Users/{getpass.getuser()}/数据中心' # 使用Mac独立网络时
37
+ D_PATH = os.path.join(f'/Users/{getpass.getuser()}/Downloads')
38
+ Share_Path = os.path.join('/Volumes/时尚事业部/01.运营部/天猫报表') # 共享文件根目录
39
+
40
+ upload_path = os.path.join(D_PATH, '数据上传中心') # 此目录位于下载文件夹,将统一上传百度云备份
41
+ source_path = os.path.join(Data_Path, '原始文件3') # 此目录保存下载并清洗过的文件,作为数据库备份
42
+ if not os.path.exists(upload_path): # 数据中心根目录
43
+ os.makedirs(upload_path)
44
+ if not os.path.exists(Data_Path): # 数据中心根目录
45
+ os.makedirs(Data_Path)
46
+ if not os.path.exists(source_path): # 原始文件
47
+ os.makedirs(source_path)
48
+
49
+
29
50
  class TbFiles:
30
51
  """
31
52
  用于在公司台式机中 定时同步pandas数据源文件到共享
@@ -289,31 +310,6 @@ class TbFiles:
289
310
  return False
290
311
 
291
312
 
292
- class UpdateMysql:
293
- def __init__(self):
294
- support_path = set_support.SetSupport(dirname='support').dirname
295
- self.my_conf = os.path.join(support_path, '.copysh_conf')
296
- self.ch_record = False
297
- self.d_path = None
298
-
299
- def check_date(self):
300
- """ 检查公司台式机 .copysh_conf 文件中的 ch_record 值,决定是否执行更新"""
301
- config = configparser.ConfigParser() # 初始化configparser类
302
- try:
303
- config.read(self.my_conf, 'UTF-8')
304
- self.ch_record = config.get('database', 'ch_record').lower()
305
- self.d_path = config.get('database', 'd_path')
306
- except Exception as e:
307
- print(e)
308
- if self.ch_record == 'false':
309
- return False, self.d_path
310
- elif self.ch_record == 'true':
311
- return True, self.d_path
312
- else:
313
- print(f'配置可能有误: {self.ch_record}, self.ch_record 值应为: true 或 false')
314
- return False, self.d_path
315
-
316
-
317
313
  def op_data(days: int =100):
318
314
 
319
315
  # 清理数据库, 除了 聚合数据
@@ -343,28 +339,39 @@ def op_data(days: int =100):
343
339
 
344
340
 
345
341
  def main():
342
+ if socket.gethostname() != 'company':
343
+ print(f'只可以在 company 运行')
344
+ return
346
345
  t = TbFiles()
347
- u = UpdateMysql()
348
346
  while True:
349
- res, d_path = u.check_date() # 文件中的 ch_record 值,决定是否执行更新
350
- if res:
351
- upload_path = f'windows2/{str(datetime.date.today().strftime("%Y-%m"))}/{str(datetime.date.today())}'
347
+ system = platform.system() # 本机系统
348
+ host_name = socket.gethostname() # 本机名
349
+ conf = myconfig.main()
350
+ data = conf[system][host_name]
351
+ is_download = data['is_download'] # 读取配置, 如果是 Ture 则执行更新
352
+
353
+ if is_download:
354
+ bd_remoto_path = f'windows2/{str(datetime.date.today().strftime("%Y-%m"))}/{str(datetime.date.today())}'
352
355
  b = bdup.BaiDu()
353
356
  # 1. 从百度云下载文件
354
- b.download_dir(local_path=d_path, remote_path=upload_path)
357
+ b.download_dir(local_path=upload_path, remote_path=bd_remoto_path)
355
358
 
356
- # 2. 对文件进行清洗和上传数据库
357
359
  clean_upload.main(
358
- service_databases = [{'company': 'mysql'}],
359
- is_mysql = False, # 清理聚合数据
360
+ is_mysql=True, # 调试时加,False: 是否后续的聚合数据及清理
360
361
  )
361
362
 
362
- # 此操作用于修改 .copysh_conf 文件,将 ch_record 改为 false (更新完成)
363
- w = update_conf.UpdateConf()
364
- w.update_config(filename='.copysh_conf', option='ch_record', new_value='False')
365
- time.sleep(60)
366
- # 3. 数据清理和聚合
367
- op_data(days=100)
363
+ #
364
+ # # 3. 数据清理和聚合
365
+ # op_data(days=100)
366
+
367
+ # 此处不可以使用 data 更新,要使用具体键值,否则数据有覆盖
368
+ conf['Windows']['company'].update(
369
+ {
370
+ 'is_download': False # 更新完成,下次需 all-datas.py 修改或者手动修改
371
+ }
372
+ )
373
+ # print(conf)
374
+ myconfig.write_back(datas=conf) # 写回文件生效
368
375
 
369
376
  t.sleep_minutes = 5 # 同步前休眠时间
370
377
  t.tb_file()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mdbq
3
- Version: 2.7.4
3
+ Version: 2.7.5
4
4
  Home-page: https://pypi.org/project/mdbq
5
5
  Author: xigua,
6
6
  Author-email: 2587125111@qq.com
@@ -3,16 +3,16 @@ mdbq/__version__.py,sha256=y9Mp_8x0BCZSHsdLT_q5tX9wZwd5QgqrSIENLrb6vXA,62
3
3
  mdbq/aggregation/__init__.py,sha256=EeDqX2Aml6SPx8363J-v1lz0EcZtgwIBYyCJV6CcEDU,40
4
4
  mdbq/aggregation/aggregation.py,sha256=nn8RjHuiAH68awM893wXX0Bvg0QpsEQ5RXkxFn7H-fs,77219
5
5
  mdbq/aggregation/df_types.py,sha256=U9i3q2eRPTDY8qAPTw7irzu-Tlg4CIySW9uYro81wdk,8125
6
- mdbq/aggregation/mysql_types.py,sha256=VPaDclx4twRZFfv4JYbsuwqzWWFnBLEPr00j1RvXWDI,10937
7
- mdbq/aggregation/optimize_data.py,sha256=tJU5yVeh6b8vjyBehJJkMxtQ7cjyo3erZtXzpp0q-Uo,3530
8
- mdbq/aggregation/query_data.py,sha256=MNokoRaoo2FzbcPQWGfa9UJDrbe0xvYdkESBM5RbM8E,98392
6
+ mdbq/aggregation/mysql_types.py,sha256=o8mbhmApd1XOHttbzYtV46SjKZ2NAcIpO1FuwIyBuf4,10920
7
+ mdbq/aggregation/optimize_data.py,sha256=79uwiM2WqNNFxGpE2wKz742PRq-ZGgFjdOV0vgptHdY,3513
8
+ mdbq/aggregation/query_data.py,sha256=mEmEQaN4-P9_cRd3ZYV260FvbkKSbGaa7yYoaN0v4uw,98375
9
9
  mdbq/bdup/__init__.py,sha256=AkhsGk81SkG1c8FqDH5tRq-8MZmFobVbN60DTyukYTY,28
10
10
  mdbq/bdup/bdup.py,sha256=LAV0TgnQpc-LB-YuJthxb0U42_VkPidzQzAagan46lU,4234
11
11
  mdbq/clean/__init__.py,sha256=A1d6x3L27j4NtLgiFV5TANwEkLuaDfPHDQNrPBbNWtU,41
12
- mdbq/clean/clean_upload.py,sha256=QdM8vjKuzsR5W3LXP9-BvsplFq1mNwNR7DvyRYc7k_w,82905
12
+ mdbq/clean/clean_upload.py,sha256=8L5d03AQKreYeJ-DQUu3BmkSym76zqmEzlcZcWp2OEc,82888
13
13
  mdbq/clean/data_clean.py,sha256=ucfslhqXVZoH2QaXHSAWDky0GhIvH9f4GeNaHg4SrFE,104790
14
14
  mdbq/company/__init__.py,sha256=qz8F_GsP_pMB5PblgJAUAMjasuZbOEp3qQOCB39E8f0,21
15
- mdbq/company/copysh.py,sha256=sisL5eo3D5HGGYvRw46xGqnqFaI3SxfBnoa-Y7zknus,17541
15
+ mdbq/company/copysh.py,sha256=4VOAvHZfnhsKdeKL0Ho6q2x1OkD6nsZXRLyYdu8YAaE,18011
16
16
  mdbq/company/copysh_bak.py,sha256=NvlXCBZBcO2GIT5nLRYYqhOyHWM1-1RE7DHvgbj6jmQ,19723
17
17
  mdbq/company/home_sh.py,sha256=42CZ2tZIXHLl2mOl2gk2fZnjH2IHh1VJ1s3qHABjonY,18021
18
18
  mdbq/config/__init__.py,sha256=jso1oHcy6cJEfa7udS_9uO5X6kZLoPBF8l3wCYmr5dM,18
@@ -45,7 +45,7 @@ mdbq/req_post/__init__.py,sha256=jso1oHcy6cJEfa7udS_9uO5X6kZLoPBF8l3wCYmr5dM,18
45
45
  mdbq/req_post/req_tb.py,sha256=PexWSCPJNM6Tv0ol4lAWIhlOwsAr_frnjtcdSHCFiek,36179
46
46
  mdbq/spider/__init__.py,sha256=RBMFXGy_jd1HXZhngB2T2XTvJqki8P_Fr-pBcwijnew,18
47
47
  mdbq/spider/aikucun.py,sha256=4Y5zd64hZUFtll8AdpUc2napDas-La-A6XzAhb2mLv0,17157
48
- mdbq-2.7.4.dist-info/METADATA,sha256=PNcXI9u1qhqqBYgV2y4hBg943DJOxXRvGq6peBK4bow,243
49
- mdbq-2.7.4.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
50
- mdbq-2.7.4.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
51
- mdbq-2.7.4.dist-info/RECORD,,
48
+ mdbq-2.7.5.dist-info/METADATA,sha256=MKm3QuPOvdBrche5N9OSCmgf5NPgP4OdLwLfD8seSPs,243
49
+ mdbq-2.7.5.dist-info/WHEEL,sha256=cpQTJ5IWu9CdaPViMhC9YzF8gZuS5-vlfoFihTBC86A,91
50
+ mdbq-2.7.5.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
51
+ mdbq-2.7.5.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.44.0)
2
+ Generator: setuptools (70.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5