1
0
Fork 0
mirror of https://github.com/Sonarr/Sonarr synced 2024-12-23 00:07:07 +00:00
Sonarr/NzbDrone.Core/Repository/Site.cs
markus101 a427f9c16d SabController - Removed AddByPath, Completed AddByUrl and IsInQueue
Created SabControllerTest - Added AddByPath Test (Needs more work)
Added, Episode, FeedItem, ItemInfo and Site classes to store information
2010-09-26 19:20:42 -07:00

36 lines
1.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace NzbDrone.Core.Repository
{
public class Site
{
private static readonly IList<Site> Sites = new List<Site>
{
new Site {Name = "nzbmatrix", Url = "nzbmatrix.com", Pattern = @"\d{6,10}"},
new Site {Name = "nzbsDotOrg", Url = "nzbs.org", Pattern = @"\d{5,10}"},
new Site {Name = "nzbsrus", Url = "nzbsrus.com", Pattern = @"\d{6,10}"},
new Site {Name = "lilx", Url = "lilx.net", Pattern = @"\d{6,10}"},
};
public string Name { get; set; }
public string Pattern { get; set; }
public string Url { get; set; }
// TODO: use HttpUtility.ParseQueryString();
// https://nzbmatrix.com/api-nzb-download.php?id=626526
public string ParseId(string url)
{
return Regex.Match(url, Pattern).Value;
}
public static Site Parse(string url)
{
return Sites.Where(site => url.Contains(site.Url)).SingleOrDefault() ??
new Site { Name = "unknown", Pattern = @"\d{6,10}" };
}
}
}