mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-12 08:16:06 -07:00
parent
9f1b7de623
commit
6e6de11aaa
3 changed files with 25 additions and 13 deletions
|
@ -548,6 +548,8 @@ def start():
|
||||||
global _STARTED
|
global _STARTED
|
||||||
|
|
||||||
if _INITIALIZED:
|
if _INITIALIZED:
|
||||||
|
logger.filter_usernames()
|
||||||
|
|
||||||
# Start refreshes on a separate thread
|
# Start refreshes on a separate thread
|
||||||
threading.Thread(target=startup_refresh).start()
|
threading.Thread(target=startup_refresh).start()
|
||||||
|
|
||||||
|
|
|
@ -46,6 +46,7 @@ MAX_SIZE = 5000000 # 5 MB
|
||||||
MAX_FILES = 5
|
MAX_FILES = 5
|
||||||
|
|
||||||
_BLACKLIST_WORDS = set()
|
_BLACKLIST_WORDS = set()
|
||||||
|
_FILTER_USERNAMES = []
|
||||||
|
|
||||||
# Tautulli logger
|
# Tautulli logger
|
||||||
logger = logging.getLogger("tautulli")
|
logger = logging.getLogger("tautulli")
|
||||||
|
@ -71,6 +72,19 @@ def blacklist_config(config):
|
||||||
_BLACKLIST_WORDS.update(blacklist)
|
_BLACKLIST_WORDS.update(blacklist)
|
||||||
|
|
||||||
|
|
||||||
|
def filter_usernames(new_users=None):
|
||||||
|
global _FILTER_USERNAMES
|
||||||
|
|
||||||
|
if new_users is None:
|
||||||
|
new_users = [user['username'] for user in users.Users().get_users()]
|
||||||
|
|
||||||
|
for username in new_users:
|
||||||
|
if username.lower() not in ('local', 'guest') and username not in _FILTER_USERNAMES:
|
||||||
|
_FILTER_USERNAMES.append(username)
|
||||||
|
|
||||||
|
_FILTER_USERNAMES = sorted(_FILTER_USERNAMES, key=len, reverse=True)
|
||||||
|
|
||||||
|
|
||||||
class NoThreadFilter(logging.Filter):
|
class NoThreadFilter(logging.Filter):
|
||||||
"""
|
"""
|
||||||
Log filter for the current thread
|
Log filter for the current thread
|
||||||
|
@ -126,18 +140,7 @@ class UsernameFilter(logging.Filter):
|
||||||
if not plexpy._INITIALIZED:
|
if not plexpy._INITIALIZED:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
items = sorted(
|
for username in _FILTER_USERNAMES:
|
||||||
users.Users().get_users(),
|
|
||||||
key=lambda x: len(x['username']),
|
|
||||||
reverse=True
|
|
||||||
)
|
|
||||||
|
|
||||||
for item in items:
|
|
||||||
username = item['username']
|
|
||||||
|
|
||||||
if username.lower() in ('local', 'guest'):
|
|
||||||
continue
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
record.msg = self.replace(record.msg, username)
|
record.msg = self.replace(record.msg, username)
|
||||||
|
|
||||||
|
|
|
@ -60,6 +60,7 @@ def refresh_users():
|
||||||
|
|
||||||
# Keep track of user_id to update is_active status
|
# Keep track of user_id to update is_active status
|
||||||
user_ids = [0] # Local user always considered active
|
user_ids = [0] # Local user always considered active
|
||||||
|
new_users = []
|
||||||
|
|
||||||
for item in result:
|
for item in result:
|
||||||
user_ids.append(helpers.cast_to_int(item['user_id']))
|
user_ids.append(helpers.cast_to_int(item['user_id']))
|
||||||
|
@ -92,11 +93,17 @@ def refresh_users():
|
||||||
if not item['username']:
|
if not item['username']:
|
||||||
item['username'] = item['title']
|
item['username'] = item['title']
|
||||||
|
|
||||||
monitor_db.upsert('users', key_dict=keys_dict, value_dict=item)
|
result = monitor_db.upsert('users', key_dict=keys_dict, value_dict=item)
|
||||||
|
|
||||||
|
if result == 'insert':
|
||||||
|
new_users.append(item['username'])
|
||||||
|
|
||||||
query = 'UPDATE users SET is_active = 0 WHERE user_id NOT IN ({})'.format(', '.join(['?'] * len(user_ids)))
|
query = 'UPDATE users SET is_active = 0 WHERE user_id NOT IN ({})'.format(', '.join(['?'] * len(user_ids)))
|
||||||
monitor_db.action(query=query, args=user_ids)
|
monitor_db.action(query=query, args=user_ids)
|
||||||
|
|
||||||
|
# Add new users to loger username filter
|
||||||
|
logger.filter_usernames(new_users)
|
||||||
|
|
||||||
logger.info("Tautulli Users :: Users list refreshed.")
|
logger.info("Tautulli Users :: Users list refreshed.")
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue