1
0
mirror of https://github.com/Radarr/Radarr.git synced 2024-08-16 15:29:40 +02:00

Merge branch 'mark-fork'

This commit is contained in:
Keivan 2011-04-08 09:54:49 -07:00
commit ce1198642a
31 changed files with 107 additions and 186 deletions

View File

@ -64,13 +64,14 @@ public static void BindKernel()
_kernel.Bind<IRssSyncProvider>().To<RssSyncProvider>().InSingletonScope(); _kernel.Bind<IRssSyncProvider>().To<RssSyncProvider>().InSingletonScope();
_kernel.Bind<ISeasonProvider>().To<SeasonProvider>(); _kernel.Bind<ISeasonProvider>().To<SeasonProvider>();
_kernel.Bind<IEpisodeProvider>().To<EpisodeProvider>(); _kernel.Bind<IEpisodeProvider>().To<EpisodeProvider>();
_kernel.Bind<IUpcomingEpisodesProvider>().To<UpcomingEpisodesProvider>(); _kernel.Bind<UpcomingEpisodesProvider>().To<UpcomingEpisodesProvider>();
_kernel.Bind<IDiskProvider>().To<DiskProvider>(); _kernel.Bind<IDiskProvider>().To<DiskProvider>();
_kernel.Bind<IDownloadProvider>().To<SabProvider>(); _kernel.Bind<SabProvider>().To<SabProvider>();
_kernel.Bind<IHistoryProvider>().To<HistoryProvider>(); _kernel.Bind<IHistoryProvider>().To<HistoryProvider>();
_kernel.Bind<IRootDirProvider>().To<RootDirProvider>(); _kernel.Bind<RootDirProvider>().To<RootDirProvider>();
_kernel.Bind<IExtenalNotificationProvider>().To<ExternalNotificationProvider>(); _kernel.Bind<ExternalNotificationProvider>().To<ExternalNotificationProvider>();
_kernel.Bind<IXbmcProvider>().To<XbmcProvider>(); _kernel.Bind<XbmcProvider>().To<XbmcProvider>();
_kernel.Bind<PostProcessingProvider>().To<PostProcessingProvider>();
_kernel.Bind<IConfigProvider>().To<ConfigProvider>().InSingletonScope(); _kernel.Bind<IConfigProvider>().To<ConfigProvider>().InSingletonScope();
_kernel.Bind<ISyncProvider>().To<SyncProvider>().InSingletonScope(); _kernel.Bind<ISyncProvider>().To<SyncProvider>().InSingletonScope();
_kernel.Bind<IIndexerProvider>().To<IndexerProvider>().InSingletonScope(); _kernel.Bind<IIndexerProvider>().To<IndexerProvider>().InSingletonScope();
@ -78,7 +79,7 @@ public static void BindKernel()
_kernel.Bind<INotificationProvider>().To<NotificationProvider>().InSingletonScope(); _kernel.Bind<INotificationProvider>().To<NotificationProvider>().InSingletonScope();
_kernel.Bind<ILogProvider>().To<LogProvider>().InSingletonScope(); _kernel.Bind<ILogProvider>().To<LogProvider>().InSingletonScope();
_kernel.Bind<IMediaFileProvider>().To<MediaFileProvider>().InSingletonScope(); _kernel.Bind<IMediaFileProvider>().To<MediaFileProvider>().InSingletonScope();
_kernel.Bind<ITimerProvider>().To<TimerProvider>().InSingletonScope(); _kernel.Bind<TimerProvider>().To<TimerProvider>().InSingletonScope();
_kernel.Bind<IRepository>().ToMethod(c => new SimpleRepository(dbProvider, SimpleRepositoryOptions.RunMigrations)).InSingletonScope(); _kernel.Bind<IRepository>().ToMethod(c => new SimpleRepository(dbProvider, SimpleRepositoryOptions.RunMigrations)).InSingletonScope();
_kernel.Bind<IRepository>().ToConstant(logRepository).WhenInjectedInto<SubsonicTarget>().InSingletonScope(); _kernel.Bind<IRepository>().ToConstant(logRepository).WhenInjectedInto<SubsonicTarget>().InSingletonScope();
@ -90,7 +91,7 @@ public static void BindKernel()
//Get the Timers going //Get the Timers going
var config = _kernel.Get<IConfigProvider>(); var config = _kernel.Get<IConfigProvider>();
var timer = _kernel.Get<ITimerProvider>(); var timer = _kernel.Get<TimerProvider>();
timer.SetRssSyncTimer(Convert.ToInt32(config.GetValue("SyncFrequency", "15", true))); timer.SetRssSyncTimer(Convert.ToInt32(config.GetValue("SyncFrequency", "15", true)));
timer.StartRssSyncTimer(); timer.StartRssSyncTimer();
} }

View File

@ -183,17 +183,11 @@
<Compile Include="Providers\Feed\NzbsOrgFeedProvider.cs" /> <Compile Include="Providers\Feed\NzbsOrgFeedProvider.cs" />
<Compile Include="Providers\HistoryProvider.cs" /> <Compile Include="Providers\HistoryProvider.cs" />
<Compile Include="Providers\IBacklogProvider.cs" /> <Compile Include="Providers\IBacklogProvider.cs" />
<Compile Include="Providers\IExtenalNotificationProvider.cs" />
<Compile Include="Providers\IHistoryProvider.cs" /> <Compile Include="Providers\IHistoryProvider.cs" />
<Compile Include="Providers\IIndexerProvider.cs" /> <Compile Include="Providers\IIndexerProvider.cs" />
<Compile Include="Providers\IndexerProvider.cs" /> <Compile Include="Providers\IndexerProvider.cs" />
<Compile Include="Providers\IPostProcessingProvider.cs" />
<Compile Include="Providers\IRenameProvider.cs" /> <Compile Include="Providers\IRenameProvider.cs" />
<Compile Include="Providers\IRootDirProvider.cs" />
<Compile Include="Providers\IRssSyncProvider.cs" /> <Compile Include="Providers\IRssSyncProvider.cs" />
<Compile Include="Providers\ITimerProvider.cs" />
<Compile Include="Providers\IUpcomingEpisodesProvider.cs" />
<Compile Include="Providers\IXbmcProvider.cs" />
<Compile Include="Providers\PostProcessingProvider.cs" /> <Compile Include="Providers\PostProcessingProvider.cs" />
<Compile Include="Providers\QualityProvider.cs" /> <Compile Include="Providers\QualityProvider.cs" />
<Compile Include="Providers\RenameProvider.cs" /> <Compile Include="Providers\RenameProvider.cs" />
@ -218,7 +212,6 @@
<Compile Include="Providers\Core\ConfigProvider.cs" /> <Compile Include="Providers\Core\ConfigProvider.cs" />
<Compile Include="Providers\EpisodeProvider.cs" /> <Compile Include="Providers\EpisodeProvider.cs" />
<Compile Include="Providers\Core\HttpProvider.cs" /> <Compile Include="Providers\Core\HttpProvider.cs" />
<Compile Include="Providers\IDownloadProvider.cs" />
<Compile Include="Providers\IEpisodeProvider.cs" /> <Compile Include="Providers\IEpisodeProvider.cs" />
<Compile Include="Providers\ISeasonProvider.cs" /> <Compile Include="Providers\ISeasonProvider.cs" />
<Compile Include="Providers\ISeriesProvider.cs" /> <Compile Include="Providers\ISeriesProvider.cs" />

View File

@ -10,22 +10,21 @@
namespace NzbDrone.Core.Providers namespace NzbDrone.Core.Providers
{ {
public class ExternalNotificationProvider : IExtenalNotificationProvider public class ExternalNotificationProvider
{ {
private readonly IConfigProvider _configProvider; private readonly IConfigProvider _configProvider;
private readonly IXbmcProvider _xbmcProvider; private readonly XbmcProvider _xbmcProvider;
private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
public ExternalNotificationProvider(IConfigProvider configProvider, IXbmcProvider xbmcProvider) public ExternalNotificationProvider(IConfigProvider configProvider, XbmcProvider xbmcProvider)
{ {
_configProvider = configProvider; _configProvider = configProvider;
_xbmcProvider = xbmcProvider; _xbmcProvider = xbmcProvider;
} }
#region IExternalNotificationProvider Members #region ExternalNotificationProvider Members
public void OnGrab(string message) public virtual void OnGrab(string message)
{ {
var header = "NzbDrone [TV] - Grabbed"; var header = "NzbDrone [TV] - Grabbed";
@ -43,7 +42,7 @@ public void OnGrab(string message)
Logger.Trace("XBMC Notifier is not enabled"); Logger.Trace("XBMC Notifier is not enabled");
} }
public void OnDownload(EpisodeRenameModel erm) public virtual void OnDownload(EpisodeRenameModel erm)
{ {
var header = "NzbDrone [TV] - Downloaded"; var header = "NzbDrone [TV] - Downloaded";
var message = EpisodeRenameHelper.GetNewName(erm); var message = EpisodeRenameHelper.GetNewName(erm);
@ -75,7 +74,7 @@ public void OnDownload(EpisodeRenameModel erm)
throw new NotImplementedException(); throw new NotImplementedException();
} }
public void OnRename(EpisodeRenameModel erm) public virtual void OnRename(EpisodeRenameModel erm)
{ {
var header = "NzbDrone [TV] - Renamed"; var header = "NzbDrone [TV] - Renamed";
var message = EpisodeRenameHelper.GetNewName(erm); var message = EpisodeRenameHelper.GetNewName(erm);

View File

@ -12,4 +12,4 @@ public interface IBacklogProvider
bool StartSearch(); bool StartSearch();
bool StartSearch(int seriesId); bool StartSearch(int seriesId);
} }
} }

View File

@ -1,9 +0,0 @@
namespace NzbDrone.Core.Providers
{
public interface IDownloadProvider
{
bool AddByUrl(string url, string title); //Should accept something other than string (NzbInfo?) returns success or failure
bool IsInQueue(string title); //Should accept something other than string (Episode?) returns bool
bool AddById(string id, string title);
}
}

View File

@ -1,15 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NzbDrone.Core.Model;
namespace NzbDrone.Core.Providers
{
public interface IExtenalNotificationProvider
{
void OnGrab(string message);
void OnDownload(EpisodeRenameModel erm);
void OnRename(EpisodeRenameModel erm);
}
}

View File

@ -1,12 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace NzbDrone.Core.Providers
{
public interface IPostProcessingProvider
{
void ProcessEpisode(string dir, string nzbName);
}
}

View File

@ -1,17 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NzbDrone.Core.Repository;
namespace NzbDrone.Core.Providers
{
public interface IRootDirProvider
{
List<RootDir> GetAll();
void Add(RootDir rootDir);
void Remove(int rootDirId);
void Update(RootDir rootDir);
RootDir GetRootDir(int rootDirId);
}
}

View File

@ -1,19 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace NzbDrone.Core.Providers
{
public interface ITimerProvider
{
void ResetRssSyncTimer();
void StartRssSyncTimer();
void StopRssSyncTimer();
void SetRssSyncTimer(int minutes);
TimeSpan RssSyncTimeLeft();
DateTime NextRssSyncTime();
void StartMinuteTimer();
void StopMinuteTimer();
}
}

View File

@ -1,17 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NzbDrone.Core.Model;
using NzbDrone.Core.Repository;
namespace NzbDrone.Core.Providers
{
public interface IUpcomingEpisodesProvider
{
UpcomingEpisodesModel Upcoming();
List<Episode> Yesterday();
List<Episode> Today();
List<Episode> Week();
}
}

View File

@ -1,14 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace NzbDrone.Core.Providers
{
public interface IXbmcProvider
{
void Notify(string header, string message);
void Update(int seriesId);
void Clean();
}
}

View File

@ -9,7 +9,7 @@
namespace NzbDrone.Core.Providers namespace NzbDrone.Core.Providers
{ {
public class PostProcessingProvider : IPostProcessingProvider public class PostProcessingProvider
{ {
private readonly ISeriesProvider _seriesProvider; private readonly ISeriesProvider _seriesProvider;
private readonly IMediaFileProvider _mediaFileProvider; private readonly IMediaFileProvider _mediaFileProvider;
@ -23,9 +23,9 @@ public PostProcessingProvider(ISeriesProvider seriesProvider,
_renameProvider = renameProvider; _renameProvider = renameProvider;
} }
#region IPostProcessingProvider Members #region PostProcessingProvider Members
public void ProcessEpisode(string dir, string nzbName) public virtual void ProcessEpisode(string dir, string nzbName)
{ {
var parsedSeries = Parser.ParseSeriesName(nzbName); var parsedSeries = Parser.ParseSeriesName(nzbName);
var series = _seriesProvider.FindSeries(parsedSeries); var series = _seriesProvider.FindSeries(parsedSeries);

View File

@ -20,7 +20,7 @@ public class RenameProvider : IRenameProvider
private readonly IMediaFileProvider _mediaFileProvider; private readonly IMediaFileProvider _mediaFileProvider;
private readonly IDiskProvider _diskProvider; private readonly IDiskProvider _diskProvider;
private readonly IConfigProvider _configProvider; private readonly IConfigProvider _configProvider;
private readonly IExtenalNotificationProvider _externalNotificationProvider; private readonly ExternalNotificationProvider _externalNotificationProvider;
private Thread _renameThread; private Thread _renameThread;
private List<EpisodeRenameModel> _epsToRename = new List<EpisodeRenameModel>(); private List<EpisodeRenameModel> _epsToRename = new List<EpisodeRenameModel>();
@ -30,7 +30,7 @@ public class RenameProvider : IRenameProvider
public RenameProvider(ISeriesProvider seriesProvider, ISeasonProvider seasonProvider, public RenameProvider(ISeriesProvider seriesProvider, ISeasonProvider seasonProvider,
IEpisodeProvider episodeProvider, IMediaFileProvider mediaFileProvider, IEpisodeProvider episodeProvider, IMediaFileProvider mediaFileProvider,
IDiskProvider diskProvider, IConfigProvider configProvider, IDiskProvider diskProvider, IConfigProvider configProvider,
IExtenalNotificationProvider extenalNotificationProvider) ExternalNotificationProvider extenalNotificationProvider)
{ {
_seriesProvider = seriesProvider; _seriesProvider = seriesProvider;
_seasonProvider = seasonProvider; _seasonProvider = seasonProvider;

View File

@ -7,7 +7,7 @@
namespace NzbDrone.Core.Providers namespace NzbDrone.Core.Providers
{ {
public class RootDirProvider : IRootDirProvider public class RootDirProvider
{ {
private readonly IRepository _sonioRepo; private readonly IRepository _sonioRepo;
@ -18,27 +18,27 @@ public RootDirProvider(IRepository sonicRepo)
#region IRootDirProvider #region IRootDirProvider
public List<RootDir> GetAll() public virtual List<RootDir> GetAll()
{ {
return _sonioRepo.All<RootDir>().ToList(); return _sonioRepo.All<RootDir>().ToList();
} }
public void Add(RootDir rootDir) public virtual void Add(RootDir rootDir)
{ {
_sonioRepo.Add(rootDir); _sonioRepo.Add(rootDir);
} }
public void Remove(int rootDirId) public virtual void Remove(int rootDirId)
{ {
_sonioRepo.Delete<RootDir>(rootDirId); _sonioRepo.Delete<RootDir>(rootDirId);
} }
public void Update(RootDir rootDir) public virtual void Update(RootDir rootDir)
{ {
_sonioRepo.Update(rootDir); _sonioRepo.Update(rootDir);
} }
public RootDir GetRootDir(int rootDirId) public virtual RootDir GetRootDir(int rootDirId)
{ {
return _sonioRepo.Single<RootDir>(rootDirId); return _sonioRepo.Single<RootDir>(rootDirId);
} }

View File

@ -7,7 +7,7 @@
namespace NzbDrone.Core.Providers namespace NzbDrone.Core.Providers
{ {
public class SabProvider : IDownloadProvider public class SabProvider
{ {
private readonly IConfigProvider _config; private readonly IConfigProvider _config;
private readonly HttpProvider _http; private readonly HttpProvider _http;
@ -22,7 +22,7 @@ public SabProvider(IConfigProvider config, HttpProvider http)
#region IDownloadProvider Members #region IDownloadProvider Members
public bool AddByUrl(string url, string title) public virtual bool AddByUrl(string url, string title)
{ {
const string mode = "addurl"; const string mode = "addurl";
string cat = _config.GetValue("SabTvCategory", String.Empty, true); string cat = _config.GetValue("SabTvCategory", String.Empty, true);
@ -45,7 +45,7 @@ public bool AddByUrl(string url, string title)
return false; return false;
} }
public bool IsInQueue(string title) public virtual bool IsInQueue(string title)
{ {
const string action = "mode=queue&output=xml"; const string action = "mode=queue&output=xml";
string request = GetSabRequest(action); string request = GetSabRequest(action);
@ -71,7 +71,7 @@ public bool IsInQueue(string title)
return false; //Not in Queue return false; //Not in Queue
} }
public bool AddById(string id, string title) public virtual bool AddById(string id, string title)
{ {
//mode=addid&name=333333&pp=3&script=customscript.cmd&cat=Example&priority=-1 //mode=addid&name=333333&pp=3&script=customscript.cmd&cat=Example&priority=-1

View File

@ -8,7 +8,7 @@
namespace NzbDrone.Core.Providers namespace NzbDrone.Core.Providers
{ {
public class TimerProvider : ITimerProvider public class TimerProvider
{ {
private readonly IRssSyncProvider _rssSyncProvider; private readonly IRssSyncProvider _rssSyncProvider;
private readonly ISeriesProvider _seriesProvider; private readonly ISeriesProvider _seriesProvider;
@ -33,15 +33,15 @@ public TimerProvider(IRssSyncProvider rssSyncProvider, ISeriesProvider seriesPro
_minuteTimer = new Timer(60000); _minuteTimer = new Timer(60000);
} }
#region ITimerProvider Members #region TimerProvider Members
public void ResetRssSyncTimer() public virtual void ResetRssSyncTimer()
{ {
double interval = _rssSyncTimer.Interval; double interval = _rssSyncTimer.Interval;
_rssSyncTimer.Interval = interval; _rssSyncTimer.Interval = interval;
} }
public void StartRssSyncTimer() public virtual void StartRssSyncTimer()
{ {
if (_rssSyncTimer.Interval < 900000) //If Timer is less than 15 minutes, throw an error! This should also be handled when saving the config, though a user could by-pass it by editing the DB directly... TNO (Trust No One) if (_rssSyncTimer.Interval < 900000) //If Timer is less than 15 minutes, throw an error! This should also be handled when saving the config, though a user could by-pass it by editing the DB directly... TNO (Trust No One)
{ {
@ -53,35 +53,35 @@ public void StartRssSyncTimer()
_rssSyncTimer.Start(); _rssSyncTimer.Start();
_rssSyncNextInterval = DateTime.Now.AddMilliseconds(_rssSyncTimer.Interval); _rssSyncNextInterval = DateTime.Now.AddMilliseconds(_rssSyncTimer.Interval);
} }
public void StopRssSyncTimer() public virtual void StopRssSyncTimer()
{ {
_rssSyncTimer.Stop(); _rssSyncTimer.Stop();
} }
public void SetRssSyncTimer(int minutes) public virtual void SetRssSyncTimer(int minutes)
{ {
long ms = minutes * 60 * 1000; long ms = minutes * 60 * 1000;
_rssSyncTimer.Interval = ms; _rssSyncTimer.Interval = ms;
} }
public TimeSpan RssSyncTimeLeft() public virtual TimeSpan RssSyncTimeLeft()
{ {
return _rssSyncNextInterval.Subtract(DateTime.Now); return _rssSyncNextInterval.Subtract(DateTime.Now);
} }
public DateTime NextRssSyncTime() public virtual DateTime NextRssSyncTime()
{ {
return _rssSyncNextInterval; return _rssSyncNextInterval;
} }
public void StartMinuteTimer() public virtual void StartMinuteTimer()
{ {
_minuteTimer.Elapsed += new ElapsedEventHandler(MinuteTimer_Elapsed); _minuteTimer.Elapsed += new ElapsedEventHandler(MinuteTimer_Elapsed);
_minuteTimer.Start(); _minuteTimer.Start();
} }
public void StopMinuteTimer() public virtual void StopMinuteTimer()
{ {
_minuteTimer.Stop(); _minuteTimer.Stop();
} }

View File

@ -8,7 +8,7 @@
namespace NzbDrone.Core.Providers namespace NzbDrone.Core.Providers
{ {
public class UpcomingEpisodesProvider : IUpcomingEpisodesProvider public class UpcomingEpisodesProvider
{ {
private IRepository _sonicRepo; private IRepository _sonicRepo;
@ -17,9 +17,9 @@ public UpcomingEpisodesProvider(IRepository sonicRepo)
_sonicRepo = sonicRepo; _sonicRepo = sonicRepo;
} }
#region IUpcomingEpisodesProvider #region UpcomingEpisodesProvider Members
public UpcomingEpisodesModel Upcoming() public virtual UpcomingEpisodesModel Upcoming()
{ {
var allEps = _sonicRepo.All<Episode>().Where(e => e.AirDate >= DateTime.Today.AddDays(-1) && e.AirDate < DateTime.Today.AddDays(8)); var allEps = _sonicRepo.All<Episode>().Where(e => e.AirDate >= DateTime.Today.AddDays(-1) && e.AirDate < DateTime.Today.AddDays(8));
@ -30,17 +30,17 @@ public UpcomingEpisodesModel Upcoming()
return new UpcomingEpisodesModel {Yesterday = yesterday, Today = today, Week = week}; return new UpcomingEpisodesModel {Yesterday = yesterday, Today = today, Week = week};
} }
public List<Episode> Yesterday() public virtual List<Episode> Yesterday()
{ {
return _sonicRepo.All<Episode>().Where(e => e.AirDate == DateTime.Today.AddDays(-1)).ToList(); return _sonicRepo.All<Episode>().Where(e => e.AirDate == DateTime.Today.AddDays(-1)).ToList();
} }
public List<Episode> Today() public virtual List<Episode> Today()
{ {
return _sonicRepo.All<Episode>().Where(e => e.AirDate == DateTime.Today).ToList(); return _sonicRepo.All<Episode>().Where(e => e.AirDate == DateTime.Today).ToList();
} }
public List<Episode> Week() public virtual List<Episode> Week()
{ {
return _sonicRepo.All<Episode>().Where(e => e.AirDate > DateTime.Today && e.AirDate < DateTime.Today.AddDays(8)).ToList(); return _sonicRepo.All<Episode>().Where(e => e.AirDate > DateTime.Today && e.AirDate < DateTime.Today.AddDays(8)).ToList();
} }

View File

@ -10,7 +10,7 @@
namespace NzbDrone.Core.Providers namespace NzbDrone.Core.Providers
{ {
public class XbmcProvider : IXbmcProvider public class XbmcProvider
{ {
private readonly IConfigProvider _configProvider; private readonly IConfigProvider _configProvider;
private readonly HttpProvider _httpProvider; private readonly HttpProvider _httpProvider;
@ -23,9 +23,9 @@ public XbmcProvider(IConfigProvider configProvider, HttpProvider httpProvider)
_httpProvider = httpProvider; _httpProvider = httpProvider;
} }
#region IXbmcProvider Members #region XbmcProvider Members
public void Notify(string header, string message) public virtual void Notify(string header, string message)
{ {
//Get time in seconds and convert to ms //Get time in seconds and convert to ms
var time = Convert.ToInt32(_configProvider.GetValue("XbmcDisplayTime", "3", true)) * 1000; var time = Convert.ToInt32(_configProvider.GetValue("XbmcDisplayTime", "3", true)) * 1000;
@ -47,7 +47,7 @@ public void Notify(string header, string message)
} }
} }
public void Update(int seriesId) public virtual void Update(int seriesId)
{ {
foreach (var host in _configProvider.GetValue("XbmcHosts", "localhost:80", true).Split(',')) foreach (var host in _configProvider.GetValue("XbmcHosts", "localhost:80", true).Split(','))
{ {
@ -68,7 +68,7 @@ public void Update(int seriesId)
} }
} }
public void Clean() public virtual void Clean()
{ {
foreach (var host in _configProvider.GetValue("XbmcHosts", "localhost:80", true).Split(',')) foreach (var host in _configProvider.GetValue("XbmcHosts", "localhost:80", true).Split(','))
{ {

View File

@ -14,13 +14,13 @@ public class AddSeriesController : Controller
{ {
public IConfigProvider ConfigProvider { get; set; } public IConfigProvider ConfigProvider { get; set; }
private readonly ISyncProvider _syncProvider; private readonly ISyncProvider _syncProvider;
private readonly IRootDirProvider _rootFolderProvider; private readonly RootDirProvider _rootFolderProvider;
private readonly IConfigProvider _configProvider; private readonly IConfigProvider _configProvider;
private readonly QualityProvider _qualityProvider; private readonly QualityProvider _qualityProvider;
private readonly TvDbProvider _tvDbProvider; private readonly TvDbProvider _tvDbProvider;
private readonly ISeriesProvider _seriesProvider; private readonly ISeriesProvider _seriesProvider;
public AddSeriesController(ISyncProvider syncProvider, IRootDirProvider rootFolderProvider, IConfigProvider configProvider, public AddSeriesController(ISyncProvider syncProvider, RootDirProvider rootFolderProvider, IConfigProvider configProvider,
QualityProvider qualityProvider, TvDbProvider tvDbProvider, ISeriesProvider seriesProvider) QualityProvider qualityProvider, TvDbProvider tvDbProvider, ISeriesProvider seriesProvider)
{ {
ConfigProvider = configProvider; ConfigProvider = configProvider;
@ -63,6 +63,12 @@ public ActionResult AddExisting()
{ {
var unmappedList = new List<String>(); var unmappedList = new List<String>();
var profiles = _qualityProvider.GetAllProfiles();
var defaultQuality = Convert.ToInt32(_configProvider.DefaultQualityProfile);
var selectList = new SelectList(profiles, "QualityProfileId", "Name", defaultQuality);
ViewData["qualities"] = selectList;
foreach (var folder in _rootFolderProvider.GetAll()) foreach (var folder in _rootFolderProvider.GetAll())
{ {
unmappedList.AddRange(_syncProvider.GetUnmappedFolders(folder.Path)); unmappedList.AddRange(_syncProvider.GetUnmappedFolders(folder.Path));

View File

@ -13,12 +13,12 @@ namespace NzbDrone.Web.Controllers
{ {
public class ApiController : Controller public class ApiController : Controller
{ {
private readonly IPostProcessingProvider _postProcessingProvider; private readonly PostProcessingProvider _postProcessingProvider;
private readonly IConfigProvider _configProvider; private readonly IConfigProvider _configProvider;
private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
public ApiController(IPostProcessingProvider postProcessingProvider, IConfigProvider configProvider) public ApiController(PostProcessingProvider postProcessingProvider, IConfigProvider configProvider)
{ {
_postProcessingProvider = postProcessingProvider; _postProcessingProvider = postProcessingProvider;
_configProvider = configProvider; _configProvider = configProvider;

View File

@ -28,7 +28,7 @@ public class SeriesController : Controller
private readonly QualityProvider _qualityProvider; private readonly QualityProvider _qualityProvider;
private readonly IMediaFileProvider _mediaFileProvider; private readonly IMediaFileProvider _mediaFileProvider;
private readonly IRenameProvider _renameProvider; private readonly IRenameProvider _renameProvider;
private readonly IRootDirProvider _rootDirProvider; private readonly RootDirProvider _rootDirProvider;
private readonly TvDbProvider _tvDbProvider; private readonly TvDbProvider _tvDbProvider;
// //
// GET: /Series/ // GET: /Series/
@ -36,7 +36,7 @@ public class SeriesController : Controller
public SeriesController(ISyncProvider syncProvider, ISeriesProvider seriesProvider, public SeriesController(ISyncProvider syncProvider, ISeriesProvider seriesProvider,
IEpisodeProvider episodeProvider, IRssSyncProvider rssSyncProvider, IEpisodeProvider episodeProvider, IRssSyncProvider rssSyncProvider,
QualityProvider qualityProvider, IMediaFileProvider mediaFileProvider, QualityProvider qualityProvider, IMediaFileProvider mediaFileProvider,
IRenameProvider renameProvider, IRootDirProvider rootDirProvider, IRenameProvider renameProvider, RootDirProvider rootDirProvider,
TvDbProvider tvDbProvider) TvDbProvider tvDbProvider)
{ {
_seriesProvider = seriesProvider; _seriesProvider = seriesProvider;

View File

@ -22,14 +22,14 @@ public class SettingsController : Controller
private IConfigProvider _configProvider; private IConfigProvider _configProvider;
private IIndexerProvider _indexerProvider; private IIndexerProvider _indexerProvider;
private QualityProvider _qualityProvider; private QualityProvider _qualityProvider;
private IRootDirProvider _rootDirProvider; private RootDirProvider _rootDirProvider;
private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
private const string SETTINGS_SAVED = "Settings Saved."; private const string SETTINGS_SAVED = "Settings Saved.";
private const string SETTINGS_FAILED = "Error Saving Settings, please fix any errors"; private const string SETTINGS_FAILED = "Error Saving Settings, please fix any errors";
public SettingsController(IConfigProvider configProvider, IIndexerProvider indexerProvider, public SettingsController(IConfigProvider configProvider, IIndexerProvider indexerProvider,
QualityProvider qualityProvider, IRootDirProvider rootDirProvider) QualityProvider qualityProvider, RootDirProvider rootDirProvider)
{ {
_configProvider = configProvider; _configProvider = configProvider;
_indexerProvider = indexerProvider; _indexerProvider = indexerProvider;

View File

@ -9,9 +9,9 @@ namespace NzbDrone.Web.Controllers
{ {
public class SharedController : Controller public class SharedController : Controller
{ {
private ITimerProvider _timerProvider; private TimerProvider _timerProvider;
public SharedController(ITimerProvider timerProvider) public SharedController(TimerProvider timerProvider)
{ {
_timerProvider = timerProvider; _timerProvider = timerProvider;
} }

View File

@ -11,9 +11,9 @@ namespace NzbDrone.Web.Controllers
{ {
public class UpcomingController : Controller public class UpcomingController : Controller
{ {
private IUpcomingEpisodesProvider _upcomingEpisodesProvider; private UpcomingEpisodesProvider _upcomingEpisodesProvider;
public UpcomingController(IUpcomingEpisodesProvider upcomingEpisodesProvider) public UpcomingController(UpcomingEpisodesProvider upcomingEpisodesProvider)
{ {
_upcomingEpisodesProvider = upcomingEpisodesProvider; _upcomingEpisodesProvider = upcomingEpisodesProvider;
} }

View File

@ -9,11 +9,36 @@
<% <%
if (Model.Count() == 0) if (Model.Count() == 0)
Html.DisplayText("No Series to Add"); Html.DisplayText("No Series to Add");
%>
<%: Html.DropDownList("masterDropbox", (SelectList)ViewData["qualities"], new { style = "width: 100px;", id = "masterDropboxId" })%>
<%: @Html.Telerik().DropDownList().Name("tester").BindTo((SelectList)ViewData["qualities"]).HtmlAttributes(new { style = "width: 100px", @class = "qualityDropbox" })%>
<%
foreach (var path in Model) foreach (var path in Model)
{ {
Html.RenderAction("RenderPartial", "AddSeries", new { path }); Html.RenderAction("RenderPartial", "AddSeries", new { path });
} }
%> %>
</asp:Content>
<script type="text/javascript">
$("#masterDropboxId").change(function () {
var selectedQuality = $('#masterDropboxId').get(0).selectedIndex;
//$(".qualityDropbox").data("tComboBox").value(selectedQuality);
//$(".qualityDropbox").data("tDropDownList").val(selectedQuality);
var comboBox = $(".qualityDropbox").data("tDropDownList");
comboBox.select(selectedQuality);
});
</script>
</asp:Content>

View File

@ -12,7 +12,7 @@
.HighlightFirstMatch(true) .HighlightFirstMatch(true)
.HtmlAttributes(new { style = "width: 300px;" }) .HtmlAttributes(new { style = "width: 300px;" })
.Render();} .Render();}
@Html.Telerik().DropDownList().Name("qualityList_" + ViewData["guid"].ToString()).BindTo((SelectList)ViewData["quality"]).HtmlAttributes(new { style = "width: 100px;" }).SelectedIndex(0) @Html.Telerik().DropDownList().Name("qualityList_" + ViewData["guid"].ToString()).BindTo((SelectList)ViewData["quality"]).HtmlAttributes(new { style = "width: 100px", @class = "qualityDropbox" })
<button class="listButton" onclick="addSeries('@ViewData["guid"]','@ViewData["javaPath"].ToString()' )"> <button class="listButton" onclick="addSeries('@ViewData["guid"]','@ViewData["javaPath"].ToString()' )">
Add</button> Add</button>
</div> </div>