From 32e402b5a01a50900939c9f502de52580e06f48f Mon Sep 17 00:00:00 2001 From: "kay.one" Date: Sat, 19 Jan 2013 17:37:48 -0800 Subject: [PATCH] can do series lookup using the api. --- NzbDrone.Api/NzbDrone.Api.csproj | 9 +++++-- .../NzbDroneApiModule.cs | 6 +++-- ...fileModule.cs => QualityProfilesModule.cs} | 6 ++--- NzbDrone.Api/Series/SeriesModule.cs | 26 +++++++++++++++++++ .../AddSeries/Views/addSeriesView.js | 4 +-- NzbDrone.Web/Web.config | 9 +++++-- 6 files changed, 49 insertions(+), 11 deletions(-) rename NzbDrone.Api/{QualityProfiles => }/NzbDroneApiModule.cs (56%) rename NzbDrone.Api/QualityProfiles/{QualityProfileModule.cs => QualityProfilesModule.cs} (91%) create mode 100644 NzbDrone.Api/Series/SeriesModule.cs diff --git a/NzbDrone.Api/NzbDrone.Api.csproj b/NzbDrone.Api/NzbDrone.Api.csproj index cb3bbe33a..daf96c8ca 100644 --- a/NzbDrone.Api/NzbDrone.Api.csproj +++ b/NzbDrone.Api/NzbDrone.Api.csproj @@ -83,8 +83,13 @@ + + False + ..\Libraries\TvdbLib.dll + + @@ -92,9 +97,9 @@ - + - + diff --git a/NzbDrone.Api/QualityProfiles/NzbDroneApiModule.cs b/NzbDrone.Api/NzbDroneApiModule.cs similarity index 56% rename from NzbDrone.Api/QualityProfiles/NzbDroneApiModule.cs rename to NzbDrone.Api/NzbDroneApiModule.cs index 4383ca355..9652387c6 100644 --- a/NzbDrone.Api/QualityProfiles/NzbDroneApiModule.cs +++ b/NzbDrone.Api/NzbDroneApiModule.cs @@ -1,13 +1,15 @@ using System.Linq; using Nancy; +using Nancy.Responses; -namespace NzbDrone.Api.QualityProfiles +namespace NzbDrone.Api { public abstract class NzbDroneApiModule : NancyModule { protected NzbDroneApiModule(string resource) - : base("/api/" + resource.Trim('/')) + : base("/api/" + resource.Trim('/')) { + Options["/"] = x => new Response(); } diff --git a/NzbDrone.Api/QualityProfiles/QualityProfileModule.cs b/NzbDrone.Api/QualityProfiles/QualityProfilesModule.cs similarity index 91% rename from NzbDrone.Api/QualityProfiles/QualityProfileModule.cs rename to NzbDrone.Api/QualityProfiles/QualityProfilesModule.cs index f0aba2e84..02d790e93 100644 --- a/NzbDrone.Api/QualityProfiles/QualityProfileModule.cs +++ b/NzbDrone.Api/QualityProfiles/QualityProfilesModule.cs @@ -8,12 +8,12 @@ using NzbDrone.Api.QualityType; namespace NzbDrone.Api.QualityProfiles { - public class QualityProfileModule : NzbDroneApiModule + public class QualityProfilesModule : NzbDroneApiModule { private readonly QualityProvider _qualityProvider; - public QualityProfileModule(QualityProvider qualityProvider) - : base("/QualityProfile") + public QualityProfilesModule(QualityProvider qualityProvider) + : base("/QualityProfiles") { _qualityProvider = qualityProvider; Get["/"] = x => OnGet(); diff --git a/NzbDrone.Api/Series/SeriesModule.cs b/NzbDrone.Api/Series/SeriesModule.cs new file mode 100644 index 000000000..d881a8069 --- /dev/null +++ b/NzbDrone.Api/Series/SeriesModule.cs @@ -0,0 +1,26 @@ +using System.Linq; +using Nancy; +using NzbDrone.Api.QualityType; +using NzbDrone.Core.Providers; + +namespace NzbDrone.Api.Series +{ + public class SeriesModule : NzbDroneApiModule + { + private readonly TvDbProvider _tvDbProvider; + + public SeriesModule(TvDbProvider tvDbProvider) + : base("/Series") + { + _tvDbProvider = tvDbProvider; + Get["/lookup"] = x => GetQualityType(); + } + + + private Response GetQualityType() + { + var tvDbResults = _tvDbProvider.SearchSeries((string)Request.Query.term); + return tvDbResults.AsResponse(); + } + } +} \ No newline at end of file diff --git a/NzbDrone.Backbone/AddSeries/Views/addSeriesView.js b/NzbDrone.Backbone/AddSeries/Views/addSeriesView.js index d6a5d7c6d..2d291ad03 100644 --- a/NzbDrone.Backbone/AddSeries/Views/addSeriesView.js +++ b/NzbDrone.Backbone/AddSeries/Views/addSeriesView.js @@ -31,7 +31,7 @@ NzbDrone.AddNewSeriesView = Backbone.Marionette.ItemView.extend({ this.ui.seriesSearch .autocomplete({ - source: "http://kayone.nzbdrone.com:8989/AddSeries/LookupSeries", + source: "http://localhost:1232/api/series/lookup", minLength: 1, delay: 500, select: function (event, ui) { @@ -51,7 +51,7 @@ NzbDrone.AddNewSeriesView = Backbone.Marionette.ItemView.extend({ return $("
  • ") .data("item.autocomplete", item) - .append("" + item.DisplayedTitle + "") + .append("" + item.SeriesName + "") .appendTo(ul); }; }, diff --git a/NzbDrone.Web/Web.config b/NzbDrone.Web/Web.config index 93d9c7516..f1af6fc35 100644 --- a/NzbDrone.Web/Web.config +++ b/NzbDrone.Web/Web.config @@ -43,7 +43,7 @@ - + + + + + +