mdbq 4.2.26__tar.gz → 4.2.28__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 mdbq might be problematic. Click here for more details.
- {mdbq-4.2.26 → mdbq-4.2.28}/PKG-INFO +2 -2
- mdbq-4.2.28/mdbq/__version__.py +1 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/auth/auth_backend.py +6 -3
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/redis/redis_cache.py +24 -11
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq.egg-info/PKG-INFO +2 -2
- mdbq-4.2.26/mdbq/__version__.py +0 -1
- {mdbq-4.2.26 → mdbq-4.2.28}/README.txt +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/__init__.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/auth/__init__.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/auth/crypto.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/auth/rate_limiter.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/js/__init__.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/js/jc.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/log/__init__.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/log/mylogger.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/myconf/__init__.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/myconf/myconf.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/mysql/__init__.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/mysql/deduplicator.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/mysql/mysql.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/mysql/mysql_query.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/mysql/mysql_writer.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/mysql/s_query.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/mysql/unique_.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/mysql/uploader.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/other/__init__.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/other/download_sku_picture.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/other/error_handler.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/other/otk.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/other/pov_city.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/other/ua_sj.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/pbix/__init__.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/pbix/pbix_refresh.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/pbix/refresh_all.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/redis/__init__.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/redis/getredis.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/route/__init__.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/route/analytics.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/route/monitor.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/route/routes.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/selenium/__init__.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/selenium/get_driver.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq/spider/__init__.py +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq.egg-info/SOURCES.txt +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq.egg-info/dependency_links.txt +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/mdbq.egg-info/top_level.txt +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/setup.cfg +0 -0
- {mdbq-4.2.26 → mdbq-4.2.28}/setup.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
VERSION = '4.2.28'
|
|
@@ -1016,7 +1016,8 @@ class StandaloneAuthManager:
|
|
|
1016
1016
|
WHERE user_id = %s AND is_active = 1
|
|
1017
1017
|
''', (user_id,))
|
|
1018
1018
|
|
|
1019
|
-
|
|
1019
|
+
device_count_result = cursor.fetchone()
|
|
1020
|
+
device_count = device_count_result['device_count'] if device_count_result else 0
|
|
1020
1021
|
|
|
1021
1022
|
# 撤销用户的所有刷新令牌
|
|
1022
1023
|
cursor.execute('''
|
|
@@ -1832,7 +1833,8 @@ class StandaloneAuthManager:
|
|
|
1832
1833
|
WHERE user_id = %s AND is_active = 1
|
|
1833
1834
|
''', (user_id,))
|
|
1834
1835
|
|
|
1835
|
-
|
|
1836
|
+
active_devices_result = cursor.fetchone()
|
|
1837
|
+
active_devices = active_devices_result['active_devices'] if active_devices_result else 0
|
|
1836
1838
|
|
|
1837
1839
|
# 获取登录次数(成功的登录)
|
|
1838
1840
|
cursor.execute('''
|
|
@@ -1840,7 +1842,8 @@ class StandaloneAuthManager:
|
|
|
1840
1842
|
WHERE user_id = %s AND login_result = 'success'
|
|
1841
1843
|
''', (user_id,))
|
|
1842
1844
|
|
|
1843
|
-
|
|
1845
|
+
login_count_result = cursor.fetchone()
|
|
1846
|
+
login_count = login_count_result['login_count'] if login_count_result else 0
|
|
1844
1847
|
|
|
1845
1848
|
# 获取最近登录记录
|
|
1846
1849
|
cursor.execute('''
|
|
@@ -1158,19 +1158,32 @@ def _safe_cache_set(cache_system, cache_key, response_data, ttl, namespace,
|
|
|
1158
1158
|
if isinstance(message, str) and ('失败' in message or 'error' in message or 'fail' in message):
|
|
1159
1159
|
return False
|
|
1160
1160
|
|
|
1161
|
-
#
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1161
|
+
# 检查数据部分(不仅要有字段,还要有有效的非空值)
|
|
1162
|
+
def is_valid_value(value):
|
|
1163
|
+
"""判断值是否有效(非None、非空列表、非空字典)"""
|
|
1164
|
+
if value is None:
|
|
1165
|
+
return False
|
|
1166
|
+
if isinstance(value, (list, dict)) and len(value) == 0:
|
|
1167
|
+
return False
|
|
1168
|
+
return True
|
|
1169
|
+
|
|
1170
|
+
# 检查各种数据字段
|
|
1171
|
+
has_valid_data = (
|
|
1172
|
+
('data' in data and is_valid_value(data.get('data'))) or
|
|
1173
|
+
('logs' in data and is_valid_value(data.get('logs'))) or
|
|
1174
|
+
('announcements' in data and is_valid_value(data.get('announcements'))) or
|
|
1175
|
+
('databases' in data and is_valid_value(data.get('databases'))) or
|
|
1176
|
+
('tables' in data and is_valid_value(data.get('tables'))) or
|
|
1177
|
+
('rows' in data and is_valid_value(data.get('rows'))) or
|
|
1178
|
+
# message 单独判断:只有在其他字段都不存在时,才检查 message
|
|
1179
|
+
(not any(key in data for key in ['data', 'logs', 'announcements', 'databases', 'tables', 'rows'])
|
|
1180
|
+
and 'message' in data
|
|
1181
|
+
and data.get('message')
|
|
1182
|
+
and data.get('message') not in ['', 'ok', 'success'])
|
|
1170
1183
|
)
|
|
1171
1184
|
|
|
1172
|
-
#
|
|
1173
|
-
return
|
|
1185
|
+
# 返回是否有有效数据
|
|
1186
|
+
return has_valid_data
|
|
1174
1187
|
|
|
1175
1188
|
data_validator = default_validator
|
|
1176
1189
|
|
mdbq-4.2.26/mdbq/__version__.py
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
VERSION = '4.2.26'
|
|
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
|
|
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
|