mirror of
https://github.com/Sonarr/Sonarr.git
synced 2024-12-12 11:15:43 +02:00
Merge branch 'mark-fork'
This commit is contained in:
commit
b21bdbe41f
@ -148,7 +148,7 @@
|
|||||||
<virtualDirectory path="/" physicalPath="%NZBDRONE_PATH%\NZBDrone.Web" />
|
<virtualDirectory path="/" physicalPath="%NZBDRONE_PATH%\NZBDrone.Web" />
|
||||||
</application>
|
</application>
|
||||||
<bindings>
|
<bindings>
|
||||||
<binding protocol="http" bindingInformation="*:8111:" />
|
<binding protocol="http" bindingInformation="*:8989:" />
|
||||||
</bindings>
|
</bindings>
|
||||||
</site>
|
</site>
|
||||||
<siteDefaults>
|
<siteDefaults>
|
||||||
|
@ -1,153 +0,0 @@
|
|||||||
<Configuration>
|
|
||||||
<CodeStyleSettings>
|
|
||||||
<ExternalPath IsNull="False">
|
|
||||||
</ExternalPath>
|
|
||||||
<Sharing>SOLUTION</Sharing>
|
|
||||||
<CSharp>
|
|
||||||
<FormatSettings>
|
|
||||||
<MODIFIERS_ORDER IsNull="False">
|
|
||||||
<Item>public</Item>
|
|
||||||
<Item>protected</Item>
|
|
||||||
<Item>internal</Item>
|
|
||||||
<Item>private</Item>
|
|
||||||
<Item>new</Item>
|
|
||||||
<Item>abstract</Item>
|
|
||||||
<Item>virtual</Item>
|
|
||||||
<Item>override</Item>
|
|
||||||
<Item>sealed</Item>
|
|
||||||
<Item>static</Item>
|
|
||||||
<Item>readonly</Item>
|
|
||||||
<Item>extern</Item>
|
|
||||||
<Item>unsafe</Item>
|
|
||||||
<Item>volatile</Item>
|
|
||||||
</MODIFIERS_ORDER>
|
|
||||||
</FormatSettings>
|
|
||||||
<UsingsSettings />
|
|
||||||
<Naming2>
|
|
||||||
<EventHandlerPatternLong>$object$_On$event$</EventHandlerPatternLong>
|
|
||||||
<EventHandlerPatternShort>$event$Handler</EventHandlerPatternShort>
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="TypesAndNamespaces" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="I" Suffix="" Style="AaBb" ElementKind="Interfaces" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="T" Suffix="" Style="AaBb" ElementKind="TypeParameters" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="MethodPropertyEvent" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="Locals" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="LocalConstants" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="Parameters" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="PublicFields" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="_" Suffix="" Style="aaBb" ElementKind="PrivateInstanceFields" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="_" Suffix="" Style="aaBb" ElementKind="PrivateStaticFields" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="Constants" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="PrivateConstants" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="StaticReadonly" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="PrivateStaticReadonly" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="EnumMember" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="Other" />
|
|
||||||
</Naming2>
|
|
||||||
</CSharp>
|
|
||||||
<VB>
|
|
||||||
<FormatSettings>
|
|
||||||
<BLANK_LINES_AROUND_NAMESPACE>2</BLANK_LINES_AROUND_NAMESPACE>
|
|
||||||
<KEEP_USER_LINEBREAKS>False</KEEP_USER_LINEBREAKS>
|
|
||||||
<SPACE_AFTER_ATTRIBUTE_TARGET_COLON>False</SPACE_AFTER_ATTRIBUTE_TARGET_COLON>
|
|
||||||
<SPACE_BEFORE_INVOCATION_PARENTHESES>False</SPACE_BEFORE_INVOCATION_PARENTHESES>
|
|
||||||
<SPACE_BEFORE_METHOD_PARENTHESES>False</SPACE_BEFORE_METHOD_PARENTHESES>
|
|
||||||
<SPACE_BEFORE_TYPE_PARAMETER_PARENTHESES>False</SPACE_BEFORE_TYPE_PARAMETER_PARENTHESES>
|
|
||||||
<WRAP_ARGUMENTS_STYLE>CHOP_IF_LONG</WRAP_ARGUMENTS_STYLE>
|
|
||||||
<WRAP_EXTENDS_LIST_STYLE>CHOP_IF_LONG</WRAP_EXTENDS_LIST_STYLE>
|
|
||||||
<WRAP_LIMIT>200</WRAP_LIMIT>
|
|
||||||
<WRAP_PARAMETERS_STYLE>CHOP_IF_LONG</WRAP_PARAMETERS_STYLE>
|
|
||||||
</FormatSettings>
|
|
||||||
<ImportsSettings>
|
|
||||||
<AllowAlias>False</AllowAlias>
|
|
||||||
</ImportsSettings>
|
|
||||||
<Naming2>
|
|
||||||
<EventHandlerPatternLong>$object$_On$event$</EventHandlerPatternLong>
|
|
||||||
<EventHandlerPatternShort>$event$Handler</EventHandlerPatternShort>
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="TypesAndNamespaces" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="I" Suffix="" Style="AaBb" ElementKind="Interfaces" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="T" Suffix="" Style="AaBb" ElementKind="TypeParameters" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="MethodPropertyEvent" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="Locals" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="LocalConstants" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="Parameters" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="PublicFields" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="_" Suffix="" Style="aaBb" ElementKind="PrivateInstanceFields" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="_" Suffix="" Style="aaBb" ElementKind="PrivateStaticFields" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="Constants" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="PrivateConstants" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="StaticReadonly" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="PrivateStaticReadonly" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="EnumMember" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="Other" />
|
|
||||||
</Naming2>
|
|
||||||
</VB>
|
|
||||||
<Web>
|
|
||||||
<Naming2>
|
|
||||||
<UserRule Name="ASP_TAG_NAME" Inspect="True" Prefix="" Suffix="" Style="AaBb" />
|
|
||||||
<UserRule Name="ASP_TAG_PREFIX" Inspect="True" Prefix="" Suffix="" Style="AaBb" />
|
|
||||||
<UserRule Name="ASP_FIELD" Inspect="True" Prefix="" Suffix="" Style="AaBb" />
|
|
||||||
<UserRule Name="ASP_HTML_CONTROL" Inspect="True" Prefix="" Suffix="" Style="AaBb" />
|
|
||||||
</Naming2>
|
|
||||||
</Web>
|
|
||||||
<Xaml>
|
|
||||||
<Naming2>
|
|
||||||
<UserRule Name="XAML_FIELD" Inspect="True" Prefix="_" Suffix="" Style="aaBb" />
|
|
||||||
<UserRule Name="NAMESPACE_ALIAS" Inspect="True" Prefix="" Suffix="" Style="AaBb" />
|
|
||||||
<UserRule Name="XAML_RESOURCE" Inspect="True" Prefix="" Suffix="" Style="AaBb" />
|
|
||||||
</Naming2>
|
|
||||||
</Xaml>
|
|
||||||
<XML>
|
|
||||||
<FormatSettings />
|
|
||||||
</XML>
|
|
||||||
<FileHeader><![CDATA['
|
|
||||||
' DotNetNuke® - http://www.dotnetnuke.com
|
|
||||||
' Copyright (c) 2002-2010
|
|
||||||
' by DotNetNuke Corporation
|
|
||||||
'
|
|
||||||
' Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
|
||||||
' documentation files (the "Software"), to deal in the Software without restriction, including without limitation
|
|
||||||
' the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
|
|
||||||
' to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
||||||
'
|
|
||||||
' The above copyright notice and this permission notice shall be included in all copies or substantial portions
|
|
||||||
' of the Software.
|
|
||||||
'
|
|
||||||
' THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
|
|
||||||
' TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
||||||
' THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
|
||||||
' CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
||||||
' DEALINGS IN THE SOFTWARE.
|
|
||||||
']]></FileHeader>
|
|
||||||
<GenerateMemberBody />
|
|
||||||
<Naming2>
|
|
||||||
<EventHandlerPatternLong>$object$_On$event$</EventHandlerPatternLong>
|
|
||||||
<EventHandlerPatternShort>$event$Handler</EventHandlerPatternShort>
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="TypesAndNamespaces" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="I" Suffix="" Style="AaBb" ElementKind="Interfaces" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="T" Suffix="" Style="AaBb" ElementKind="TypeParameters" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="MethodPropertyEvent" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="Locals" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="LocalConstants" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="Parameters" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="_" Suffix="" Style="aaBb" ElementKind="PublicFields" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="_" Suffix="" Style="aaBb" ElementKind="PrivateInstanceFields" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="_" Suffix="" Style="aaBb" ElementKind="PrivateStaticFields" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AA_BB" ElementKind="Constants" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AA_BB" ElementKind="PrivateConstants" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="StaticReadonly" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="PrivateStaticReadonly" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="EnumMember" />
|
|
||||||
<PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="Other" />
|
|
||||||
<Abbreviation Text="IIS" />
|
|
||||||
<Abbreviation Text="ID" />
|
|
||||||
<Abbreviation Text="SHA" />
|
|
||||||
<Abbreviation Text="WCF" />
|
|
||||||
<Abbreviation Text="XML" />
|
|
||||||
<Abbreviation Text="XSL" />
|
|
||||||
<Abbreviation Text="AJAX" />
|
|
||||||
<Abbreviation Text="GUID" />
|
|
||||||
<Abbreviation Text="URL" />
|
|
||||||
<Abbreviation Text="DNN" />
|
|
||||||
</Naming2>
|
|
||||||
</CodeStyleSettings>
|
|
||||||
</Configuration>
|
|
@ -13,7 +13,7 @@ namespace NzbDrone.Core.Test
|
|||||||
public class ParserTest
|
public class ParserTest
|
||||||
{
|
{
|
||||||
[Test]
|
[Test]
|
||||||
[Row("Sonny.With.a.Chance.S02E15", 2,15)]
|
[Row("Sonny.With.a.Chance.S02E15", 2, 15)]
|
||||||
[Row("WEEDS.S03E01-06.DUAL.BDRip.XviD.AC3.-HELLYWOOD", 3, 1)]
|
[Row("WEEDS.S03E01-06.DUAL.BDRip.XviD.AC3.-HELLYWOOD", 3, 1)]
|
||||||
[Row("Two.and.a.Half.Me.103.720p.HDTV.X264-DIMENSION", 1, 3)]
|
[Row("Two.and.a.Half.Me.103.720p.HDTV.X264-DIMENSION", 1, 3)]
|
||||||
[Row("Two.and.a.Half.Me.113.720p.HDTV.X264-DIMENSION", 1, 13)]
|
[Row("Two.and.a.Half.Me.113.720p.HDTV.X264-DIMENSION", 1, 13)]
|
||||||
@ -73,4 +73,4 @@ public void Normalize_Path(string dirty, string clean)
|
|||||||
Assert.AreEqual(clean, result);
|
Assert.AreEqual(clean, result);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -256,6 +256,6 @@ public static string NormalizePath(string path)
|
|||||||
return info.FullName.Trim('/', '\\', ' ');
|
return info.FullName.Trim('/', '\\', ' ');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -6,6 +6,7 @@ namespace NzbDrone.Core.Providers
|
|||||||
public interface ITvDbProvider
|
public interface ITvDbProvider
|
||||||
{
|
{
|
||||||
IList<TvdbSearchResult> SearchSeries(string name);
|
IList<TvdbSearchResult> SearchSeries(string name);
|
||||||
|
int GetBestMatch(List<TvdbSearchResult> searchResults, string searchString);
|
||||||
TvdbSearchResult GetSeries(string title);
|
TvdbSearchResult GetSeries(string title);
|
||||||
TvdbSeries GetSeries(int id, bool loadEpisodes);
|
TvdbSeries GetSeries(int id, bool loadEpisodes);
|
||||||
}
|
}
|
||||||
|
@ -52,6 +52,23 @@ public TvdbSearchResult GetSeries(string title)
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int GetBestMatch(List<TvdbSearchResult> searchResults, string title)
|
||||||
|
{
|
||||||
|
if (searchResults.Count == 0)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
foreach (var tvdbSearchResult in searchResults)
|
||||||
|
{
|
||||||
|
if (IsTitleMatch(tvdbSearchResult.SeriesName, title))
|
||||||
|
{
|
||||||
|
Logger.Debug("Search for '{0}' was successful", title);
|
||||||
|
return tvdbSearchResult.Id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return searchResults[0].Id;
|
||||||
|
}
|
||||||
|
|
||||||
public TvdbSeries GetSeries(int id, bool loadEpisodes)
|
public TvdbSeries GetSeries(int id, bool loadEpisodes)
|
||||||
{
|
{
|
||||||
Logger.Debug("Fetching SeriesId'{0}' from tvdb", id);
|
Logger.Debug("Fetching SeriesId'{0}' from tvdb", id);
|
||||||
|
@ -80,12 +80,14 @@ public ActionResult RenderPartial(string path)
|
|||||||
ViewData["path"] = path;
|
ViewData["path"] = path;
|
||||||
ViewData["javaPath"] = path.Replace(Path.DirectorySeparatorChar, '|').Replace(Path.VolumeSeparatorChar, '^');
|
ViewData["javaPath"] = path.Replace(Path.DirectorySeparatorChar, '|').Replace(Path.VolumeSeparatorChar, '^');
|
||||||
|
|
||||||
|
var defaultQuality = _configProvider.DefaultQualityProfile;
|
||||||
var qualityProfiles = _qualityProvider.GetAllProfiles();
|
var qualityProfiles = _qualityProvider.GetAllProfiles();
|
||||||
|
|
||||||
ViewData["quality"] = new SelectList(
|
ViewData["quality"] = new SelectList(
|
||||||
qualityProfiles,
|
qualityProfiles,
|
||||||
"QualityProfileId",
|
"QualityProfileId",
|
||||||
"Name",
|
"Name",
|
||||||
"HD");
|
defaultQuality); ;
|
||||||
|
|
||||||
return PartialView("AddSeriesItem", suggestions);
|
return PartialView("AddSeriesItem", suggestions);
|
||||||
|
|
||||||
@ -117,8 +119,9 @@ public ActionResult _textLookUp(string text, int? filterMode)
|
|||||||
public SelectList GetSuggestionList(string searchString)
|
public SelectList GetSuggestionList(string searchString)
|
||||||
{
|
{
|
||||||
var dataVal = _tvDbProvider.SearchSeries(searchString);
|
var dataVal = _tvDbProvider.SearchSeries(searchString);
|
||||||
|
var bestResult = _tvDbProvider.GetBestMatch(dataVal.ToList(), searchString);
|
||||||
|
|
||||||
return new SelectList(dataVal, "Id", "SeriesName");
|
return new SelectList(dataVal, "Id", "SeriesName", bestResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,9 @@
|
|||||||
</asp:Content>
|
</asp:Content>
|
||||||
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
|
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
|
||||||
<%
|
<%
|
||||||
|
if (Model.Count() == 0)
|
||||||
|
Html.DisplayText("No Series to Add");
|
||||||
|
|
||||||
foreach (var path in Model)
|
foreach (var path in Model)
|
||||||
{
|
{
|
||||||
Html.RenderAction("RenderPartial", "AddSeries", new { path });
|
Html.RenderAction("RenderPartial", "AddSeries", new { path });
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
@using NzbDrone.Core.Repository.Quality
|
@using NzbDrone.Core.Repository.Quality
|
||||||
@model SelectList
|
@model SelectList
|
||||||
<div padding: 10px" id="div_@(ViewData["guid"])">
|
<div style="padding:3px" id="div_@(ViewData["guid"])">
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>@ViewData["path"].ToString()</legend>
|
<legend>@ViewData["path"].ToString()</legend>
|
||||||
<div>
|
<div>
|
||||||
@ -11,7 +11,7 @@
|
|||||||
.Filterable(f => f.FilterMode(AutoCompleteFilterMode.Contains))
|
.Filterable(f => f.FilterMode(AutoCompleteFilterMode.Contains))
|
||||||
.HighlightFirstMatch(true)
|
.HighlightFirstMatch(true)
|
||||||
.HtmlAttributes(new { style = "width: 300px;" })
|
.HtmlAttributes(new { style = "width: 300px;" })
|
||||||
.SelectedIndex(0).Render();}
|
.Render();}
|
||||||
@Html.Telerik().DropDownList().Name("qualityList_" + ViewData["guid"].ToString()).BindTo((SelectList)ViewData["quality"]).HtmlAttributes(new { style = "width: 100px;" })
|
@Html.Telerik().DropDownList().Name("qualityList_" + ViewData["guid"].ToString()).BindTo((SelectList)ViewData["quality"]).HtmlAttributes(new { style = "width: 100px;" })
|
||||||
<button class="listButton" onclick="addSeries('@ViewData["guid"]','@ViewData["javaPath"].ToString()' )">
|
<button class="listButton" onclick="addSeries('@ViewData["guid"]','@ViewData["javaPath"].ToString()' )">
|
||||||
Add</button>
|
Add</button>
|
||||||
|
@ -4,6 +4,6 @@
|
|||||||
<supportedRuntime version="v4.0" />
|
<supportedRuntime version="v4.0" />
|
||||||
</startup>
|
</startup>
|
||||||
<appSettings>
|
<appSettings>
|
||||||
<add key="port" value="8111" />
|
<add key="port" value="8989" />
|
||||||
</appSettings>
|
</appSettings>
|
||||||
</configuration>
|
</configuration>
|
Loading…
Reference in New Issue
Block a user