Clean UA data

This commit is contained in:
Qstick
2021-05-15 18:31:08 -04:00
parent 2100587b5f
commit 06901c4aee

View File

@@ -1,9 +1,12 @@
using System.Collections.Generic;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
namespace NzbDrone.Core.Parser namespace NzbDrone.Core.Parser
{ {
public static class UserAgentParser public static class UserAgentParser
{ {
private static readonly List<string> UserAgentWhiteList = new List<string> { "Radarr", "Sonarr", "Readarr", "Lidarr", "Prowlarr" };
private static readonly Regex AppSourceRegex = new Regex(@"(?<agent>.*)\/.*(\(.*\))?", private static readonly Regex AppSourceRegex = new Regex(@"(?<agent>.*)\/.*(\(.*\))?",
RegexOptions.IgnoreCase | RegexOptions.Compiled); RegexOptions.IgnoreCase | RegexOptions.Compiled);
public static string ParseSource(string userAgent) public static string ParseSource(string userAgent)
@@ -12,7 +15,10 @@ namespace NzbDrone.Core.Parser
if (match.Groups["agent"].Success) if (match.Groups["agent"].Success)
{ {
return match.Groups["agent"].Value; if (UserAgentWhiteList.Contains(match.Groups["agent"].Value))
{
return match.Groups["agent"].Value;
}
} }
return "Other"; return "Other";