mdbq 0.4.3__py3-none-any.whl → 0.4.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.
@@ -12,6 +12,7 @@ import json
12
12
  from mdbq.mongo import mongo
13
13
  from mdbq.mysql import mysql
14
14
  from mdbq.config import get_myconf
15
+ from mdbq.config import set_support
15
16
  from mdbq.dataframe import converter
16
17
  import datetime
17
18
  import time
@@ -48,12 +49,7 @@ class DataTypes:
48
49
  d.dtypes_to_file()
49
50
  """
50
51
  def __init__(self):
51
- if platform.system() == 'Windows':
52
- self.path = f'C:\\同步空间\\BaiduSyncdisk\\原始文件2'
53
- elif platform.system() == 'Darwin':
54
- self.path = f'/Users/{getpass.getuser()}/数据中心/原始文件2'
55
- else:
56
- self.path = 'Downloads/数据中心/原始文件2' # 不可用
52
+ self.path = set_support.SetSupport(dirname='support').dirname
57
53
  if not os.path.exists(self.path):
58
54
  os.mkdir(self.path)
59
55
  self.json_file = os.path.join(self.path, 'data_types.json')
@@ -127,8 +123,8 @@ class DataTypes:
127
123
  def dtypes_to_file(self):
128
124
  """ 保存为本地 json 文件 """
129
125
  # print(self.datas)
130
- with open(self.json_file, 'w', encoding='utf-8_sig') as json_file:
131
- json.dump(self.datas, json_file, ensure_ascii=False, sort_keys=True, indent=4)
126
+ with open(self.json_file, 'w', encoding='utf-8_sig') as f:
127
+ json.dump(self.datas, f, ensure_ascii=False, sort_keys=True, indent=4)
132
128
  time.sleep(1)
133
129
 
134
130
 
mdbq/company/copysh.py CHANGED
@@ -17,6 +17,7 @@ from mdbq.aggregation import query_data
17
17
  from mdbq.aggregation import optimize_data
18
18
  from mdbq.config import update_conf
19
19
  from mdbq.config import get_myconf
20
+ from mdbq.config import set_support
20
21
  from mdbq.mysql import mysql
21
22
  warnings.filterwarnings('ignore')
22
23
 
@@ -26,16 +27,12 @@ class TbFiles:
26
27
  用于在公司台式机中 定时同步pandas数据源文件到共享
27
28
  """
28
29
  def __init__(self):
29
- if platform.system() == 'Windows':
30
- support_path = os.path.join('C:\\同步空间\\BaiduSyncdisk', '自动0备份\\py\\数据更新')
31
- elif platform.system() == 'Darwin':
32
- support_path = os.path.join('/Users', getpass.getuser(), '数据中心/自动0备份/py/数据更新')
33
- else:
34
- support_path = os.path.join('数据中心/自动0备份/py/数据更新')
35
30
 
36
- self.my_conf = os.path.join(support_path, 'support', '.copysh_conf')
37
- self.path1 = os.path.join(support_path, 'support', 'tb_list.txt')
38
- self.path2 = os.path.join(support_path, 'support', 'cp_list.txt')
31
+ support_path = set_support.SetSupport(dirname='support').dirname
32
+
33
+ self.my_conf = os.path.join(support_path, '.copysh_conf')
34
+ self.path1 = os.path.join(support_path, 'tb_list.txt')
35
+ self.path2 = os.path.join(support_path, 'cp_list.txt')
39
36
  self.d_path = None
40
37
  self.data_path = None
41
38
  self.share_path = None
@@ -269,13 +266,8 @@ class TbFiles:
269
266
 
270
267
  class UpdateMysql:
271
268
  def __init__(self):
272
- if platform.system() == 'Windows':
273
- support_path = os.path.join('C:\\同步空间\\BaiduSyncdisk', '自动0备份\\py\\数据更新')
274
- elif platform.system() == 'Darwin':
275
- support_path = os.path.join('/Users', getpass.getuser(), '数据中心/自动0备份/py/数据更新')
276
- else:
277
- support_path = os.path.join('数据中心/自动0备份/py/数据更新')
278
- self.my_conf = os.path.join(support_path, 'support', '.copysh_conf')
269
+ support_path = set_support.SetSupport(dirname='support').dirname
270
+ self.my_conf = os.path.join(support_path, '.copysh_conf')
279
271
  self.ch_record = False
280
272
  self.d_path = None
281
273
 
@@ -355,4 +347,4 @@ if __name__ == '__main__':
355
347
  dp = aggregation.DatabaseUpdate(path='')
356
348
  # dp.new_unzip(is_move=True)
357
349
  # dp.cleaning(is_move=True) # 公司台式机需要移除
358
- dp.upload_df(service_databases=[{'company': 'mysql'}])
350
+ # dp.upload_df(service_databases=[{'company': 'mysql'}])
mdbq/config/get_myconf.py CHANGED
@@ -5,13 +5,14 @@ import socket
5
5
  import configparser
6
6
  import os
7
7
  import sys
8
+ from posixpath import dirname
8
9
  from urllib import parse
10
+ from mdbq.config import set_support
9
11
 
10
12
 
11
13
  class MyConf:
12
14
  """
13
15
  读取配置文件信息
14
- 理论上,在本程序的根目录需要有一个文件夹 support/.myconf 配置文件放在其下
15
16
  """
16
17
  def __init__(self, path='support'):
17
18
  self.top_path = os.path.realpath(os.path.dirname(sys.argv[0])) # 程序运行目录, 打包时使用
@@ -42,12 +43,7 @@ def select_config_values(target_service, database, path=None):
42
43
  database: 指向: mongodb, mysql
43
44
  """
44
45
  if not path:
45
- if platform.system() == 'Darwin':
46
- path = os.path.join('/Users', getpass.getuser(), '数据中心/自动0备份/py/数据更新/support')
47
- elif platform.system() == 'Windows':
48
- path = os.path.join('C:\\同步空间\\BaiduSyncdisk\\自动0备份\\py\\数据更新\\support')
49
- else:
50
- path = os.path.join('/Users', getpass.getuser(), 'support')
46
+ path = set_support.SetSupport(dirname='support').dirname
51
47
 
52
48
  m = MyConf(path=path)
53
49
  options = []
@@ -0,0 +1,22 @@
1
+ # -*- coding: UTF-8 –*-
2
+ import platform
3
+ import getpass
4
+
5
+ """
6
+ 专门用来设置 support 文件夹路径
7
+ support 文件夹包含很多配置类文件,是程序必不可少的依赖
8
+ """
9
+ class SetSupport:
10
+ def __init__(self, dirname):
11
+ self.dirname = dirname
12
+ if platform.system() == 'Windows':
13
+ self.dirname = f'C:\\同步空间\\BaiduSyncdisk\\自动0备份\\py\\数据更新\\support'
14
+ elif platform.system() == 'Darwin':
15
+ self.dirname = f'/Users/{getpass.getuser()}/数据中心/自动0备份/py/数据更新/support'
16
+ else:
17
+ self.dirname = '数据中心/数据更新/support' # 不可用
18
+
19
+
20
+ if __name__ == '__main__':
21
+ s = SetSupport(dirname='support').dirname
22
+ print(s)
@@ -4,6 +4,7 @@ import getpass
4
4
  import configparser
5
5
  import os
6
6
  from urllib import parse
7
+ from mdbq.config import set_support
7
8
  """
8
9
  文件被 copysh.py / all-datas.py 调用, update_config 函数
9
10
  更新完成后修改 conf 中值为 True
@@ -13,15 +14,9 @@ from urllib import parse
13
14
  class UpdateConf:
14
15
  """
15
16
  读取配置文件信息
16
- 理论上,在本程序的根目录需要有一个文件夹 support/.myconf 配置文件放在其下
17
17
  """
18
18
  def __init__(self):
19
- if platform.system() == 'Darwin':
20
- self.path = os.path.join('/Users', getpass.getuser(), '数据中心/自动0备份/py/数据更新/support')
21
- elif platform.system() == 'Windows':
22
- self.path = os.path.join('C:\\同步空间\\BaiduSyncdisk\\自动0备份\\py\\数据更新\\support')
23
- else:
24
- self.path = os.path.join('/Users', getpass.getuser(), 'support')
19
+ self.path = set_support.SetSupport(dirname='support').dirname
25
20
  self.section = 'database' # 默认 文件头标记
26
21
  self.filename = None
27
22
  self.conf_file = None
mdbq/mysql/data_types.py CHANGED
@@ -16,6 +16,7 @@ from mdbq.mongo import mongo
16
16
  from mdbq.mysql import mysql
17
17
  from mdbq.mysql import s_query
18
18
  from mdbq.config import get_myconf
19
+ from mdbq.config import set_support
19
20
  from mdbq.dataframe import converter
20
21
  import datetime
21
22
  import time
@@ -165,17 +166,12 @@ class DataTypes:
165
166
  return {}
166
167
 
167
168
 
168
- def mysql_all_dtypes(path = '/Users/xigua/数据中心/自动0备份/py/数据更新/support'):
169
+ def mysql_all_dtypes(path=None):
169
170
  """
170
- 更新 mysql 中所有数据库的 dtypes 信息到本地 json
171
+ 更新笔记本 mysql 中所有数据库的 dtypes 信息到本地 json
171
172
  """
172
173
  if not os.path.isdir(path):
173
- if platform.system() == 'Darwin':
174
- path = os.path.join('/Users', getpass.getuser(), '数据中心/自动0备份/py/数据更新/support')
175
- elif platform.system() == 'Windows':
176
- path = os.path.join('C:\\同步空间\\BaiduSyncdisk\\自动0备份\\py\\数据更新\\support')
177
- else:
178
- path = os.path.join('数据中心/数据库导出')
174
+ path = set_support.SetSupport(dirname='support').dirname
179
175
 
180
176
  username, password, host, port = get_myconf.select_config_values(target_service='home_lx', database='mysql')
181
177
  config = {
@@ -232,30 +228,5 @@ def mysql_all_dtypes(path = '/Users/xigua/数据中心/自动0备份/py/数据
232
228
  d.mysql_dtypes_to_json(db_name=k, tabel_name=v, path=path)
233
229
 
234
230
 
235
-
236
- def main():
237
- """ 示例 """
238
- path = '/Users/xigua/数据中心/自动0备份/py/数据更新/support'
239
- file = '/Users/xigua/Downloads/baobeitrans-2024-08-21.csv'
240
- df = pd.read_csv(file, encoding='utf-8_sig', header=0, na_filter=False)
241
- d = DataTypes()
242
-
243
- # 更新一个文件的 dtype 信息到 json 文件
244
- d.df_dtypes_to_json(path=path, df=df, db_name='生意经2', collection_name='宝贝指标' )
245
-
246
- # 更新一个数据表的 dtype 信息到 json 文件
247
- d.mysql_dtypes_to_json(db_name='生意经2', tabel_name='店铺指标', path=path)
248
-
249
- # 从本地文件中读取 dtype 信息
250
- dtypes = d.load_dtypes(cl='mysql', db_name='生意经2', collection_name='店铺指标', path=path)
251
- print(dtypes)
252
-
253
231
  if __name__ == '__main__':
254
- # main()
255
232
  mysql_all_dtypes() # 更新 mysql 中所有数据库的 dtypes 信息到本地 json
256
-
257
- # path = '/Users/xigua/数据中心/自动0备份/py/数据更新/support'
258
- # d = DataTypes()
259
- # # 从本地文件中读取 dtype 信息
260
- # dtypes = d.load_dtypes(cl='mysql', db_name='生意经2', collection_name='店铺指标', path=path)
261
- # print(dtypes)
mdbq/mysql/mysql.py CHANGED
@@ -13,6 +13,7 @@ from sqlalchemy import create_engine
13
13
  import os
14
14
  import calendar
15
15
  from mdbq.config import get_myconf
16
+ from mdbq.config import set_support
16
17
  from mdbq.dataframe import converter
17
18
  from mdbq.mysql import data_types
18
19
 
@@ -190,12 +191,7 @@ class MysqlUpload:
190
191
  2. json 文件中没有或者缺失部分列信息(利用 convert_dtype_to_sql 函数按指定规则转换缺失列)
191
192
  """
192
193
  cols = df.columns.tolist()
193
- if platform.system() == 'Darwin':
194
- path = os.path.join('/Users', getpass.getuser(), '数据中心/自动0备份/py/数据更新/support')
195
- elif platform.system() == 'Windows':
196
- path = os.path.join('C:\\同步空间\\BaiduSyncdisk\\自动0备份\\py\\数据更新\\support')
197
- else:
198
- path = os.path.join('/Users', getpass.getuser(), 'support')
194
+ path = set_support.SetSupport(dirname='support').dirname
199
195
  # json_file = os.path.join(path, 'mysql_types.json')
200
196
  # if os.path.isfile(json_file):
201
197
  d = data_types.DataTypes()
mdbq/pbix/refresh_all.py CHANGED
@@ -6,6 +6,7 @@ import multiprocessing
6
6
  import psutil
7
7
  from pywinauto.application import Application
8
8
  import warnings
9
+ from mdbq.config import set_support
9
10
 
10
11
  warnings.filterwarnings('ignore')
11
12
  top_path = os.path.realpath(os.path.dirname(sys.argv[0])) # 程序运行目录, 打包时使用
@@ -14,9 +15,9 @@ sys.path.append(top_path)
14
15
 
15
16
  class RefreshAll:
16
17
  def __init__(self):
17
- self.my_conf = os.path.join(top_path, 'support', '.my_conf')
18
- self.pbix_path = os.path.join(top_path, 'support', 'ref_list.txt')
19
- self.excel_path = os.path.join(top_path, 'support', 'cp_list.txt')
18
+ self.my_conf = os.path.join(set_support.SetSupport(dirname='support').dirname, '.my_conf')
19
+ self.pbix_path = os.path.join(set_support.SetSupport(dirname='support').dirname, 'ref_list.txt')
20
+ self.excel_path = os.path.join(set_support.SetSupport(dirname='support').dirname, 'cp_list.txt')
20
21
  self.run_py_path = 'run_py'
21
22
  self.procname = 'PBIDesktop.exe'
22
23
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mdbq
3
- Version: 0.4.3
3
+ Version: 0.4.5
4
4
  Home-page: https://pypi.org/project/mdbsql
5
5
  Author: xigua,
6
6
  Author-email: 2587125111@qq.com
@@ -1,7 +1,7 @@
1
1
  mdbq/__init__.py,sha256=Il5Q9ATdX8yXqVxtP_nYqUhExzxPC_qk_WXQ_4h0exg,16
2
2
  mdbq/__version__.py,sha256=y9Mp_8x0BCZSHsdLT_q5tX9wZwd5QgqrSIENLrb6vXA,62
3
3
  mdbq/aggregation/__init__.py,sha256=EeDqX2Aml6SPx8363J-v1lz0EcZtgwIBYyCJV6CcEDU,40
4
- mdbq/aggregation/aggregation.py,sha256=TkxyIBowTuoNrhVkrgnYNXwNQXCX_xjh7wcYXdP65-E,58496
4
+ mdbq/aggregation/aggregation.py,sha256=6j6gl0fiHuNtepP-NM38h_-1v_3a62AFtH_a55NXjq0,58254
5
5
  mdbq/aggregation/optimize_data.py,sha256=jLAWtxPUuhpo4XTVrhKtT4xK3grs7r73ePQfLhxlu1I,779
6
6
  mdbq/aggregation/query_data.py,sha256=0i9aF63O-E_SGdJ_09-pAOvAGOzJBIQOzv29dLlwruA,24491
7
7
  mdbq/bdup/__init__.py,sha256=AkhsGk81SkG1c8FqDH5tRq-8MZmFobVbN60DTyukYTY,28
@@ -9,11 +9,12 @@ mdbq/bdup/bdup.py,sha256=LAV0TgnQpc-LB-YuJthxb0U42_VkPidzQzAagan46lU,4234
9
9
  mdbq/clean/__init__.py,sha256=A1d6x3L27j4NtLgiFV5TANwEkLuaDfPHDQNrPBbNWtU,41
10
10
  mdbq/clean/data_clean.py,sha256=33OmeQFl9AW21P5EOay52W_S8DF96H5oHwCg4fSuBxA,85359
11
11
  mdbq/company/__init__.py,sha256=qz8F_GsP_pMB5PblgJAUAMjasuZbOEp3qQOCB39E8f0,21
12
- mdbq/company/copysh.py,sha256=I3ydyNWiTh5HmuQ19twWvyyigezEal110OQER4TRRl0,17056
12
+ mdbq/company/copysh.py,sha256=i8f8YxmUg-EIzQR-ZHTtnC1A5InwsRtY1_sIsCznVp8,16363
13
13
  mdbq/config/__init__.py,sha256=jso1oHcy6cJEfa7udS_9uO5X6kZLoPBF8l3wCYmr5dM,18
14
- mdbq/config/get_myconf.py,sha256=9v3xebfcS1tptxpvk3_tGxfXjAehGVCveYe4iRUzLQQ,6372
14
+ mdbq/config/get_myconf.py,sha256=ffYNOFD5r-cWf7ljZVugYYCS4BrD31j_2xIUnbTZ9iw,5996
15
15
  mdbq/config/products.py,sha256=tFqSfFSXyZXcof0gAeHq0Ftn4F5i9ucoMyIqZ1H_D2Q,4260
16
- mdbq/config/update_conf.py,sha256=8uOiV7CY5HCzg2PVjuKHNqYJNwJR0M7B-a7egta3wWw,4952
16
+ mdbq/config/set_support.py,sha256=LJLEbUFrv8y-GVskiwOI8A9uRaCEAUa0Yfjugt4yLp0,768
17
+ mdbq/config/update_conf.py,sha256=taL3ZqKgiVWwUrDFuaYhim9a72Hm4BHRhhDscJTziR8,4535
17
18
  mdbq/dataframe/__init__.py,sha256=2HtCN8AdRj53teXDqzysC1h8aPL-mMFy561ESmhehGQ,22
18
19
  mdbq/dataframe/converter.py,sha256=h_BDc6oNmMCVFOUzZJq4nXNGDyJFJyycpWqlyrv7U04,3089
19
20
  mdbq/log/__init__.py,sha256=Mpbrav0s0ifLL7lVDAuePEi1hJKiSHhxcv1byBKDl5E,15
@@ -21,8 +22,8 @@ mdbq/log/mylogger.py,sha256=oaT7Bp-Hb9jZt52seP3ISUuxVcI19s4UiqTeouScBO0,3258
21
22
  mdbq/mongo/__init__.py,sha256=SILt7xMtQIQl_m-ik9WLtJSXIVf424iYgCfE_tnQFbw,13
22
23
  mdbq/mongo/mongo.py,sha256=q0B4wXDSTtXg_vMN7MPh6zdxl6tT68tM74LmdVNQQek,31892
23
24
  mdbq/mysql/__init__.py,sha256=A_DPJyAoEvTSFojiI2e94zP0FKtCkkwKP1kYUCSyQzo,11
24
- mdbq/mysql/data_types.py,sha256=Heb_bccgi2RL8YEwIxg7jyVdjdWuBN4n2J_5Uz_S-GQ,11157
25
- mdbq/mysql/mysql.py,sha256=QghST_eVHRn6HmDnBr6J5LFiGkp8qVHvqdYpFifEoqw,33903
25
+ mdbq/mysql/data_types.py,sha256=N7_SyRviE7H25grmMydLT3W3PLk6s3gIK4i36hut4Ms,9791
26
+ mdbq/mysql/mysql.py,sha256=Dp9pXINt7H-FFmn84mpvOJQ41Y9i1CqrC_1lcWvYAQM,33607
26
27
  mdbq/mysql/s_query.py,sha256=6-8O9MHhi3-7n3isJ7t2kTCYL2mSBC_HrxSQmXM5UtI,7901
27
28
  mdbq/mysql/year_month_day.py,sha256=VgewoE2pJxK7ErjfviL_SMTN77ki8GVbTUcao3vFUCE,1523
28
29
  mdbq/other/__init__.py,sha256=jso1oHcy6cJEfa7udS_9uO5X6kZLoPBF8l3wCYmr5dM,18
@@ -31,9 +32,9 @@ mdbq/other/pov_city.py,sha256=AEOmCOzOwyjHi9LLZWPKi6DUuSC-_M163664I52u9qw,21050
31
32
  mdbq/other/ua_sj.py,sha256=JuVYzc_5QZ9s_oQSrTHVKkQv4S_7-CWx4oIKOARn_9U,22178
32
33
  mdbq/pbix/__init__.py,sha256=Trtfaynu9RjoTyLLYBN2xdRxTvm_zhCniUkVTAYwcjo,24
33
34
  mdbq/pbix/pbix_refresh.py,sha256=JUjKW3bNEyoMVfVfo77UhguvS5AWkixvVhDbw4_MHco,2396
34
- mdbq/pbix/refresh_all.py,sha256=USe3s5ws2Q-Gp9yUoFOAXJ4t0KVaekFULtAJaZkp448,5976
35
+ mdbq/pbix/refresh_all.py,sha256=tgy762608HMaXWynbOURIf2UVMuSPybzrDXQnOOcnZU,6102
35
36
  mdbq/spider/__init__.py,sha256=RBMFXGy_jd1HXZhngB2T2XTvJqki8P_Fr-pBcwijnew,18
36
- mdbq-0.4.3.dist-info/METADATA,sha256=5pttZbk5fTxMhQMpcme5IN3zQWOJBfhItc7oNYUxHI0,245
37
- mdbq-0.4.3.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
38
- mdbq-0.4.3.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
39
- mdbq-0.4.3.dist-info/RECORD,,
37
+ mdbq-0.4.5.dist-info/METADATA,sha256=ub_BDdxrKZ82aSIyKKOEqiD8cpigJs3Ivyh40UJqp-c,245
38
+ mdbq-0.4.5.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
39
+ mdbq-0.4.5.dist-info/top_level.txt,sha256=2FQ-uLnCSB-OwFiWntzmwosW3X2Xqsg0ewh1axsaylA,5
40
+ mdbq-0.4.5.dist-info/RECORD,,
File without changes