From 35aca11feb213d59b416f009af139eaee8298d3a Mon Sep 17 00:00:00 2001 From: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com> Date: Sun, 27 Feb 2022 17:03:11 -0800 Subject: [PATCH] Escape characters in username log filter * Remove filter for friendly names --- data/interfaces/default/settings.html | 2 +- plexpy/logger.py | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/data/interfaces/default/settings.html b/data/interfaces/default/settings.html index adda3782..3d6ab932 100644 --- a/data/interfaces/default/settings.html +++ b/data/interfaces/default/settings.html @@ -164,7 +164,7 @@ Mask Usernames in Logs

- Enable to mask Plex usernames and Tautulli friendly names with asterisks (*) in the logs.
+ Enable to mask Plex usernames with asterisks (*) in the logs.
Note: Only logs from the time this setting is enabled will be masked.

diff --git a/plexpy/logger.py b/plexpy/logger.py index cf7fb294..bda5c4cc 100644 --- a/plexpy/logger.py +++ b/plexpy/logger.py @@ -130,20 +130,17 @@ class UsernameFilter(logging.Filter): for item in items: username = item['username'] - friendly_name = item['friendly_name'] - if username == 'Local': + if username.lower() in ('local', 'guest'): continue try: record.msg = self.replace(record.msg, username) - record.msg = self.replace(record.msg, friendly_name) args = [] for arg in record.args: if isinstance(arg, str): arg = self.replace(arg, username) - arg = self.replace(arg, friendly_name) args.append(arg) record.args = tuple(args) except: @@ -154,7 +151,7 @@ class UsernameFilter(logging.Filter): @staticmethod def replace(text, match): mask = match[:2] + 8 * '*' + match[-1] - return re.sub(r'\b{}\b'.format(match), mask, text, flags=re.IGNORECASE) + return re.sub(re.escape(match), mask, text, flags=re.IGNORECASE) class RegexFilter(logging.Filter):