Merge branch 'master' of git://github.com/kayone/NzbDrone
Conflicts: NzbDrone.Web/Views/AddSeries/AddSeriesItem.cshtml
This commit is contained in:
commit
6e221afe82
32
LostInfo.txt
32
LostInfo.txt
|
@ -1,32 +0,0 @@
|
|||
Missing after HDD Failure....
|
||||
|
||||
ExternalNotiifcationProvider
|
||||
- NotifyOnGrab, Download, Rename
|
||||
|
||||
XbmcProvider
|
||||
- SendNotification
|
||||
- Update
|
||||
- Clean
|
||||
|
||||
Settings/Notications
|
||||
NoticationSettingsModel
|
||||
XBMC:
|
||||
Enabled
|
||||
Notify On: Grab, Download, Rename
|
||||
Update On: Download, Rename
|
||||
FullUpdate (If Required)
|
||||
Clean On: Download, Rename
|
||||
Show Image?
|
||||
TimeToDisplay?
|
||||
|
||||
|
||||
ServerHelper
|
||||
- Get IP/Hostname
|
||||
|
||||
|
||||
SyncProvider Changes
|
||||
- Add by Root or Single Series
|
||||
|
||||
AddSeries
|
||||
- Simlar to SB
|
||||
- FileBrowserModel - Name, Path
|
|
@ -0,0 +1,125 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Expressions;
|
||||
using AutoMoq.Unity;
|
||||
using Microsoft.Practices.Unity;
|
||||
using Moq;
|
||||
using Moq.Language.Flow;
|
||||
|
||||
namespace AutoMoq
|
||||
{
|
||||
public class AutoMoqer
|
||||
{
|
||||
private IUnityContainer container;
|
||||
private IDictionary<Type, object> registeredMocks;
|
||||
|
||||
public AutoMoqer()
|
||||
{
|
||||
SetupAutoMoqer(new UnityContainer());
|
||||
}
|
||||
|
||||
internal AutoMoqer(IUnityContainer container)
|
||||
{
|
||||
SetupAutoMoqer(container);
|
||||
}
|
||||
|
||||
public virtual T Resolve<T>()
|
||||
{
|
||||
return container.Resolve<T>();
|
||||
}
|
||||
|
||||
public virtual Mock<T> GetMock<T>() where T : class
|
||||
{
|
||||
var type = GetTheMockType<T>();
|
||||
if (GetMockHasNotBeenCalledForThisType(type))
|
||||
CreateANewMockAndRegisterIt<T>(type);
|
||||
|
||||
return TheRegisteredMockForThisType<T>(type);
|
||||
}
|
||||
|
||||
public virtual void SetConstant<T>(T instance) where T : class
|
||||
{
|
||||
container.RegisterInstance(instance);
|
||||
SetMock(instance.GetType(), null);
|
||||
}
|
||||
|
||||
internal virtual void SetMock(Type type, Mock mock)
|
||||
{
|
||||
if (registeredMocks.ContainsKey(type) == false)
|
||||
registeredMocks.Add(type, mock);
|
||||
}
|
||||
|
||||
#region private methods
|
||||
|
||||
private void SetupAutoMoqer(IUnityContainer container)
|
||||
{
|
||||
this.container = container;
|
||||
registeredMocks = new Dictionary<Type, object>();
|
||||
|
||||
AddTheAutoMockingContainerExtensionToTheContainer(container);
|
||||
container.RegisterInstance(this);
|
||||
}
|
||||
|
||||
private static void AddTheAutoMockingContainerExtensionToTheContainer(IUnityContainer container)
|
||||
{
|
||||
container.AddNewExtension<AutoMockingContainerExtension>();
|
||||
return;
|
||||
}
|
||||
|
||||
private Mock<T> TheRegisteredMockForThisType<T>(Type type) where T : class
|
||||
{
|
||||
return (Mock<T>)registeredMocks.Where(x => x.Key == type).First().Value;
|
||||
}
|
||||
|
||||
private void CreateANewMockAndRegisterIt<T>(Type type) where T : class
|
||||
{
|
||||
var mock = new Mock<T>();
|
||||
container.RegisterInstance(mock.Object);
|
||||
SetMock(type, mock);
|
||||
}
|
||||
|
||||
private bool GetMockHasNotBeenCalledForThisType(Type type)
|
||||
{
|
||||
return registeredMocks.ContainsKey(type) == false;
|
||||
}
|
||||
|
||||
private static Type GetTheMockType<T>() where T : class
|
||||
{
|
||||
return typeof(T);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public ISetup<T> Setup<T>(Expression<Action<T>> expression) where T : class
|
||||
{
|
||||
return GetMock<T>().Setup(expression);
|
||||
}
|
||||
|
||||
public ISetup<T, TResult> Setup<T, TResult>(Expression<Func<T, TResult>> expression) where T : class
|
||||
{
|
||||
return GetMock<T>().Setup(expression);
|
||||
}
|
||||
|
||||
public void Verify<T>(Expression<Action<T>> expression) where T : class
|
||||
{
|
||||
GetMock<T>().Verify(expression);
|
||||
}
|
||||
|
||||
public void Verify<T>(Expression<Action<T>> expression, string failMessage) where T : class
|
||||
{
|
||||
GetMock<T>().Verify(expression, failMessage);
|
||||
}
|
||||
|
||||
public void Verify<T>(Expression<Action<T>> expression, Times times) where T : class
|
||||
{
|
||||
GetMock<T>().Verify(expression, times);
|
||||
}
|
||||
|
||||
public void Verify<T>(Expression<Action<T>> expression, Times times, string failMessage) where T : class
|
||||
{
|
||||
GetMock<T>().Verify(expression, times, failMessage);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
Copyright (c) 2010 Darren Cauthon
|
||||
|
||||
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.
|
|
@ -0,0 +1,80 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using Microsoft.Practices.ObjectBuilder2;
|
||||
using Microsoft.Practices.Unity;
|
||||
using Moq;
|
||||
|
||||
namespace AutoMoq.Unity
|
||||
{
|
||||
internal class AutoMockingBuilderStrategy : BuilderStrategy
|
||||
{
|
||||
private readonly MockFactory mockFactory;
|
||||
private readonly IEnumerable<Type> registeredTypes;
|
||||
private readonly IUnityContainer container;
|
||||
|
||||
public AutoMockingBuilderStrategy(IEnumerable<Type> registeredTypes, IUnityContainer container)
|
||||
{
|
||||
mockFactory = new MockFactory(MockBehavior.Loose);
|
||||
this.registeredTypes = registeredTypes;
|
||||
this.container = container;
|
||||
}
|
||||
|
||||
public override void PreBuildUp(IBuilderContext context)
|
||||
{
|
||||
var autoMoqer = container.Resolve<AutoMoqer>();
|
||||
|
||||
var type = GetTheTypeFromTheBuilderContext(context);
|
||||
if (AMockObjectShouldBeCreatedForThisType(type))
|
||||
{
|
||||
var mock = CreateAMockObject(type);
|
||||
context.Existing = mock.Object;
|
||||
autoMoqer.SetMock(type, mock);
|
||||
}
|
||||
}
|
||||
|
||||
#region private methods
|
||||
|
||||
private bool AMockObjectShouldBeCreatedForThisType(Type type)
|
||||
{
|
||||
return TypeIsNotRegistered(type) && type.IsInterface;
|
||||
}
|
||||
|
||||
private static Type GetTheTypeFromTheBuilderContext(IBuilderContext context)
|
||||
{
|
||||
return ((NamedTypeBuildKey) context.OriginalBuildKey).Type;
|
||||
}
|
||||
|
||||
private bool TypeIsNotRegistered(Type type)
|
||||
{
|
||||
return registeredTypes.Any(x => x.Equals(type)) == false;
|
||||
}
|
||||
|
||||
private Mock CreateAMockObject(Type type)
|
||||
{
|
||||
var createMethod = GenerateAnInterfaceMockCreationMethod(type);
|
||||
|
||||
return InvokeTheMockCreationMethod(createMethod);
|
||||
}
|
||||
|
||||
private Mock InvokeTheMockCreationMethod(MethodInfo createMethod)
|
||||
{
|
||||
return (Mock) createMethod.Invoke(mockFactory, new object[] {new List<object>().ToArray()});
|
||||
}
|
||||
|
||||
private MethodInfo GenerateAnInterfaceMockCreationMethod(Type type)
|
||||
{
|
||||
var createMethodWithNoParameters = mockFactory.GetType().GetMethod("Create", EmptyArgumentList());
|
||||
|
||||
return createMethodWithNoParameters.MakeGenericMethod(new[] {type});
|
||||
}
|
||||
|
||||
private static Type[] EmptyArgumentList()
|
||||
{
|
||||
return new[] {typeof (object[])};
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Microsoft.Practices.Unity;
|
||||
using Microsoft.Practices.Unity.ObjectBuilder;
|
||||
|
||||
namespace AutoMoq.Unity
|
||||
{
|
||||
internal class AutoMockingContainerExtension : UnityContainerExtension
|
||||
{
|
||||
private readonly IList<Type> registeredTypes = new List<Type>();
|
||||
|
||||
protected override void Initialize()
|
||||
{
|
||||
SetEventsOnContainerToTrackAllRegisteredTypes();
|
||||
SetBuildingStrategyForBuildingUnregisteredTypes();
|
||||
}
|
||||
|
||||
#region private methods
|
||||
|
||||
private void SetEventsOnContainerToTrackAllRegisteredTypes()
|
||||
{
|
||||
Context.Registering += ((sender, e) => RegisterType(e.TypeFrom));
|
||||
Context.RegisteringInstance += ((sender, e) => RegisterType(e.RegisteredType));
|
||||
}
|
||||
|
||||
private void RegisterType(Type typeToRegister)
|
||||
{
|
||||
registeredTypes.Add(typeToRegister);
|
||||
}
|
||||
|
||||
private void SetBuildingStrategyForBuildingUnregisteredTypes()
|
||||
{
|
||||
var strategy = new AutoMockingBuilderStrategy(registeredTypes, Container);
|
||||
Context.Strategies.Add(strategy, UnityBuildStage.PreCreation);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using AutoMoq;
|
||||
using Gallio.Framework;
|
||||
using MbUnit.Framework;
|
||||
using MbUnit.Framework.ContractVerifiers;
|
||||
|
@ -23,17 +24,20 @@ namespace NzbDrone.Core.Test
|
|||
const string value = "MY_VALUE";
|
||||
|
||||
//Arrange
|
||||
var repo = new Mock<IRepository>();
|
||||
var config = new Config { Key = key, Value = value };
|
||||
repo.Setup(r => r.Single<Config>(key)).Returns(config);
|
||||
var target = new ConfigProvider(repo.Object);
|
||||
|
||||
var mocker = new AutoMoqer();
|
||||
|
||||
mocker.GetMock<IRepository>()
|
||||
.Setup(r => r.Single<Config>(key))
|
||||
.Returns(config);
|
||||
|
||||
//Act
|
||||
target.SetValue(key, value);
|
||||
mocker.Resolve<ConfigProvider>().SetValue(key, value);
|
||||
|
||||
//Assert
|
||||
repo.Verify(c => c.Update(config));
|
||||
repo.Verify(c => c.Add(It.IsAny<Config>()), Times.Never());
|
||||
mocker.GetMock<IRepository>().Verify(c => c.Update(config));
|
||||
mocker.GetMock<IRepository>().Verify(c => c.Add(It.IsAny<Config>()), Times.Never());
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
@ -43,17 +47,20 @@ namespace NzbDrone.Core.Test
|
|||
const string value = "MY_VALUE";
|
||||
|
||||
//Arrange
|
||||
var repo = new Mock<IRepository>();
|
||||
repo.Setup(r => r.Single<Config>(It.IsAny<string>())).Returns<Config>(null).Verifiable();
|
||||
var target = new ConfigProvider(repo.Object);
|
||||
var mocker = new AutoMoqer();
|
||||
|
||||
mocker.GetMock<IRepository>()
|
||||
.Setup(r => r.Single<Config>(It.IsAny<string>()))
|
||||
.Returns<Config>(null)
|
||||
.Verifiable();
|
||||
|
||||
//Act
|
||||
target.SetValue(key, value);
|
||||
mocker.Resolve<ConfigProvider>().SetValue(key, value);
|
||||
|
||||
//Assert
|
||||
repo.Verify();
|
||||
repo.Verify(r => r.Update(It.IsAny<Config>()), Times.Never());
|
||||
repo.Verify(r => r.Add(It.Is<Config>(c => c.Key == key && c.Value == value)), Times.Once());
|
||||
mocker.GetMock<IRepository>().Verify();
|
||||
mocker.GetMock<IRepository>().Verify(r => r.Update(It.IsAny<Config>()), Times.Never());
|
||||
mocker.GetMock<IRepository>().Verify(r => r.Add(It.Is<Config>(c => c.Key == key && c.Value == value)), Times.Once());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using AutoMoq;
|
||||
using FizzWare.NBuilder;
|
||||
using Gallio.Framework;
|
||||
using MbUnit.Framework;
|
||||
|
@ -27,8 +28,9 @@ namespace NzbDrone.Core.Test
|
|||
public void RefreshEpisodeInfo()
|
||||
{
|
||||
//Arrange
|
||||
int seriesId = 71663;
|
||||
int episodeCount = 10;
|
||||
const int seriesId = 71663;
|
||||
const int episodeCount = 10;
|
||||
|
||||
var fakeEpisodes = Builder<TvdbSeries>.CreateNew().With(
|
||||
c => c.Episodes =
|
||||
new List<TvdbEpisode>(Builder<TvdbEpisode>.CreateListOfSize(episodeCount).
|
||||
|
@ -37,23 +39,26 @@ namespace NzbDrone.Core.Test
|
|||
.Build())
|
||||
).With(c => c.Id = seriesId).Build();
|
||||
|
||||
var tvdbMock = new Mock<ITvDbProvider>();
|
||||
tvdbMock.Setup(c => c.GetSeries(seriesId, true)).Returns(fakeEpisodes).Verifiable();
|
||||
var mocker = new AutoMoqer();
|
||||
|
||||
mocker.SetConstant(MockLib.GetEmptyRepository());
|
||||
|
||||
mocker.GetMock<TvDbProvider>()
|
||||
.Setup(c => c.GetSeries(seriesId, true))
|
||||
.Returns(fakeEpisodes).Verifiable();
|
||||
|
||||
//mocker.GetMock<IRepository>().SetReturnsDefault();
|
||||
|
||||
|
||||
var kernel = new MockingKernel();
|
||||
kernel.Bind<IRepository>().ToConstant(MockLib.GetEmptyRepository(false)).InSingletonScope();
|
||||
kernel.Bind<ITvDbProvider>().ToConstant(tvdbMock.Object);
|
||||
kernel.Bind<IEpisodeProvider>().To<EpisodeProvider>().InSingletonScope();
|
||||
|
||||
//Act
|
||||
var sw = Stopwatch.StartNew();
|
||||
kernel.Get<IEpisodeProvider>().RefreshEpisodeInfo(seriesId);
|
||||
|
||||
|
||||
mocker.Resolve<EpisodeProvider>().RefreshEpisodeInfo(seriesId);
|
||||
var actualCount = mocker.Resolve<EpisodeProvider>().GetEpisodeBySeries(seriesId);
|
||||
//Assert
|
||||
tvdbMock.VerifyAll();
|
||||
Assert.Count(episodeCount, kernel.Get<IEpisodeProvider>().GetEpisodeBySeries(seriesId));
|
||||
Console.WriteLine("Duration: " + sw.Elapsed.ToString());
|
||||
mocker.GetMock<TvDbProvider>().VerifyAll();
|
||||
Assert.Count(episodeCount, actualCount);
|
||||
Console.WriteLine("Duration: " + sw.Elapsed);
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
|
|
@ -0,0 +1,366 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" ?>
|
||||
<rss version="2.0" xmlns:report="http://www.newzbin.com/DTD/2007/feeds/report/">
|
||||
<channel>
|
||||
<title>TV - NZBs(dot)ORG RSS Feed</title>
|
||||
<link>http://nzbs.org/index.php?&catid=&type=1</link>
|
||||
<description>TV feed for NZBs(dot)ORG</description>
|
||||
<language>en-us</language>
|
||||
<item>
|
||||
<title>Kings.S01E03.Prosperity.720p.HDTV.x264.PROPER-dH</title>
|
||||
<pubDate>Tue, 05 Apr 2011 07:16:52 +0000</pubDate>
|
||||
<category>TV-x264</category>
|
||||
<link>http://nzbs.org/index.php?action=view&nzbid=605571</link>
|
||||
<description><![CDATA[<b>Category:</b> <a href="http://nzbs.org/index.php?action=browse&catid=14">TV-x264</a><br /><b>Size:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605571&filelist=1">922.1 MB</a><br /><b>Files:</b> 21 <small>(9 pars)</small><br /><b>Group:</b> a.b.multimedia<br /><b>.NFO:</b> None<br /><b>Posted:</b> Tue April 5th 05:08:26 UTC<br /><b><a href="http://nzbs.org/cart.php?action=rsstomynzbs&nzbid=605571&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Add to My NZBs</a></b><br /><b><a href="http://nzbs.org/index.php?action=getnzb&nzbid=605571&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Download NZB</a></b><br />]]></description>
|
||||
<guid>http://nzbs.org/index.php?action=view&nzbid=605571</guid>
|
||||
<report:id>605571</report:id>
|
||||
<report:category parentID="1" id="14">TV-x264</report:category>
|
||||
<report:nzb>http://nzbs.org/index.php?action=getnzb&nzbid=605571&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f</report:nzb>
|
||||
<report:poster><![CDATA["giganews" <dan.haskell@gmail.com>]]></report:poster>
|
||||
<report:size type="bytes">966876952</report:size>
|
||||
<report:postdate>Tue, 05 Apr 2011 05:08:26 +0000</report:postdate>
|
||||
</item>
|
||||
<item>
|
||||
<title>Relapse.S01E01.David.and.Brooke.HDTV.XviD-MOMENTUM</title>
|
||||
<pubDate>Tue, 05 Apr 2011 07:07:19 +0000</pubDate>
|
||||
<category>TV-XviD</category>
|
||||
<link>http://nzbs.org/index.php?action=view&nzbid=605569</link>
|
||||
<description><![CDATA[<b>Category:</b> <a href="http://nzbs.org/index.php?action=browse&catid=1">TV-XviD</a><br /><b>Size:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605569&filelist=1">396.9 MB</a><br /><b>Files:</b> 36 <small>(7 pars)</small><br /><b>Group:</b> a.b.teevee<br /><b>.NFO:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605569&nfo=1#nfo">View NFO</a><br /><b>Ext. Link:</b> <a href="http://www.aetv.com/relapse/">http://www.aetv.com/relapse/</a><br /><b>Posted:</b> Tue April 5th 05:05:21 UTC<br /><b><a href="http://nzbs.org/cart.php?action=rsstomynzbs&nzbid=605569&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Add to My NZBs</a></b><br /><b><a href="http://nzbs.org/index.php?action=getnzb&nzbid=605569&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Download NZB</a></b><br />]]></description>
|
||||
<guid>http://nzbs.org/index.php?action=view&nzbid=605569</guid>
|
||||
<report:id>605569</report:id>
|
||||
<report:category parentID="1" id="1">TV-XviD</report:category>
|
||||
<report:nzb>http://nzbs.org/index.php?action=getnzb&nzbid=605569&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f</report:nzb>
|
||||
<report:poster><![CDATA[teevee@4u.net (teevee)]]></report:poster>
|
||||
<report:size type="bytes">416155248</report:size>
|
||||
<report:postdate>Tue, 05 Apr 2011 05:05:21 +0000</report:postdate>
|
||||
<report:moreinfo>http://www.aetv.com/relapse/</report:moreinfo>
|
||||
</item>
|
||||
<item>
|
||||
<title>WWE.Monday.Night.Raw.2011.04.04.HDTV.XviD-W4F</title>
|
||||
<pubDate>Tue, 05 Apr 2011 07:07:15 +0000</pubDate>
|
||||
<category>TV-XviD</category>
|
||||
<link>http://nzbs.org/index.php?action=view&nzbid=605566</link>
|
||||
<description><![CDATA[<b>Category:</b> <a href="http://nzbs.org/index.php?action=browse&catid=1">TV-XviD</a><br /><b>Size:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605566&filelist=1">1.27 GB</a><br /><b>Files:</b> 41 <small>(13 pars)</small><br /><b>Group:</b> a.b.multimedia<br /><b>.NFO:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605566&nfo=1#nfo">View NFO</a><br /><b>Posted:</b> Tue April 5th 05:00:31 UTC<br /><b><a href="http://nzbs.org/cart.php?action=rsstomynzbs&nzbid=605566&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Add to My NZBs</a></b><br /><b><a href="http://nzbs.org/index.php?action=getnzb&nzbid=605566&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Download NZB</a></b><br />]]></description>
|
||||
<guid>http://nzbs.org/index.php?action=view&nzbid=605566</guid>
|
||||
<report:id>605566</report:id>
|
||||
<report:category parentID="1" id="1">TV-XviD</report:category>
|
||||
<report:nzb>http://nzbs.org/index.php?action=getnzb&nzbid=605566&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f</report:nzb>
|
||||
<report:poster><![CDATA[teevee@4u.tv (teevee)]]></report:poster>
|
||||
<report:size type="bytes">1363050400</report:size>
|
||||
<report:postdate>Tue, 05 Apr 2011 05:00:31 +0000</report:postdate>
|
||||
</item>
|
||||
<item>
|
||||
<title>Endgame.S01E04.HDTV.XviD-2HD</title>
|
||||
<pubDate>Tue, 05 Apr 2011 07:07:14 +0000</pubDate>
|
||||
<category>TV-XviD</category>
|
||||
<link>http://nzbs.org/index.php?action=view&nzbid=605565</link>
|
||||
<description><![CDATA[<b>Category:</b> <a href="http://nzbs.org/index.php?action=browse&catid=1">TV-XviD</a><br /><b>Size:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605565&filelist=1">415.7 MB</a><br /><b>Files:</b> 34 <small>(10 pars)</small><br /><b>Group:</b> a.b.teevee<br /><b>.NFO:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605565&nfo=1#nfo">View NFO</a><br /><b>Posted:</b> Tue April 5th 04:59:21 UTC<br /><b><a href="http://nzbs.org/cart.php?action=rsstomynzbs&nzbid=605565&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Add to My NZBs</a></b><br /><b><a href="http://nzbs.org/index.php?action=getnzb&nzbid=605565&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Download NZB</a></b><br />]]></description>
|
||||
<guid>http://nzbs.org/index.php?action=view&nzbid=605565</guid>
|
||||
<report:id>605565</report:id>
|
||||
<report:category parentID="1" id="1">TV-XviD</report:category>
|
||||
<report:nzb>http://nzbs.org/index.php?action=getnzb&nzbid=605565&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f</report:nzb>
|
||||
<report:poster><![CDATA[teevee@4u.net (teevee)]]></report:poster>
|
||||
<report:size type="bytes">435883204</report:size>
|
||||
<report:postdate>Tue, 05 Apr 2011 04:59:21 +0000</report:postdate>
|
||||
</item>
|
||||
<item>
|
||||
<title>NCAA.Basketball.2011.Tournament.Championship.Butler.vs.UConn.HDTV.XviD-FQM</title>
|
||||
<pubDate>Tue, 05 Apr 2011 07:07:12 +0000</pubDate>
|
||||
<category>TV-XviD</category>
|
||||
<link>http://nzbs.org/index.php?action=view&nzbid=605564</link>
|
||||
<description><![CDATA[<b>Category:</b> <a href="http://nzbs.org/index.php?action=browse&catid=1">TV-XviD</a><br /><b>Size:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605564&filelist=1">1.26 GB</a><br /><b>Files:</b> 76 <small>(13 pars)</small><br /><b>Group:</b> a.b.multimedia<br /><b>.NFO:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605564&nfo=1#nfo">View NFO</a><br /><b>Ext. Link:</b> <a href="http://www.ncaa.com/">http://www.ncaa.com/</a><br /><b>Posted:</b> Tue April 5th 04:57:22 UTC<br /><b><a href="http://nzbs.org/cart.php?action=rsstomynzbs&nzbid=605564&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Add to My NZBs</a></b><br /><b><a href="http://nzbs.org/index.php?action=getnzb&nzbid=605564&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Download NZB</a></b><br />]]></description>
|
||||
<guid>http://nzbs.org/index.php?action=view&nzbid=605564</guid>
|
||||
<report:id>605564</report:id>
|
||||
<report:category parentID="1" id="1">TV-XviD</report:category>
|
||||
<report:nzb>http://nzbs.org/index.php?action=getnzb&nzbid=605564&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f</report:nzb>
|
||||
<report:poster><![CDATA[teevee@4u.tv (teevee)]]></report:poster>
|
||||
<report:size type="bytes">1349676970</report:size>
|
||||
<report:postdate>Tue, 05 Apr 2011 04:57:22 +0000</report:postdate>
|
||||
<report:moreinfo>http://www.ncaa.com/</report:moreinfo>
|
||||
</item>
|
||||
<item>
|
||||
<title>WWE.Hall.of.Fame.Induction.Ceremony.2011.720p.HDTV.x264-KYR</title>
|
||||
<pubDate>Tue, 05 Apr 2011 06:47:51 +0000</pubDate>
|
||||
<category>TV-x264</category>
|
||||
<link>http://nzbs.org/index.php?action=view&nzbid=605553</link>
|
||||
<description><![CDATA[<b>Category:</b> <a href="http://nzbs.org/index.php?action=browse&catid=14">TV-x264</a><br /><b>Size:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605553&filelist=1">1.27 GB</a><br /><b>Files:</b> 43 <small>(14 pars)</small><br /><b>Group:</b> a.b.multimedia<br /><b>.NFO:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605553&nfo=1#nfo">View NFO</a><br /><b>Posted:</b> Tue April 5th 04:45:59 UTC<br /><b><a href="http://nzbs.org/cart.php?action=rsstomynzbs&nzbid=605553&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Add to My NZBs</a></b><br /><b><a href="http://nzbs.org/index.php?action=getnzb&nzbid=605553&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Download NZB</a></b><br />]]></description>
|
||||
<guid>http://nzbs.org/index.php?action=view&nzbid=605553</guid>
|
||||
<report:id>605553</report:id>
|
||||
<report:category parentID="1" id="14">TV-x264</report:category>
|
||||
<report:nzb>http://nzbs.org/index.php?action=getnzb&nzbid=605553&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f</report:nzb>
|
||||
<report:poster><![CDATA[teevee@4u.tv (teevee)]]></report:poster>
|
||||
<report:size type="bytes">1365699871</report:size>
|
||||
<report:postdate>Tue, 05 Apr 2011 04:45:59 +0000</report:postdate>
|
||||
</item>
|
||||
<item>
|
||||
<title>Inside.the.Vault.S01E09.HDTV.XviD-MOMENTUM</title>
|
||||
<pubDate>Tue, 05 Apr 2011 06:47:49 +0000</pubDate>
|
||||
<category>TV-XviD</category>
|
||||
<link>http://nzbs.org/index.php?action=view&nzbid=605552</link>
|
||||
<description><![CDATA[<b>Category:</b> <a href="http://nzbs.org/index.php?action=browse&catid=1">TV-XviD</a><br /><b>Size:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605552&filelist=1">197.7 MB</a><br /><b>Files:</b> 23 <small>(6 pars)</small><br /><b>Group:</b> a.b.teevee<br /><b>.NFO:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605552&nfo=1#nfo">View NFO</a><br /><b>Posted:</b> Tue April 5th 04:42:36 UTC<br /><b><a href="http://nzbs.org/cart.php?action=rsstomynzbs&nzbid=605552&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Add to My NZBs</a></b><br /><b><a href="http://nzbs.org/index.php?action=getnzb&nzbid=605552&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Download NZB</a></b><br />]]></description>
|
||||
<guid>http://nzbs.org/index.php?action=view&nzbid=605552</guid>
|
||||
<report:id>605552</report:id>
|
||||
<report:category parentID="1" id="1">TV-XviD</report:category>
|
||||
<report:nzb>http://nzbs.org/index.php?action=getnzb&nzbid=605552&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f</report:nzb>
|
||||
<report:poster><![CDATA[teevee@4u.net (teevee)]]></report:poster>
|
||||
<report:size type="bytes">207259060</report:size>
|
||||
<report:postdate>Tue, 05 Apr 2011 04:42:36 +0000</report:postdate>
|
||||
</item>
|
||||
<item>
|
||||
<title>American.Pickers.S03E03.Franks.Big.Shot.HDTV.XviD-MOMENTUM</title>
|
||||
<pubDate>Tue, 05 Apr 2011 06:38:23 +0000</pubDate>
|
||||
<category>TV-XviD</category>
|
||||
<link>http://nzbs.org/index.php?action=view&nzbid=605551</link>
|
||||
<description><![CDATA[<b>Category:</b> <a href="http://nzbs.org/index.php?action=browse&catid=1">TV-XviD</a><br /><b>Size:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605551&filelist=1">395.8 MB</a><br /><b>Files:</b> 36 <small>(7 pars)</small><br /><b>Group:</b> a.b.teevee<br /><b>.NFO:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605551&nfo=1#nfo">View NFO</a><br /><b>Posted:</b> Tue April 5th 04:37:39 UTC<br /><b><a href="http://nzbs.org/cart.php?action=rsstomynzbs&nzbid=605551&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Add to My NZBs</a></b><br /><b><a href="http://nzbs.org/index.php?action=getnzb&nzbid=605551&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Download NZB</a></b><br />]]></description>
|
||||
<guid>http://nzbs.org/index.php?action=view&nzbid=605551</guid>
|
||||
<report:id>605551</report:id>
|
||||
<report:category parentID="1" id="1">TV-XviD</report:category>
|
||||
<report:nzb>http://nzbs.org/index.php?action=getnzb&nzbid=605551&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f</report:nzb>
|
||||
<report:poster><![CDATA[teevee@4u.net (teevee)]]></report:poster>
|
||||
<report:size type="bytes">414999248</report:size>
|
||||
<report:postdate>Tue, 05 Apr 2011 04:37:39 +0000</report:postdate>
|
||||
</item>
|
||||
<item>
|
||||
<title>The.Colbert.Report.2011.04.04.Andrew.Chaikin.HDTV.XviD-FQM</title>
|
||||
<pubDate>Tue, 05 Apr 2011 06:10:21 +0000</pubDate>
|
||||
<category>TV-XviD</category>
|
||||
<link>http://nzbs.org/index.php?action=view&nzbid=605538</link>
|
||||
<description><![CDATA[<b>Category:</b> <a href="http://nzbs.org/index.php?action=browse&catid=1">TV-XviD</a><br /><b>Size:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605538&filelist=1">198.9 MB</a><br /><b>Files:</b> 20 <small>(6 pars)</small><br /><b>Group:</b> a.b.teevee<br /><b>.NFO:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605538&nfo=1#nfo">View NFO</a><br /><b>Posted:</b> Tue April 5th 04:09:27 UTC<br /><b><a href="http://nzbs.org/cart.php?action=rsstomynzbs&nzbid=605538&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Add to My NZBs</a></b><br /><b><a href="http://nzbs.org/index.php?action=getnzb&nzbid=605538&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Download NZB</a></b><br />]]></description>
|
||||
<guid>http://nzbs.org/index.php?action=view&nzbid=605538</guid>
|
||||
<report:id>605538</report:id>
|
||||
<report:category parentID="1" id="1">TV-XviD</report:category>
|
||||
<report:nzb>http://nzbs.org/index.php?action=getnzb&nzbid=605538&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f</report:nzb>
|
||||
<report:poster><![CDATA[teevee@4u.net (teevee)]]></report:poster>
|
||||
<report:size type="bytes">208534960</report:size>
|
||||
<report:postdate>Tue, 05 Apr 2011 04:09:27 +0000</report:postdate>
|
||||
</item>
|
||||
<item>
|
||||
<title>Pawn.Stars.S03E44.Pablo.Pawncasso.HDTV.XviD-MOMENTUM</title>
|
||||
<pubDate>Tue, 05 Apr 2011 06:10:15 +0000</pubDate>
|
||||
<category>TV-XviD</category>
|
||||
<link>http://nzbs.org/index.php?action=view&nzbid=605537</link>
|
||||
<description><![CDATA[<b>Category:</b> <a href="http://nzbs.org/index.php?action=browse&catid=1">TV-XviD</a><br /><b>Size:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605537&filelist=1">198.5 MB</a><br /><b>Files:</b> 23 <small>(6 pars)</small><br /><b>Group:</b> a.b.teevee<br /><b>.NFO:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605537&nfo=1#nfo">View NFO</a><br /><b>Posted:</b> Tue April 5th 04:02:34 UTC<br /><b><a href="http://nzbs.org/cart.php?action=rsstomynzbs&nzbid=605537&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Add to My NZBs</a></b><br /><b><a href="http://nzbs.org/index.php?action=getnzb&nzbid=605537&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Download NZB</a></b><br />]]></description>
|
||||
<guid>http://nzbs.org/index.php?action=view&nzbid=605537</guid>
|
||||
<report:id>605537</report:id>
|
||||
<report:category parentID="1" id="1">TV-XviD</report:category>
|
||||
<report:nzb>http://nzbs.org/index.php?action=getnzb&nzbid=605537&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f</report:nzb>
|
||||
<report:poster><![CDATA[teevee@4u.net (teevee)]]></report:poster>
|
||||
<report:size type="bytes">208139732</report:size>
|
||||
<report:postdate>Tue, 05 Apr 2011 04:02:34 +0000</report:postdate>
|
||||
</item>
|
||||
<item>
|
||||
<title>The.Kennedys.Part.1.and.Part.2.DSR.XviD-SYS</title>
|
||||
<pubDate>Tue, 05 Apr 2011 06:10:06 +0000</pubDate>
|
||||
<category>TV-XviD</category>
|
||||
<link>http://nzbs.org/index.php?action=view&nzbid=605536</link>
|
||||
<description><![CDATA[<b>Category:</b> <a href="http://nzbs.org/index.php?action=browse&catid=1">TV-XviD</a><br /><b>Size:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605536&filelist=1">792.6 MB</a><br /><b>Files:</b> 61 <small>(8 pars)</small><br /><b>Group:</b> a.b.teevee<br /><b>.NFO:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605536&nfo=1#nfo">View NFO</a><br /><b>Ext. Link:</b> <a href="http://www.reelzchannel.com/kennedys/">http://www.reelzchannel.com/kennedys/</a><br /><b>Posted:</b> Tue April 5th 04:02:00 UTC<br /><b><a href="http://nzbs.org/cart.php?action=rsstomynzbs&nzbid=605536&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Add to My NZBs</a></b><br /><b><a href="http://nzbs.org/index.php?action=getnzb&nzbid=605536&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Download NZB</a></b><br />]]></description>
|
||||
<guid>http://nzbs.org/index.php?action=view&nzbid=605536</guid>
|
||||
<report:id>605536</report:id>
|
||||
<report:category parentID="1" id="1">TV-XviD</report:category>
|
||||
<report:nzb>http://nzbs.org/index.php?action=getnzb&nzbid=605536&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f</report:nzb>
|
||||
<report:poster><![CDATA[teevee@4u.net (teevee)]]></report:poster>
|
||||
<report:size type="bytes">831055164</report:size>
|
||||
<report:postdate>Tue, 05 Apr 2011 04:02:00 +0000</report:postdate>
|
||||
<report:moreinfo>http://www.reelzchannel.com/kennedys/</report:moreinfo>
|
||||
</item>
|
||||
<item>
|
||||
<title>Nurse.Jackie.S03E02.720p.HDTV.x264-ORENJI</title>
|
||||
<pubDate>Tue, 05 Apr 2011 06:00:44 +0000</pubDate>
|
||||
<category>TV-x264</category>
|
||||
<link>http://nzbs.org/index.php?action=view&nzbid=605535</link>
|
||||
<description><![CDATA[<b>Category:</b> <a href="http://nzbs.org/index.php?action=browse&catid=14">TV-x264</a><br /><b>Size:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605535&filelist=1">849.3 MB</a><br /><b>Files:</b> 26 <small>(6 pars)</small><br /><b>Group:</b> a.b.teevee<br /><b>.NFO:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605535&nfo=1#nfo">View NFO</a><br /><b>Posted:</b> Tue April 5th 03:58:06 UTC<br /><b><a href="http://nzbs.org/cart.php?action=rsstomynzbs&nzbid=605535&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Add to My NZBs</a></b><br /><b><a href="http://nzbs.org/index.php?action=getnzb&nzbid=605535&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Download NZB</a></b><br />]]></description>
|
||||
<guid>http://nzbs.org/index.php?action=view&nzbid=605535</guid>
|
||||
<report:id>605535</report:id>
|
||||
<report:category parentID="1" id="14">TV-x264</report:category>
|
||||
<report:nzb>http://nzbs.org/index.php?action=getnzb&nzbid=605535&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f</report:nzb>
|
||||
<report:poster><![CDATA[teevee@4u.net (teevee)]]></report:poster>
|
||||
<report:size type="bytes">890553088</report:size>
|
||||
<report:postdate>Tue, 05 Apr 2011 03:58:06 +0000</report:postdate>
|
||||
</item>
|
||||
<item>
|
||||
<title>The Killing S01E01-02 1080i HDTV DD5.1 MPEG2-TrollHD</title>
|
||||
<pubDate>Tue, 05 Apr 2011 06:00:43 +0000</pubDate>
|
||||
<category>TV-Other</category>
|
||||
<link>http://nzbs.org/index.php?action=view&nzbid=605534</link>
|
||||
<description><![CDATA[<b>Category:</b> <a href="http://nzbs.org/index.php?action=browse&catid=27">TV-Other</a><br /><b>Size:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605534&filelist=1">6.77 GB</a><br /><b>Files:</b> 77 <small>(12 pars)</small><br /><b>Group:</b> a.b.hdtv<br /><b>.NFO:</b> None<br /><b>Posted:</b> Tue April 5th 03:50:44 UTC<br /><b><a href="http://nzbs.org/cart.php?action=rsstomynzbs&nzbid=605534&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Add to My NZBs</a></b><br /><b><a href="http://nzbs.org/index.php?action=getnzb&nzbid=605534&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Download NZB</a></b><br />]]></description>
|
||||
<guid>http://nzbs.org/index.php?action=view&nzbid=605534</guid>
|
||||
<report:id>605534</report:id>
|
||||
<report:category parentID="1" id="27">TV-Other</report:category>
|
||||
<report:nzb>http://nzbs.org/index.php?action=getnzb&nzbid=605534&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f</report:nzb>
|
||||
<report:poster><![CDATA[Yenc@power-post.org (Yenc-PP-A&A)]]></report:poster>
|
||||
<report:size type="bytes">7271142303</report:size>
|
||||
<report:postdate>Tue, 05 Apr 2011 03:50:44 +0000</report:postdate>
|
||||
</item>
|
||||
<item>
|
||||
<title>Pawn.Stars.S03E43.Evel.Genius.HDTV.XviD-MOMENTUM</title>
|
||||
<pubDate>Tue, 05 Apr 2011 05:51:18 +0000</pubDate>
|
||||
<category>TV-XviD</category>
|
||||
<link>http://nzbs.org/index.php?action=view&nzbid=605533</link>
|
||||
<description><![CDATA[<b>Category:</b> <a href="http://nzbs.org/index.php?action=browse&catid=1">TV-XviD</a><br /><b>Size:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605533&filelist=1">206.3 MB</a><br /><b>Files:</b> 26 <small>(8 pars)</small><br /><b>Group:</b> a.b.teevee<br /><b>.NFO:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605533&nfo=1#nfo">View NFO</a><br /><b>Posted:</b> Tue April 5th 03:49:24 UTC<br /><b><a href="http://nzbs.org/cart.php?action=rsstomynzbs&nzbid=605533&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Add to My NZBs</a></b><br /><b><a href="http://nzbs.org/index.php?action=getnzb&nzbid=605533&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Download NZB</a></b><br />]]></description>
|
||||
<guid>http://nzbs.org/index.php?action=view&nzbid=605533</guid>
|
||||
<report:id>605533</report:id>
|
||||
<report:category parentID="1" id="1">TV-XviD</report:category>
|
||||
<report:nzb>http://nzbs.org/index.php?action=getnzb&nzbid=605533&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f</report:nzb>
|
||||
<report:poster><![CDATA[teevee@4u.net (teevee)]]></report:poster>
|
||||
<report:size type="bytes">216304268</report:size>
|
||||
<report:postdate>Tue, 05 Apr 2011 03:49:24 +0000</report:postdate>
|
||||
</item>
|
||||
<item>
|
||||
<title>United.States.of.Tara.S03E02.720p.HDTV.x264-ORENJI</title>
|
||||
<pubDate>Tue, 05 Apr 2011 05:51:16 +0000</pubDate>
|
||||
<category>TV-x264</category>
|
||||
<link>http://nzbs.org/index.php?action=view&nzbid=605532</link>
|
||||
<description><![CDATA[<b>Category:</b> <a href="http://nzbs.org/index.php?action=browse&catid=14">TV-x264</a><br /><b>Size:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605532&filelist=1">846.9 MB</a><br /><b>Files:</b> 26 <small>(6 pars)</small><br /><b>Group:</b> a.b.teevee<br /><b>.NFO:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605532&nfo=1#nfo">View NFO</a><br /><b>Posted:</b> Tue April 5th 03:42:42 UTC<br /><b><a href="http://nzbs.org/cart.php?action=rsstomynzbs&nzbid=605532&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Add to My NZBs</a></b><br /><b><a href="http://nzbs.org/index.php?action=getnzb&nzbid=605532&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Download NZB</a></b><br />]]></description>
|
||||
<guid>http://nzbs.org/index.php?action=view&nzbid=605532</guid>
|
||||
<report:id>605532</report:id>
|
||||
<report:category parentID="1" id="14">TV-x264</report:category>
|
||||
<report:nzb>http://nzbs.org/index.php?action=getnzb&nzbid=605532&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f</report:nzb>
|
||||
<report:poster><![CDATA[teevee@4u.net (teevee)]]></report:poster>
|
||||
<report:size type="bytes">888024966</report:size>
|
||||
<report:postdate>Tue, 05 Apr 2011 03:42:42 +0000</report:postdate>
|
||||
</item>
|
||||
<item>
|
||||
<title>WWE.Wrestlemania.27.PPV.HDTV.XviD-KYR</title>
|
||||
<pubDate>Tue, 05 Apr 2011 05:41:55 +0000</pubDate>
|
||||
<category>TV-XviD</category>
|
||||
<link>http://nzbs.org/index.php?action=view&nzbid=605528</link>
|
||||
<description><![CDATA[<b>Category:</b> <a href="http://nzbs.org/index.php?action=browse&catid=1">TV-XviD</a><br /><b>Size:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605528&filelist=1">2.51 GB</a><br /><b>Files:</b> 66 <small>(14 pars)</small><br /><b>Group:</b> a.b.multimedia<br /><b>.NFO:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605528&nfo=1#nfo">View NFO</a><br /><b>Posted:</b> Tue April 5th 03:38:30 UTC<br /><b><a href="http://nzbs.org/cart.php?action=rsstomynzbs&nzbid=605528&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Add to My NZBs</a></b><br /><b><a href="http://nzbs.org/index.php?action=getnzb&nzbid=605528&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Download NZB</a></b><br />]]></description>
|
||||
<guid>http://nzbs.org/index.php?action=view&nzbid=605528</guid>
|
||||
<report:id>605528</report:id>
|
||||
<report:category parentID="1" id="1">TV-XviD</report:category>
|
||||
<report:nzb>http://nzbs.org/index.php?action=getnzb&nzbid=605528&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f</report:nzb>
|
||||
<report:poster><![CDATA[teevee@4u.tv (teevee)]]></report:poster>
|
||||
<report:size type="bytes">2690082009</report:size>
|
||||
<report:postdate>Tue, 05 Apr 2011 03:38:30 +0000</report:postdate>
|
||||
</item>
|
||||
<item>
|
||||
<title>The.Daily.Show.2011.04.04.Billy.Crystal.HDTV.XviD-FQM</title>
|
||||
<pubDate>Tue, 05 Apr 2011 05:41:54 +0000</pubDate>
|
||||
<category>TV-XviD</category>
|
||||
<link>http://nzbs.org/index.php?action=view&nzbid=605527</link>
|
||||
<description><![CDATA[<b>Category:</b> <a href="http://nzbs.org/index.php?action=browse&catid=1">TV-XviD</a><br /><b>Size:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605527&filelist=1">199.0 MB</a><br /><b>Files:</b> 20 <small>(6 pars)</small><br /><b>Group:</b> a.b.teevee<br /><b>.NFO:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605527&nfo=1#nfo">View NFO</a><br /><b>Ext. Link:</b> <a href="http://www.thedailyshow.com/">http://www.thedailyshow.com/</a><br /><b>Posted:</b> Tue April 5th 03:37:59 UTC<br /><b><a href="http://nzbs.org/cart.php?action=rsstomynzbs&nzbid=605527&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Add to My NZBs</a></b><br /><b><a href="http://nzbs.org/index.php?action=getnzb&nzbid=605527&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Download NZB</a></b><br />]]></description>
|
||||
<guid>http://nzbs.org/index.php?action=view&nzbid=605527</guid>
|
||||
<report:id>605527</report:id>
|
||||
<report:category parentID="1" id="1">TV-XviD</report:category>
|
||||
<report:nzb>http://nzbs.org/index.php?action=getnzb&nzbid=605527&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f</report:nzb>
|
||||
<report:poster><![CDATA[teevee@4u.net (teevee)]]></report:poster>
|
||||
<report:size type="bytes">208686256</report:size>
|
||||
<report:postdate>Tue, 05 Apr 2011 03:37:59 +0000</report:postdate>
|
||||
<report:moreinfo>http://www.thedailyshow.com/</report:moreinfo>
|
||||
</item>
|
||||
<item>
|
||||
<title>The.Event.S01E16.720p.HDTV.X264-DIMENSION REPOST</title>
|
||||
<pubDate>Tue, 05 Apr 2011 05:32:29 +0000</pubDate>
|
||||
<category>TV-x264</category>
|
||||
<link>http://nzbs.org/index.php?action=view&nzbid=605519</link>
|
||||
<description><![CDATA[<b>Category:</b> <a href="http://nzbs.org/index.php?action=browse&catid=14">TV-x264</a><br /><b>Size:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605519&filelist=1">1.28 GB</a><br /><b>Files:</b> 42 <small>(14 pars)</small><br /><b>Group:</b> a.b.multimedia<br /><b>.NFO:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605519&nfo=1#nfo">View NFO</a><br /><b>Posted:</b> Tue April 5th 03:24:05 UTC<br /><b><a href="http://nzbs.org/cart.php?action=rsstomynzbs&nzbid=605519&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Add to My NZBs</a></b><br /><b><a href="http://nzbs.org/index.php?action=getnzb&nzbid=605519&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Download NZB</a></b><br />]]></description>
|
||||
<guid>http://nzbs.org/index.php?action=view&nzbid=605519</guid>
|
||||
<report:id>605519</report:id>
|
||||
<report:category parentID="1" id="14">TV-x264</report:category>
|
||||
<report:nzb>http://nzbs.org/index.php?action=getnzb&nzbid=605519&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f</report:nzb>
|
||||
<report:poster><![CDATA[teevee@4u.tv (teevee)]]></report:poster>
|
||||
<report:size type="bytes">1369823254</report:size>
|
||||
<report:postdate>Tue, 05 Apr 2011 03:24:05 +0000</report:postdate>
|
||||
</item>
|
||||
<item>
|
||||
<title>United.States.of.Tara.S03E02.Crackerjack.HDTV.XviD-FQM</title>
|
||||
<pubDate>Tue, 05 Apr 2011 05:13:44 +0000</pubDate>
|
||||
<category>TV-XviD</category>
|
||||
<link>http://nzbs.org/index.php?action=view&nzbid=605506</link>
|
||||
<description><![CDATA[<b>Category:</b> <a href="http://nzbs.org/index.php?action=browse&catid=1">TV-XviD</a><br /><b>Size:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605506&filelist=1">265.2 MB</a><br /><b>Files:</b> 24 <small>(7 pars)</small><br /><b>Group:</b> a.b.teevee<br /><b>.NFO:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605506&nfo=1#nfo">View NFO</a><br /><b>Ext. Link:</b> <a href="http://www.sho.com/site/tara/">http://www.sho.com/site/tara/</a><br /><b>Posted:</b> Tue April 5th 03:08:58 UTC<br /><b><a href="http://nzbs.org/cart.php?action=rsstomynzbs&nzbid=605506&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Add to My NZBs</a></b><br /><b><a href="http://nzbs.org/index.php?action=getnzb&nzbid=605506&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Download NZB</a></b><br />]]></description>
|
||||
<guid>http://nzbs.org/index.php?action=view&nzbid=605506</guid>
|
||||
<report:id>605506</report:id>
|
||||
<report:category parentID="1" id="1">TV-XviD</report:category>
|
||||
<report:nzb>http://nzbs.org/index.php?action=getnzb&nzbid=605506&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f</report:nzb>
|
||||
<report:poster><![CDATA[teevee@4u.net (teevee)]]></report:poster>
|
||||
<report:size type="bytes">278057587</report:size>
|
||||
<report:postdate>Tue, 05 Apr 2011 03:08:58 +0000</report:postdate>
|
||||
<report:moreinfo>http://www.sho.com/site/tara/</report:moreinfo>
|
||||
</item>
|
||||
<item>
|
||||
<title>Harrys.Law.S01E12.HDTV.XviD-2HD</title>
|
||||
<pubDate>Tue, 05 Apr 2011 05:13:41 +0000</pubDate>
|
||||
<category>TV-XviD</category>
|
||||
<link>http://nzbs.org/index.php?action=view&nzbid=605505</link>
|
||||
<description><![CDATA[<b>Category:</b> <a href="http://nzbs.org/index.php?action=browse&catid=1">TV-XviD</a><br /><b>Size:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605505&filelist=1">397.8 MB</a><br /><b>Files:</b> 30 <small>(7 pars)</small><br /><b>Group:</b> a.b.teevee<br /><b>.NFO:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605505&nfo=1#nfo">View NFO</a><br /><b>Posted:</b> Tue April 5th 03:07:39 UTC<br /><b><a href="http://nzbs.org/cart.php?action=rsstomynzbs&nzbid=605505&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Add to My NZBs</a></b><br /><b><a href="http://nzbs.org/index.php?action=getnzb&nzbid=605505&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Download NZB</a></b><br />]]></description>
|
||||
<guid>http://nzbs.org/index.php?action=view&nzbid=605505</guid>
|
||||
<report:id>605505</report:id>
|
||||
<report:category parentID="1" id="1">TV-XviD</report:category>
|
||||
<report:nzb>http://nzbs.org/index.php?action=getnzb&nzbid=605505&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f</report:nzb>
|
||||
<report:poster><![CDATA[teevee@4u.net (teevee)]]></report:poster>
|
||||
<report:size type="bytes">417156038</report:size>
|
||||
<report:postdate>Tue, 05 Apr 2011 03:07:39 +0000</report:postdate>
|
||||
</item>
|
||||
<item>
|
||||
<title>Castle.2009.S03E20.720p.HDTV.X264-DIMENSION</title>
|
||||
<pubDate>Tue, 05 Apr 2011 05:13:36 +0000</pubDate>
|
||||
<category>TV-x264</category>
|
||||
<link>http://nzbs.org/index.php?action=view&nzbid=605504</link>
|
||||
<description><![CDATA[<b>Category:</b> <a href="http://nzbs.org/index.php?action=browse&catid=14">TV-x264</a><br /><b>Size:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605504&filelist=1">1.24 GB</a><br /><b>Files:</b> 35 <small>(7 pars)</small><br /><b>Group:</b> a.b.teevee<br /><b>.NFO:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605504&nfo=1#nfo">View NFO</a><br /><b>Posted:</b> Tue April 5th 03:07:21 UTC<br /><b><a href="http://nzbs.org/cart.php?action=rsstomynzbs&nzbid=605504&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Add to My NZBs</a></b><br /><b><a href="http://nzbs.org/index.php?action=getnzb&nzbid=605504&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Download NZB</a></b><br />]]></description>
|
||||
<guid>http://nzbs.org/index.php?action=view&nzbid=605504</guid>
|
||||
<report:id>605504</report:id>
|
||||
<report:category parentID="1" id="14">TV-x264</report:category>
|
||||
<report:nzb>http://nzbs.org/index.php?action=getnzb&nzbid=605504&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f</report:nzb>
|
||||
<report:poster><![CDATA[teevee@4u.net (teevee)]]></report:poster>
|
||||
<report:size type="bytes">1333441054</report:size>
|
||||
<report:postdate>Tue, 05 Apr 2011 03:07:21 +0000</report:postdate>
|
||||
</item>
|
||||
<item>
|
||||
<title>Stargate.Universe.S02E15.720p.HDTV.X264-DIMENSION</title>
|
||||
<pubDate>Tue, 05 Apr 2011 05:13:28 +0000</pubDate>
|
||||
<category>TV-x264</category>
|
||||
<link>http://nzbs.org/index.php?action=view&nzbid=605503</link>
|
||||
<description><![CDATA[<b>Category:</b> <a href="http://nzbs.org/index.php?action=browse&catid=14">TV-x264</a><br /><b>Size:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605503&filelist=1">1.25 GB</a><br /><b>Files:</b> 35 <small>(7 pars)</small><br /><b>Group:</b> a.b.teevee<br /><b>.NFO:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605503&nfo=1#nfo">View NFO</a><br /><b>Posted:</b> Tue April 5th 03:05:25 UTC<br /><b><a href="http://nzbs.org/cart.php?action=rsstomynzbs&nzbid=605503&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Add to My NZBs</a></b><br /><b><a href="http://nzbs.org/index.php?action=getnzb&nzbid=605503&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Download NZB</a></b><br />]]></description>
|
||||
<guid>http://nzbs.org/index.php?action=view&nzbid=605503</guid>
|
||||
<report:id>605503</report:id>
|
||||
<report:category parentID="1" id="14">TV-x264</report:category>
|
||||
<report:nzb>http://nzbs.org/index.php?action=getnzb&nzbid=605503&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f</report:nzb>
|
||||
<report:poster><![CDATA[teevee@4u.net (teevee)]]></report:poster>
|
||||
<report:size type="bytes">1337316693</report:size>
|
||||
<report:postdate>Tue, 05 Apr 2011 03:05:25 +0000</report:postdate>
|
||||
</item>
|
||||
<item>
|
||||
<title>Harrys.Law.S01E12.720p.HDTV.X264-DIMENSION</title>
|
||||
<pubDate>Tue, 05 Apr 2011 05:13:18 +0000</pubDate>
|
||||
<category>TV-x264</category>
|
||||
<link>http://nzbs.org/index.php?action=view&nzbid=605502</link>
|
||||
<description><![CDATA[<b>Category:</b> <a href="http://nzbs.org/index.php?action=browse&catid=14">TV-x264</a><br /><b>Size:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605502&filelist=1">1.24 GB</a><br /><b>Files:</b> 35 <small>(7 pars)</small><br /><b>Group:</b> a.b.teevee<br /><b>.NFO:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605502&nfo=1#nfo">View NFO</a><br /><b>Posted:</b> Tue April 5th 03:03:36 UTC<br /><b><a href="http://nzbs.org/cart.php?action=rsstomynzbs&nzbid=605502&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Add to My NZBs</a></b><br /><b><a href="http://nzbs.org/index.php?action=getnzb&nzbid=605502&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Download NZB</a></b><br />]]></description>
|
||||
<guid>http://nzbs.org/index.php?action=view&nzbid=605502</guid>
|
||||
<report:id>605502</report:id>
|
||||
<report:category parentID="1" id="14">TV-x264</report:category>
|
||||
<report:nzb>http://nzbs.org/index.php?action=getnzb&nzbid=605502&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f</report:nzb>
|
||||
<report:poster><![CDATA[teevee@4u.net (teevee)]]></report:poster>
|
||||
<report:size type="bytes">1334867450</report:size>
|
||||
<report:postdate>Tue, 05 Apr 2011 03:03:36 +0000</report:postdate>
|
||||
</item>
|
||||
<item>
|
||||
<title>Castle.2009.S03E20.HDTV.XviD-LOL</title>
|
||||
<pubDate>Tue, 05 Apr 2011 05:13:08 +0000</pubDate>
|
||||
<category>TV-XviD</category>
|
||||
<link>http://nzbs.org/index.php?action=view&nzbid=605500</link>
|
||||
<description><![CDATA[<b>Category:</b> <a href="http://nzbs.org/index.php?action=browse&catid=1">TV-XviD</a><br /><b>Size:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605500&filelist=1">396.7 MB</a><br /><b>Files:</b> 36 <small>(7 pars)</small><br /><b>Group:</b> a.b.teevee<br /><b>.NFO:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605500&nfo=1#nfo">View NFO</a><br /><b>Ext. Link:</b> <a href="http://www.tvrage.com/Castle">http://www.tvrage.com/Castle</a><br /><b>Posted:</b> Tue April 5th 03:02:22 UTC<br /><b><a href="http://nzbs.org/cart.php?action=rsstomynzbs&nzbid=605500&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Add to My NZBs</a></b><br /><b><a href="http://nzbs.org/index.php?action=getnzb&nzbid=605500&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Download NZB</a></b><br />]]></description>
|
||||
<guid>http://nzbs.org/index.php?action=view&nzbid=605500</guid>
|
||||
<report:id>605500</report:id>
|
||||
<report:category parentID="1" id="1">TV-XviD</report:category>
|
||||
<report:nzb>http://nzbs.org/index.php?action=getnzb&nzbid=605500&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f</report:nzb>
|
||||
<report:poster><![CDATA[teevee@4u.net (teevee)]]></report:poster>
|
||||
<report:size type="bytes">415952872</report:size>
|
||||
<report:postdate>Tue, 05 Apr 2011 03:02:22 +0000</report:postdate>
|
||||
<report:moreinfo>http://www.tvrage.com/Castle</report:moreinfo>
|
||||
</item>
|
||||
<item>
|
||||
<title>Stargate.Universe.S02E15.HDTV.XviD-LOL</title>
|
||||
<pubDate>Tue, 05 Apr 2011 05:03:36 +0000</pubDate>
|
||||
<category>TV-XviD</category>
|
||||
<link>http://nzbs.org/index.php?action=view&nzbid=605499</link>
|
||||
<description><![CDATA[<b>Category:</b> <a href="http://nzbs.org/index.php?action=browse&catid=1">TV-XviD</a><br /><b>Size:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605499&filelist=1">397.4 MB</a><br /><b>Files:</b> 36 <small>(7 pars)</small><br /><b>Group:</b> a.b.teevee<br /><b>.NFO:</b> <a href="http://nzbs.org/index.php?action=view&nzbid=605499&nfo=1#nfo">View NFO</a><br /><b>Ext. Link:</b> <a href="http://tvrage.com/Stargate_Universe">http://tvrage.com/Stargate_Universe</a><br /><b>Posted:</b> Tue April 5th 03:01:16 UTC<br /><b><a href="http://nzbs.org/cart.php?action=rsstomynzbs&nzbid=605499&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Add to My NZBs</a></b><br /><b><a href="http://nzbs.org/index.php?action=getnzb&nzbid=605499&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f">Download NZB</a></b><br />]]></description>
|
||||
<guid>http://nzbs.org/index.php?action=view&nzbid=605499</guid>
|
||||
<report:id>605499</report:id>
|
||||
<report:category parentID="1" id="1">TV-XviD</report:category>
|
||||
<report:nzb>http://nzbs.org/index.php?action=getnzb&nzbid=605499&i=43516&h=bc8edb4cc49d4ae440775adec5ac001f</report:nzb>
|
||||
<report:poster><![CDATA[teevee@4u.net (teevee)]]></report:poster>
|
||||
<report:size type="bytes">416749161</report:size>
|
||||
<report:postdate>Tue, 05 Apr 2011 03:01:16 +0000</report:postdate>
|
||||
<report:moreinfo>http://tvrage.com/Stargate_Universe</report:moreinfo>
|
||||
</item>
|
||||
</channel>
|
||||
</rss>
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
@ -39,24 +39,35 @@
|
|||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\NzbDrone.Core\Libraries\Castle.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="FizzWare.NBuilder, Version=2.1.9.0, Culture=neutral, PublicKeyToken=5651b03e12e42c12, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>Libs\FizzWare.NBuilder.dll</HintPath>
|
||||
<Reference Include="FizzWare.NBuilder">
|
||||
<HintPath>..\packages\NBuilder.2.3.0.0\lib\FizzWare.NBuilder.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Gallio, Version=3.2.0.0, Culture=neutral, PublicKeyToken=eb9cfa67ee6ab36e, processorArchitecture=MSIL" />
|
||||
<Reference Include="MbUnit, Version=3.2.0.0, Culture=neutral, PublicKeyToken=eb9cfa67ee6ab36e, processorArchitecture=MSIL" />
|
||||
<Reference Include="Moq, Version=4.0.10827.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL" />
|
||||
<Reference Include="Ninject, Version=2.2.0.0, Culture=neutral, PublicKeyToken=c7192dc5380945e7, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<Reference Include="Microsoft.Practices.ServiceLocation">
|
||||
<HintPath>..\packages\Unity.2.0\lib\20\Microsoft.Practices.ServiceLocation.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Practices.Unity">
|
||||
<HintPath>..\packages\Unity.2.0\lib\20\Microsoft.Practices.Unity.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Practices.Unity.Configuration">
|
||||
<HintPath>..\packages\Unity.2.0\lib\20\Microsoft.Practices.Unity.Configuration.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Practices.Unity.Interception">
|
||||
<HintPath>..\packages\Unity.2.0\lib\20\Microsoft.Practices.Unity.Interception.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Practices.Unity.Interception.Configuration">
|
||||
<HintPath>..\packages\Unity.2.0\lib\20\Microsoft.Practices.Unity.Interception.Configuration.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Moq, Version=4.0.10827.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Moq.4.0.10827\lib\NET40\Moq.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Ninject">
|
||||
<HintPath>..\packages\Ninject.2.2.1.0\lib\.NetFramework 4.0\Ninject.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NLog">
|
||||
<HintPath>..\NzbDrone.Core\Libraries\NLog.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="RSS.NET, Version=0.86.3627.40828, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>Libs\RSS.NET.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SubSonic.Core, Version=3.0.0.3, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\NzbDrone.Core\Libraries\SubSonic.Core.dll</HintPath>
|
||||
|
@ -67,12 +78,17 @@
|
|||
<HintPath>Libs\System.Data.SQLite.DLL</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.ServiceModel" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="TvdbLib">
|
||||
<HintPath>..\NzbDrone.Core\Libraries\TvdbLib.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="AutoMoq\AutoMoq.cs" />
|
||||
<Compile Include="AutoMoq\Unity\AutoMockingBuilderStrategy.cs" />
|
||||
<Compile Include="AutoMoq\Unity\AutoMockingContainerExtension.cs" />
|
||||
<Compile Include="RssProviderTest.cs" />
|
||||
<Compile Include="HistoryProviderTest.cs" />
|
||||
<Compile Include="MediaFileProviderTests.cs" />
|
||||
<Compile Include="DbConfigControllerTest.cs" />
|
||||
|
@ -98,10 +114,13 @@
|
|||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="AutoMoq\License.txt" />
|
||||
<Content Include="Files\Feed.nzbmatrix.com.xml">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Libs\FizzWare.NBuilder.dll" />
|
||||
<Content Include="Files\RSS\nzbsorg.xml">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Files\Queue.xml">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
|
@ -113,8 +132,6 @@
|
|||
</Content>
|
||||
<Content Include="Libs\Moq.dll" />
|
||||
<Content Include="Libs\Moq.xml" />
|
||||
<Content Include="Libs\RSS.NET.dll" />
|
||||
<Content Include="Libs\RSS.NET.XML" />
|
||||
<Content Include="Libs\System.Data.SQLite.DLL">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
|
|
|
@ -12,6 +12,12 @@ namespace NzbDrone.Core.Test
|
|||
// ReSharper disable InconsistentNaming
|
||||
public class ParserTest
|
||||
{
|
||||
/*Fucked-up hall of shame,
|
||||
* WWE.Wrestlemania.27.PPV.HDTV.XviD-KYR
|
||||
* The.Kennedys.Part.2.DSR.XviD-SYS
|
||||
*/
|
||||
|
||||
|
||||
[Test]
|
||||
[Row("Sonny.With.a.Chance.S02E15", 2, 15)]
|
||||
[Row("WEEDS.S03E01-06.DUAL.BDRip.XviD.AC3.-HELLYWOOD", 3, 1)]
|
||||
|
@ -28,6 +34,8 @@ namespace NzbDrone.Core.Test
|
|||
[Row(@"Hawaii Five 0 S01E19 720p WEB DL DD5 1 H 264 NT", 1, 19)]
|
||||
[Row(@"The Event S01E14 A Message Back 720p WEB DL DD5 1 H264 SURFER", 1, 14)]
|
||||
[Row(@"Adam Hills In Gordon St Tonight S01E07 WS PDTV XviD FUtV", 1, 7)]
|
||||
[Row(@"Adam Hills In Gordon St Tonight S01E07 WS PDTV XviD FUtV", 1, 7)]
|
||||
[Row("The.Kennedys.Part.2.DSR.XviD-SYS", 1, 2)]
|
||||
public void episode_parse(string path, int season, int episode)
|
||||
{
|
||||
var result = Parser.ParseEpisodeInfo(path);
|
||||
|
@ -61,6 +69,20 @@ namespace NzbDrone.Core.Test
|
|||
Assert.AreEqual(quality, result);
|
||||
}
|
||||
|
||||
[Test]
|
||||
[Row("WEEDS.S03E01-06.DUAL.BDRip.XviD.AC3.-HELLYWOOD", 3, 1, 2, 3, 4, 5, 6)]
|
||||
[Row("Two.and.a.Half.Me.103.104.720p.HDTV.X264-DIMENSION", 1, 3, 4)]
|
||||
[Row("The.Kennedys.Part.1.and.Part.2.DSR.XviD-SYS", 1, 1, 2)]
|
||||
public void episode_multipart_parse(string path, int season, params int[] episodes)
|
||||
{
|
||||
var result = Parser.ParseEpisodeInfo(path);
|
||||
Assert.AreEqual(season, result.SeasonNumber);
|
||||
Assert.Count(episodes.Length, result.Episodes);
|
||||
Assert.AreElementsEqualIgnoringOrder(episodes, result.Episodes);
|
||||
}
|
||||
|
||||
|
||||
|
||||
[Test]
|
||||
[Row(@"c:\test\", @"c:\test")]
|
||||
[Row(@"c:\\test\\", @"c:\test")]
|
||||
|
|
|
@ -1,15 +1,9 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using FizzWare.NBuilder;
|
||||
using Gallio.Framework;
|
||||
using MbUnit.Framework;
|
||||
using MbUnit.Framework.ContractVerifiers;
|
||||
using Ninject;
|
||||
using NLog;
|
||||
using NzbDrone.Core.Instrumentation;
|
||||
using NzbDrone.Core.Model;
|
||||
using NzbDrone.Core.Repository;
|
||||
using LogLevel = NzbDrone.Core.Instrumentation.LogLevel;
|
||||
using NLog.Config;
|
||||
|
@ -76,6 +70,7 @@ namespace NzbDrone.Core.Test
|
|||
var sonicRepo = MockLib.GetEmptyRepository();
|
||||
|
||||
var sonicTarget = new SubsonicTarget(sonicRepo);
|
||||
|
||||
LogManager.Configuration.AddTarget("DbLogger", sonicTarget);
|
||||
LogManager.Configuration.LoggingRules.Add(new LoggingRule("*", NLog.LogLevel.Info, sonicTarget));
|
||||
LogManager.Configuration.Reload();
|
||||
|
|
|
@ -0,0 +1,66 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.ServiceModel.Syndication;
|
||||
using System.Text;
|
||||
using System.Xml;
|
||||
using AutoMoq;
|
||||
using Gallio.Framework;
|
||||
using MbUnit.Framework;
|
||||
using MbUnit.Framework.ContractVerifiers;
|
||||
using Moq;
|
||||
using Ninject;
|
||||
using Ninject.Moq;
|
||||
using NzbDrone.Core.Providers;
|
||||
using NzbDrone.Core.Providers.Core;
|
||||
using NzbDrone.Core.Providers.Feed;
|
||||
using NzbDrone.Core.Repository;
|
||||
using SubSonic.Repository;
|
||||
|
||||
namespace NzbDrone.Core.Test
|
||||
{
|
||||
[TestFixture]
|
||||
public class RssProviderTest
|
||||
// ReSharper disable InconsistentNaming
|
||||
{
|
||||
[Test]
|
||||
|
||||
public void Download_feed_test()
|
||||
{
|
||||
var mocker = new AutoMoqer();
|
||||
|
||||
var xmlReader = XmlReader.Create(File.OpenRead(".\\Files\\Rss\\nzbsorg.xml"));
|
||||
|
||||
mocker.GetMock<HttpProvider>()
|
||||
.Setup(h => h.DownloadXml(It.IsAny<String>()))
|
||||
.Returns(xmlReader);
|
||||
|
||||
mocker.Resolve<MockFeedProvider>().Fetch();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public class MockFeedProvider : FeedProviderBase
|
||||
{
|
||||
public MockFeedProvider(ISeriesProvider seriesProvider, ISeasonProvider seasonProvider, IEpisodeProvider episodeProvider, IConfigProvider configProvider, HttpProvider httpProvider)
|
||||
: base(seriesProvider, seasonProvider, episodeProvider, configProvider, httpProvider)
|
||||
{
|
||||
}
|
||||
|
||||
protected override string[] URL
|
||||
{
|
||||
get { return new[] { "www.google.com" }; }
|
||||
}
|
||||
|
||||
protected override string Name
|
||||
{
|
||||
get { return "MyName"; }
|
||||
}
|
||||
|
||||
protected override string NzbDownloadUrl(SyndicationItem item)
|
||||
{
|
||||
return item.Links[0].Uri.ToString();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -2,6 +2,7 @@
|
|||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using AutoMoq;
|
||||
using Gallio.Framework;
|
||||
using MbUnit.Framework;
|
||||
using MbUnit.Framework.ContractVerifiers;
|
||||
|
@ -28,22 +29,31 @@ namespace NzbDrone.Core.Test
|
|||
string priority = "0";
|
||||
string category = "tv";
|
||||
|
||||
var config = new Mock<IConfigProvider>();
|
||||
config.Setup(c => c.GetValue("SabHost", String.Empty, false)).Returns(sabHost);
|
||||
config.Setup(c => c.GetValue("SabPort", String.Empty, false)).Returns(sabPort);
|
||||
config.Setup(c => c.GetValue("SabApiKey", String.Empty, false)).Returns(apikey);
|
||||
config.Setup(c => c.GetValue("SabUsername", String.Empty, false)).Returns(username);
|
||||
config.Setup(c => c.GetValue("SabPassword", String.Empty, false)).Returns(password);
|
||||
config.Setup(c => c.GetValue("SabTvPriority", String.Empty, false)).Returns(priority);
|
||||
config.Setup(c => c.GetValue("SabTvCategory", String.Empty, true)).Returns(category);
|
||||
|
||||
var http = new Mock<IHttpProvider>();
|
||||
http.Setup(s => s.DownloadString("http://192.168.5.55:2222/api?mode=addurl&name=http://www.nzbclub.com/nzb_download.aspx?mid=1950232&priority=0&cat=tv&nzbname=This+is+an+Nzb&apikey=5c770e3197e4fe763423ee7c392c25d1&ma_username=admin&ma_password=pass")).Returns("ok");
|
||||
var mocker = new AutoMoqer();
|
||||
|
||||
var target = new SabProvider(config.Object, http.Object);
|
||||
var fakeConfig = mocker.GetMock<IConfigProvider>();
|
||||
fakeConfig.Setup(c => c.GetValue("SabHost", String.Empty, false))
|
||||
.Returns(sabHost);
|
||||
fakeConfig.Setup(c => c.GetValue("SabPort", String.Empty, false))
|
||||
.Returns(sabPort);
|
||||
fakeConfig.Setup(c => c.GetValue("SabApiKey", String.Empty, false))
|
||||
.Returns(apikey);
|
||||
fakeConfig.Setup(c => c.GetValue("SabUsername", String.Empty, false))
|
||||
.Returns(username);
|
||||
fakeConfig.Setup(c => c.GetValue("SabPassword", String.Empty, false))
|
||||
.Returns(password);
|
||||
fakeConfig.Setup(c => c.GetValue("SabTvPriority", String.Empty, false))
|
||||
.Returns(priority);
|
||||
fakeConfig.Setup(c => c.GetValue("SabTvCategory", String.Empty, true))
|
||||
.Returns(category);
|
||||
|
||||
mocker.GetMock<HttpProvider>()
|
||||
.Setup(s => s.DownloadString("http://192.168.5.55:2222/api?mode=addurl&name=http://www.nzbclub.com/nzb_download.aspx?mid=1950232&priority=0&cat=tv&nzbname=This+is+an+Nzb&apikey=5c770e3197e4fe763423ee7c392c25d1&ma_username=admin&ma_password=pass"))
|
||||
.Returns("ok");
|
||||
|
||||
//Act
|
||||
bool result = target.AddByUrl("http://www.nzbclub.com/nzb_download.aspx?mid=1950232", "This is an Nzb");
|
||||
bool result = mocker.Resolve<SabProvider>().AddByUrl("http://www.nzbclub.com/nzb_download.aspx?mid=1950232", "This is an Nzb");
|
||||
|
||||
//Assert
|
||||
Assert.AreEqual(true, result);
|
||||
|
@ -61,22 +71,23 @@ namespace NzbDrone.Core.Test
|
|||
string priority = "0";
|
||||
string category = "tv";
|
||||
|
||||
var config = new Mock<IConfigProvider>();
|
||||
config.Setup(c => c.GetValue("SabHost", String.Empty, false)).Returns(sabHost);
|
||||
config.Setup(c => c.GetValue("SabPort", String.Empty, false)).Returns(sabPort);
|
||||
config.Setup(c => c.GetValue("SabApiKey", String.Empty, false)).Returns(apikey);
|
||||
config.Setup(c => c.GetValue("SabUsername", String.Empty, false)).Returns(username);
|
||||
config.Setup(c => c.GetValue("SabPassword", String.Empty, false)).Returns(password);
|
||||
config.Setup(c => c.GetValue("SabTvPriority", String.Empty, false)).Returns(priority);
|
||||
config.Setup(c => c.GetValue("SabTvCategory", String.Empty, true)).Returns(category);
|
||||
var mocker = new AutoMoqer();
|
||||
|
||||
var http = new Mock<IHttpProvider>();
|
||||
http.Setup(s => s.DownloadString("http://192.168.5.55:2222/api?mode=addurl&name=http://www.nzbclub.com/nzb_download.aspx?mid=1950232&priority=0&cat=tv&nzbname=This+is+an+Nzb&apikey=5c770e3197e4fe763423ee7c392c25d1&ma_username=admin&ma_password=pass")).Returns("error");
|
||||
var fakeConfig = mocker.GetMock<IConfigProvider>();
|
||||
fakeConfig.Setup(c => c.GetValue("SabHost", String.Empty, false)).Returns(sabHost);
|
||||
fakeConfig.Setup(c => c.GetValue("SabPort", String.Empty, false)).Returns(sabPort);
|
||||
fakeConfig.Setup(c => c.GetValue("SabApiKey", String.Empty, false)).Returns(apikey);
|
||||
fakeConfig.Setup(c => c.GetValue("SabUsername", String.Empty, false)).Returns(username);
|
||||
fakeConfig.Setup(c => c.GetValue("SabPassword", String.Empty, false)).Returns(password);
|
||||
fakeConfig.Setup(c => c.GetValue("SabTvPriority", String.Empty, false)).Returns(priority);
|
||||
fakeConfig.Setup(c => c.GetValue("SabTvCategory", String.Empty, true)).Returns(category);
|
||||
|
||||
var target = new SabProvider(config.Object, http.Object);
|
||||
mocker.GetMock<HttpProvider>()
|
||||
.Setup(s => s.DownloadString("http://192.168.5.55:2222/api?mode=addurl&name=http://www.nzbclub.com/nzb_download.aspx?mid=1950232&priority=0&cat=tv&nzbname=This+is+an+Nzb&apikey=5c770e3197e4fe763423ee7c392c25d1&ma_username=admin&ma_password=pass"))
|
||||
.Returns("error");
|
||||
|
||||
//Act
|
||||
bool result = target.AddByUrl("http://www.nzbclub.com/nzb_download.aspx?mid=1950232", "This is an Nzb");
|
||||
bool result = mocker.Resolve<SabProvider>().AddByUrl("http://www.nzbclub.com/nzb_download.aspx?mid=1950232", "This is an Nzb");
|
||||
|
||||
//Assert
|
||||
Assert.AreEqual(false, result);
|
||||
|
@ -92,24 +103,21 @@ namespace NzbDrone.Core.Test
|
|||
string username = "admin";
|
||||
string password = "pass";
|
||||
|
||||
var config = new Mock<IConfigProvider>();
|
||||
config.Setup(c => c.GetValue("SabHost", String.Empty, false)).Returns(sabHost);
|
||||
config.Setup(c => c.GetValue("SabPort", String.Empty, false)).Returns(sabPort);
|
||||
config.Setup(c => c.GetValue("SabApiKey", String.Empty, false)).Returns(apikey);
|
||||
config.Setup(c => c.GetValue("SabUsername", String.Empty, false)).Returns(username);
|
||||
config.Setup(c => c.GetValue("SabPassword", String.Empty, false)).Returns(password);
|
||||
var mocker = new AutoMoqer();
|
||||
|
||||
var http = new Mock<IHttpProvider>();
|
||||
http.Setup(
|
||||
s =>
|
||||
s.DownloadString(
|
||||
"http://192.168.5.55:2222/api?mode=queue&output=xml&apikey=5c770e3197e4fe763423ee7c392c25d1&ma_username=admin&ma_password=pass"))
|
||||
var fakeConfig = mocker.GetMock<IConfigProvider>();
|
||||
fakeConfig.Setup(c => c.GetValue("SabHost", String.Empty, false)).Returns(sabHost);
|
||||
fakeConfig.Setup(c => c.GetValue("SabPort", String.Empty, false)).Returns(sabPort);
|
||||
fakeConfig.Setup(c => c.GetValue("SabApiKey", String.Empty, false)).Returns(apikey);
|
||||
fakeConfig.Setup(c => c.GetValue("SabUsername", String.Empty, false)).Returns(username);
|
||||
fakeConfig.Setup(c => c.GetValue("SabPassword", String.Empty, false)).Returns(password);
|
||||
|
||||
mocker.GetMock<HttpProvider>()
|
||||
.Setup(s => s.DownloadString("http://192.168.5.55:2222/api?mode=queue&output=xml&apikey=5c770e3197e4fe763423ee7c392c25d1&ma_username=admin&ma_password=pass"))
|
||||
.Returns(new StreamReader(@".\Files\Queue.xml").ReadToEnd());
|
||||
|
||||
var target = new SabProvider(config.Object, http.Object);
|
||||
|
||||
//Act
|
||||
bool result = target.IsInQueue("Ubuntu Test");
|
||||
bool result = mocker.Resolve<SabProvider>().IsInQueue("Ubuntu Test");
|
||||
|
||||
//Assert
|
||||
Assert.AreEqual(true, result);
|
||||
|
@ -125,24 +133,21 @@ namespace NzbDrone.Core.Test
|
|||
string username = "admin";
|
||||
string password = "pass";
|
||||
|
||||
var config = new Mock<IConfigProvider>();
|
||||
config.Setup(c => c.GetValue("SabHost", String.Empty, false)).Returns(sabHost);
|
||||
config.Setup(c => c.GetValue("SabPort", String.Empty, false)).Returns(sabPort);
|
||||
config.Setup(c => c.GetValue("SabApiKey", String.Empty, false)).Returns(apikey);
|
||||
config.Setup(c => c.GetValue("SabUsername", String.Empty, false)).Returns(username);
|
||||
config.Setup(c => c.GetValue("SabPassword", String.Empty, false)).Returns(password);
|
||||
var mocker = new AutoMoqer();
|
||||
|
||||
var http = new Mock<IHttpProvider>();
|
||||
http.Setup(
|
||||
s =>
|
||||
s.DownloadString(
|
||||
"http://192.168.5.55:2222/api?mode=queue&output=xml&apikey=5c770e3197e4fe763423ee7c392c25d1&ma_username=admin&ma_password=pass"))
|
||||
.Returns(new StreamReader(@".\Files\QueueEmpty.xml").ReadToEnd());
|
||||
var fakeConfig = mocker.GetMock<IConfigProvider>();
|
||||
fakeConfig.Setup(c => c.GetValue("SabHost", String.Empty, false)).Returns(sabHost);
|
||||
fakeConfig.Setup(c => c.GetValue("SabPort", String.Empty, false)).Returns(sabPort);
|
||||
fakeConfig.Setup(c => c.GetValue("SabApiKey", String.Empty, false)).Returns(apikey);
|
||||
fakeConfig.Setup(c => c.GetValue("SabUsername", String.Empty, false)).Returns(username);
|
||||
fakeConfig.Setup(c => c.GetValue("SabPassword", String.Empty, false)).Returns(password);
|
||||
|
||||
var target = new SabProvider(config.Object, http.Object);
|
||||
mocker.GetMock<HttpProvider>()
|
||||
.Setup(s => s.DownloadString("http://192.168.5.55:2222/api?mode=queue&output=xml&apikey=5c770e3197e4fe763423ee7c392c25d1&ma_username=admin&ma_password=pass"))
|
||||
.Returns(new StreamReader(@".\Files\QueueEmpty.xml").ReadToEnd());
|
||||
|
||||
//Act
|
||||
bool result = target.IsInQueue(String.Empty);
|
||||
bool result = mocker.Resolve<SabProvider>().IsInQueue(String.Empty);
|
||||
|
||||
//Assert
|
||||
Assert.AreEqual(false, result);
|
||||
|
@ -158,24 +163,22 @@ namespace NzbDrone.Core.Test
|
|||
string username = "admin";
|
||||
string password = "pass";
|
||||
|
||||
var config = new Mock<IConfigProvider>();
|
||||
config.Setup(c => c.GetValue("SabHost", String.Empty, false)).Returns(sabHost);
|
||||
config.Setup(c => c.GetValue("SabPort", String.Empty, false)).Returns(sabPort);
|
||||
config.Setup(c => c.GetValue("SabApiKey", String.Empty, false)).Returns(apikey);
|
||||
config.Setup(c => c.GetValue("SabUsername", String.Empty, false)).Returns(username);
|
||||
config.Setup(c => c.GetValue("SabPassword", String.Empty, false)).Returns(password);
|
||||
var mocker = new AutoMoqer();
|
||||
|
||||
var http = new Mock<IHttpProvider>();
|
||||
http.Setup(
|
||||
s =>
|
||||
s.DownloadString(
|
||||
"http://192.168.5.55:2222/api?mode=queue&output=xml&apikey=5c770e3197e4fe763423ee7c392c25d1&ma_username=admin&ma_password=pass"))
|
||||
.Returns(new StreamReader(@".\Files\QueueError.xml").ReadToEnd());
|
||||
var fakeConfig = mocker.GetMock<IConfigProvider>();
|
||||
fakeConfig.Setup(c => c.GetValue("SabHost", String.Empty, false)).Returns(sabHost);
|
||||
fakeConfig.Setup(c => c.GetValue("SabPort", String.Empty, false)).Returns(sabPort);
|
||||
fakeConfig.Setup(c => c.GetValue("SabApiKey", String.Empty, false)).Returns(apikey);
|
||||
fakeConfig.Setup(c => c.GetValue("SabUsername", String.Empty, false)).Returns(username);
|
||||
fakeConfig.Setup(c => c.GetValue("SabPassword", String.Empty, false)).Returns(password);
|
||||
|
||||
mocker.GetMock<HttpProvider>()
|
||||
.Setup(s => s.DownloadString("http://192.168.5.55:2222/api?mode=queue&output=xml&apikey=5c770e3197e4fe763423ee7c392c25d1&ma_username=admin&ma_password=pass"))
|
||||
.Returns(new StreamReader(@".\Files\QueueError.xml").ReadToEnd());
|
||||
|
||||
var target = new SabProvider(config.Object, http.Object);
|
||||
|
||||
//Act
|
||||
bool result = target.IsInQueue(String.Empty);
|
||||
bool result = mocker.Resolve<SabProvider>().IsInQueue(String.Empty);
|
||||
|
||||
//Assert
|
||||
Assert.AreEqual(false, result);
|
||||
|
|
|
@ -3,6 +3,7 @@ using System.Collections;
|
|||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using AutoMoq;
|
||||
using FizzWare.NBuilder;
|
||||
using Gallio.Framework;
|
||||
using MbUnit.Framework;
|
||||
|
@ -12,6 +13,7 @@ using Ninject;
|
|||
using Ninject.Moq;
|
||||
using NzbDrone.Core.Providers;
|
||||
using NzbDrone.Core.Repository;
|
||||
using NzbDrone.Core.Repository.Quality;
|
||||
using SubSonic.Repository;
|
||||
using TvdbLib.Data;
|
||||
using System.Linq;
|
||||
|
@ -27,30 +29,36 @@ namespace NzbDrone.Core.Test
|
|||
public void Map_path_to_series()
|
||||
{
|
||||
//Arrange
|
||||
TvdbSeries fakeSeries = Builder<TvdbSeries>.CreateNew().With(f => f.SeriesName = "The Simpsons").Build();
|
||||
var fakeSearch = Builder<TvdbSearchResult>.CreateNew().Build();
|
||||
fakeSearch.Id = fakeSeries.Id;
|
||||
fakeSearch.SeriesName = fakeSeries.SeriesName;
|
||||
var fakeSeries = Builder<TvdbSeries>.CreateNew()
|
||||
.With(f => f.SeriesName = "The Simpsons")
|
||||
.Build();
|
||||
|
||||
var moqData = new Mock<IRepository>();
|
||||
var moqTvdb = new Mock<ITvDbProvider>();
|
||||
var fakeSearch = Builder<TvdbSearchResult>.CreateNew()
|
||||
.With(s => s.Id = fakeSeries.Id)
|
||||
.With(s => s.SeriesName = fakeSeries.SeriesName)
|
||||
.Build();
|
||||
|
||||
moqData.Setup(f => f.Exists<Series>(c => c.SeriesId == It.IsAny<int>())).Returns(false);
|
||||
|
||||
moqTvdb.Setup(f => f.GetSeries(It.IsAny<String>())).Returns(fakeSearch);
|
||||
moqTvdb.Setup(f => f.GetSeries(fakeSeries.Id, false)).Returns(fakeSeries).Verifiable();
|
||||
var mocker = new AutoMoqer();
|
||||
|
||||
var kernel = new MockingKernel();
|
||||
kernel.Bind<IRepository>().ToConstant(moqData.Object);
|
||||
kernel.Bind<ITvDbProvider>().ToConstant(moqTvdb.Object);
|
||||
kernel.Bind<ISeriesProvider>().To<SeriesProvider>();
|
||||
mocker.GetMock<IRepository>()
|
||||
.Setup(f => f.Exists<Series>(c => c.SeriesId == It.IsAny<int>()))
|
||||
.Returns(false);
|
||||
|
||||
mocker.GetMock<TvDbProvider>()
|
||||
.Setup(f => f.GetSeries(It.IsAny<String>()))
|
||||
.Returns(fakeSearch);
|
||||
mocker.GetMock<TvDbProvider>()
|
||||
.Setup(f => f.GetSeries(fakeSeries.Id, false))
|
||||
.Returns(fakeSeries)
|
||||
.Verifiable();
|
||||
|
||||
//Act
|
||||
var seriesController = kernel.Get<ISeriesProvider>();
|
||||
var mappedSeries = seriesController.MapPathToSeries(@"D:\TV Shows\The Simpsons");
|
||||
|
||||
var mappedSeries = mocker.Resolve<SeriesProvider>().MapPathToSeries(@"D:\TV Shows\The Simpsons");
|
||||
|
||||
//Assert
|
||||
moqTvdb.VerifyAll();
|
||||
mocker.GetMock<TvDbProvider>().VerifyAll();
|
||||
Assert.AreEqual(fakeSeries, mappedSeries);
|
||||
}
|
||||
|
||||
|
@ -96,26 +104,69 @@ namespace NzbDrone.Core.Test
|
|||
//Assert.AreEqual(title, result, postTitle);
|
||||
}
|
||||
|
||||
//[Test]
|
||||
//public void get_unmapped()
|
||||
//{
|
||||
// //Setup
|
||||
// var kernel = new MockingKernel();
|
||||
[Test]
|
||||
public void Test_is_monitored()
|
||||
{
|
||||
var kernel = new MockingKernel();
|
||||
var repo = MockLib.GetEmptyRepository();
|
||||
kernel.Bind<IRepository>().ToConstant(repo);
|
||||
kernel.Bind<ISeriesProvider>().To<SeriesProvider>();
|
||||
|
||||
repo.Add(Builder<Series>.CreateNew()
|
||||
.With(c => c.Monitored = true)
|
||||
.With(c => c.SeriesId = 12)
|
||||
.Build());
|
||||
|
||||
repo.Add(Builder<Series>.CreateNew()
|
||||
.With(c => c.Monitored = false)
|
||||
.With(c => c.SeriesId = 11)
|
||||
.Build());
|
||||
|
||||
|
||||
// kernel.Bind<ISeriesProvider>().To<SeriesProvider>();
|
||||
// kernel.Bind<IDiskProvider>().ToConstant(MockLib.GetStandardDisk(0, 0));
|
||||
// kernel.Bind<IConfigProvider>().ToConstant(MockLib.StandardConfig);
|
||||
|
||||
// var seriesController = kernel.Get<ISeriesProvider>();
|
||||
|
||||
// //Act
|
||||
// var unmappedFolder = seriesController.GetUnmappedFolders();
|
||||
|
||||
// //Assert
|
||||
// Assert.AreElementsEqualIgnoringOrder(MockLib.StandardSeries, unmappedFolder.Values);
|
||||
//}
|
||||
//Act, Assert
|
||||
var provider = kernel.Get<ISeriesProvider>();
|
||||
Assert.IsTrue(provider.IsMonitored(12));
|
||||
Assert.IsFalse(provider.IsMonitored(11));
|
||||
Assert.IsFalse(provider.IsMonitored(1));
|
||||
}
|
||||
|
||||
|
||||
|
||||
[Test]
|
||||
[Row(12, QualityTypes.TV, true)]
|
||||
[Row(12, QualityTypes.Unknown, false)]
|
||||
[Row(12, QualityTypes.Bluray1080, false)]
|
||||
[Row(12, QualityTypes.Bluray720, false)]
|
||||
[Row(12, QualityTypes.HDTV, false)]
|
||||
[Row(12, QualityTypes.WEBDL, false)]
|
||||
public void QualityWanted(int seriesId, QualityTypes qualityTypes, Boolean result)
|
||||
{
|
||||
var kernel = new MockingKernel();
|
||||
var repo = MockLib.GetEmptyRepository();
|
||||
kernel.Bind<IRepository>().ToConstant(repo);
|
||||
kernel.Bind<ISeriesProvider>().To<SeriesProvider>();
|
||||
|
||||
var quality = Builder<QualityProfile>.CreateNew()
|
||||
.With(q => q.Allowed = new List<QualityTypes>() { QualityTypes.BDRip, QualityTypes.DVD, QualityTypes.TV })
|
||||
.With(q => q.Cutoff = QualityTypes.DVD)
|
||||
.Build();
|
||||
|
||||
var qualityProviderMock = new Mock<IQualityProvider>();
|
||||
qualityProviderMock.Setup(c => c.Find(quality.QualityProfileId)).Returns(quality).Verifiable();
|
||||
kernel.Bind<IQualityProvider>().ToConstant(qualityProviderMock.Object);
|
||||
|
||||
|
||||
repo.Add(Builder<Series>.CreateNew()
|
||||
.With(c => c.SeriesId = 12)
|
||||
.With(c => c.QualityProfileId = quality.QualityProfileId)
|
||||
.Build());
|
||||
|
||||
//Act
|
||||
var needed = kernel.Get<ISeriesProvider>().QualityWanted(seriesId, qualityTypes);
|
||||
|
||||
Assert.AreEqual(result, needed);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,16 @@
|
|||
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" autoReload="true">
|
||||
<targets>
|
||||
<target name="consoleTarget" xsi:type="ColoredConsole" layout="${logger}: ${message}" />
|
||||
<target name="udpTarget" xsi:type="Chainsaw" address="udp://127.0.0.1:20480"
|
||||
includeCallSite="true" includeSourceInfo="true" includeNLogData="true" includeNDC="true" includeMDC="true">
|
||||
<parameter name="exception" layout="${exception:format=ToString}" xsi:type="NLogViewerParameterInfo" />
|
||||
<parameter name="processname" layout="${processname}" xsi:type="NLogViewerParameterInfo" />
|
||||
<parameter name="stacktrace" layout="${stacktrace:topFrames=99}" xsi:type="NLogViewerParameterInfo" />
|
||||
<parameter name="ThreadName" layout="${threadname}" xsi:type="NLogViewerParameterInfo" />
|
||||
</target>
|
||||
</targets>
|
||||
<rules>
|
||||
<logger name="*" minlevel="Trace" writeTo="consoleTarget"/>
|
||||
<logger name="*" minlevel="Trace" writeTo="udpTarget"/>
|
||||
</rules>
|
||||
</nlog>
|
|
@ -1,4 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Ninject" version="2.2.1.0" />
|
||||
<package id="NBuilder" version="2.3.0.0" />
|
||||
<package id="Moq" version="4.0.10827" />
|
||||
<package id="Unity" version="2.0" />
|
||||
</packages>
|
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Web;
|
||||
using System.Web.Hosting;
|
||||
using Ninject;
|
||||
using NLog.Config;
|
||||
using NLog.Targets;
|
||||
|
@ -62,9 +63,9 @@ namespace NzbDrone.Core
|
|||
_kernel.Bind<IEpisodeProvider>().To<EpisodeProvider>();
|
||||
_kernel.Bind<IUpcomingEpisodesProvider>().To<UpcomingEpisodesProvider>();
|
||||
_kernel.Bind<IDiskProvider>().To<DiskProvider>();
|
||||
_kernel.Bind<ITvDbProvider>().To<TvDbProvider>();
|
||||
_kernel.Bind<TvDbProvider>().To<TvDbProvider>();
|
||||
_kernel.Bind<IDownloadProvider>().To<SabProvider>();
|
||||
_kernel.Bind<IHttpProvider>().To<HttpProvider>();
|
||||
_kernel.Bind<HttpProvider>().To<HttpProvider>();
|
||||
_kernel.Bind<IHistoryProvider>().To<HistoryProvider>();
|
||||
_kernel.Bind<IQualityProvider>().To<QualityProvider>();
|
||||
_kernel.Bind<IRootDirProvider>().To<RootDirProvider>();
|
||||
|
@ -99,11 +100,12 @@ namespace NzbDrone.Core
|
|||
{
|
||||
get
|
||||
{
|
||||
if (HttpContext.Current != null)
|
||||
if (!String.IsNullOrWhiteSpace(HostingEnvironment.ApplicationPhysicalPath))
|
||||
{
|
||||
return new DirectoryInfo(HttpContext.Current.Server.MapPath("\\")).FullName;
|
||||
return HostingEnvironment.ApplicationPhysicalPath;
|
||||
}
|
||||
return Directory.GetCurrentDirectory();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -5,28 +5,36 @@ namespace NzbDrone.Core.Instrumentation
|
|||
{
|
||||
public class Log
|
||||
{
|
||||
public int LogId { get; set; }
|
||||
[SubSonicPrimaryKey]
|
||||
public int LogId { get; protected set; }
|
||||
|
||||
[SubSonicLongString]
|
||||
public string Message { get; set; }
|
||||
|
||||
public DateTime Time { get; set; }
|
||||
|
||||
public string Logger { get; set; }
|
||||
|
||||
[SubSonicNullString]
|
||||
public string Stack { get; set; }
|
||||
|
||||
[SubSonicNullString]
|
||||
[SubSonicLongString]
|
||||
public string ExceptionMessage { get; set; }
|
||||
|
||||
[SubSonicNullString]
|
||||
[SubSonicLongString]
|
||||
public string ExceptionString { get; set; }
|
||||
|
||||
[SubSonicNullString]
|
||||
public string ExceptionType { get; set; }
|
||||
|
||||
public LogLevel Level { get; set; }
|
||||
|
||||
//This is needed for telerik grid binding
|
||||
//This is needed for Telerik grid binding
|
||||
[SubSonicIgnore]
|
||||
public string DisplayLevel{
|
||||
public string DisplayLevel
|
||||
{
|
||||
get { return Level.ToString(); }
|
||||
}
|
||||
}
|
||||
|
|
Binary file not shown.
|
@ -1,5 +1,4 @@
|
|||
using NzbDrone.Core.Repository.Quality;
|
||||
using SubSonic.SqlGeneration.Schema;
|
||||
|
||||
namespace NzbDrone.Core.Model
|
||||
{
|
||||
|
|
|
@ -121,7 +121,9 @@
|
|||
<StartupObject />
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Castle.Core, Version=2.5.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL" />
|
||||
<Reference Include="Castle.Core">
|
||||
<HintPath>Libraries\Castle.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Exceptioneer.WindowsFormsClient, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>Libraries\Exceptioneer.WindowsFormsClient.dll</HintPath>
|
||||
|
@ -138,7 +140,8 @@
|
|||
<HintPath>Libraries\NLog.Extended.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SubSonic.Core, Version=3.0.0.3, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>D:\OpenSource\sabscripts\SABSync\References\SubSonic.Core.dll</HintPath>
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>Libraries\SubSonic.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||
|
@ -151,7 +154,9 @@
|
|||
<Reference Include="System.Web.Extensions" />
|
||||
<Reference Include="System.XML" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="TvdbLib, Version=0.8.8.0, Culture=neutral, processorArchitecture=MSIL" />
|
||||
<Reference Include="TvdbLib">
|
||||
<HintPath>Libraries\TvdbLib.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Helpers\EpisodeRenameHelper.cs" />
|
||||
|
@ -216,10 +221,8 @@
|
|||
<Compile Include="Providers\Core\HttpProvider.cs" />
|
||||
<Compile Include="Providers\IDownloadProvider.cs" />
|
||||
<Compile Include="Providers\IEpisodeProvider.cs" />
|
||||
<Compile Include="Providers\Core\IHttpProvider.cs" />
|
||||
<Compile Include="Providers\ISeasonProvider.cs" />
|
||||
<Compile Include="Providers\ISeriesProvider.cs" />
|
||||
<Compile Include="Providers\ITvDbProvider.cs" />
|
||||
<Compile Include="Providers\SabProvider.cs" />
|
||||
<Compile Include="Providers\SeasonProvider.cs" />
|
||||
<Compile Include="Repository\Episode.cs" />
|
||||
|
@ -263,24 +266,6 @@
|
|||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Libraries\Castle.Core.dll" />
|
||||
<Content Include="Libraries\Castle.Core.xml" />
|
||||
<Content Include="Libraries\Exceptioneer.WindowsFormsClient.dll" />
|
||||
<Content Include="Libraries\NLog.dll" />
|
||||
<Content Include="Libraries\NLog.Extended.dll" />
|
||||
<Content Include="Libraries\NLog.Extended.xml" />
|
||||
<Content Include="Libraries\NLog.xml" />
|
||||
<Content Include="Libraries\SubSonic.Core.dll" />
|
||||
<Content Include="Libraries\SubSonic.Core.XML" />
|
||||
<Content Include="Libraries\System.Data.SQLite.dll" />
|
||||
<Content Include="Libraries\System.Data.SQLite.XML" />
|
||||
<Content Include="Libraries\TvdbLib.dll" />
|
||||
<Content Include="Libraries\TvdbLib.XML" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Libraries\nlog.xsd">
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
|
|
|
@ -74,7 +74,7 @@ namespace NzbDrone.Core
|
|||
return parsedEpisode;
|
||||
}
|
||||
}
|
||||
|
||||
Logger.Warn("Unable to parse text into episode info. {0}", title);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
using System;
|
||||
using System.Net;
|
||||
using System.Xml;
|
||||
using NLog;
|
||||
|
||||
namespace NzbDrone.Core.Providers.Core
|
||||
{
|
||||
internal class HttpProvider : IHttpProvider
|
||||
public class HttpProvider
|
||||
{
|
||||
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
||||
|
||||
public string DownloadString(string request)
|
||||
public virtual string DownloadString(string request)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -23,7 +24,7 @@ namespace NzbDrone.Core.Providers.Core
|
|||
return String.Empty;
|
||||
}
|
||||
|
||||
public string DownloadString(string request, string username, string password)
|
||||
public virtual string DownloadString(string request, string username, string password)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -40,39 +41,43 @@ namespace NzbDrone.Core.Providers.Core
|
|||
return String.Empty;
|
||||
}
|
||||
|
||||
public bool DownloadFile(string request, string filename)
|
||||
public virtual void DownloadFile(string request, string filename)
|
||||
{
|
||||
try
|
||||
{
|
||||
var webClient = new WebClient();
|
||||
webClient.DownloadFile(request, filename);
|
||||
return true;
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.Warn("Failed to get response from: {0}", request);
|
||||
Logger.TraceException(ex.Message, ex);
|
||||
throw;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
public bool DownloadFile(string request, string filename, string username, string password)
|
||||
public virtual void DownloadFile(string request, string filename, string username, string password)
|
||||
{
|
||||
try
|
||||
{
|
||||
var webClient = new WebClient();
|
||||
webClient.Credentials = new NetworkCredential(username, password);
|
||||
webClient.DownloadFile(request, filename);
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.Warn("Failed to get response from: {0}", request);
|
||||
Logger.TraceException(ex.Message, ex);
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
public virtual XmlReader DownloadXml(string url)
|
||||
{
|
||||
return XmlReader.Create(url);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
namespace NzbDrone.Core.Providers.Core
|
||||
{
|
||||
public interface IHttpProvider
|
||||
{
|
||||
string DownloadString(string request);
|
||||
string DownloadString(string request, string username, string password);
|
||||
bool DownloadFile(string request, string filename);
|
||||
bool DownloadFile(string request, string filename, string username, string password);
|
||||
}
|
||||
}
|
|
@ -16,13 +16,13 @@ namespace NzbDrone.Core.Providers
|
|||
private readonly IRepository _sonicRepo;
|
||||
private readonly ISeriesProvider _series;
|
||||
private readonly ISeasonProvider _seasons;
|
||||
private readonly ITvDbProvider _tvDb;
|
||||
private readonly TvDbProvider _tvDb;
|
||||
private readonly IHistoryProvider _history;
|
||||
private readonly IQualityProvider _quality;
|
||||
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
||||
|
||||
public EpisodeProvider(IRepository sonicRepo, ISeriesProvider seriesProvider,
|
||||
ISeasonProvider seasonProvider, ITvDbProvider tvDbProvider,
|
||||
ISeasonProvider seasonProvider, TvDbProvider tvDbProvider,
|
||||
IHistoryProvider history, IQualityProvider quality)
|
||||
{
|
||||
_sonicRepo = sonicRepo;
|
||||
|
|
|
@ -6,20 +6,23 @@ using NzbDrone.Core.Providers.Core;
|
|||
|
||||
namespace NzbDrone.Core.Providers.Feed
|
||||
{
|
||||
abstract class FeedProviderBase
|
||||
public abstract class FeedProviderBase
|
||||
{
|
||||
protected readonly ISeriesProvider _seriesProvider;
|
||||
protected readonly ISeasonProvider _seasonProvider;
|
||||
protected readonly IEpisodeProvider _episodeProvider;
|
||||
protected readonly IConfigProvider _configProvider;
|
||||
private readonly HttpProvider _httpProvider;
|
||||
protected static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
||||
|
||||
protected FeedProviderBase(ISeriesProvider seriesProvider, ISeasonProvider seasonProvider, IEpisodeProvider episodeProvider, IConfigProvider configProvider)
|
||||
public FeedProviderBase(ISeriesProvider seriesProvider, ISeasonProvider seasonProvider,
|
||||
IEpisodeProvider episodeProvider, IConfigProvider configProvider, HttpProvider httpProvider)
|
||||
{
|
||||
_seriesProvider = seriesProvider;
|
||||
_seasonProvider = seasonProvider;
|
||||
_episodeProvider = episodeProvider;
|
||||
_configProvider = configProvider;
|
||||
_httpProvider = httpProvider;
|
||||
}
|
||||
|
||||
|
||||
|
@ -49,7 +52,9 @@ namespace NzbDrone.Core.Providers.Feed
|
|||
/// <returns>Detailed episode info</returns>
|
||||
protected EpisodeParseResult ParseFeed(SyndicationItem item)
|
||||
{
|
||||
var episodeParseResult = Parser.ParseEpisodeInfo(item.Title.ToString());
|
||||
var episodeParseResult = Parser.ParseEpisodeInfo(item.Title.Text);
|
||||
if (episodeParseResult == null) return null;
|
||||
|
||||
var seriesInfo = _seriesProvider.FindSeries(episodeParseResult.SeriesTitle);
|
||||
|
||||
if (seriesInfo != null)
|
||||
|
@ -76,7 +81,7 @@ namespace NzbDrone.Core.Providers.Feed
|
|||
foreach (var url in URL)
|
||||
{
|
||||
Logger.Debug("Downloading RSS " + url);
|
||||
var feed = SyndicationFeed.Load(XmlReader.Create(url)).Items;
|
||||
var feed = SyndicationFeed.Load(_httpProvider.DownloadXml(url)).Items;
|
||||
|
||||
foreach (var item in feed)
|
||||
{
|
||||
|
@ -89,28 +94,31 @@ namespace NzbDrone.Core.Providers.Feed
|
|||
|
||||
private void ProcessItem(SyndicationItem feedItem)
|
||||
{
|
||||
Logger.Info("Processing RSS feed item " + feedItem.Title);
|
||||
Logger.Info("Processing RSS feed item " + feedItem.Title.Text);
|
||||
|
||||
var parseResult = ParseFeed(feedItem);
|
||||
|
||||
if (!_seriesProvider.IsMonitored(parseResult.SeriesId))
|
||||
if (parseResult != null)
|
||||
{
|
||||
Logger.Debug("{0} is present in the DB but not tracked. skipping.", parseResult.SeriesTitle);
|
||||
}
|
||||
if (!_seriesProvider.IsMonitored(parseResult.SeriesId))
|
||||
{
|
||||
Logger.Debug("{0} is present in the DB but not tracked. skipping.", parseResult.SeriesTitle);
|
||||
}
|
||||
|
||||
if (!_seriesProvider.QualityWanted(parseResult.SeriesId, parseResult.Quality))
|
||||
{
|
||||
Logger.Debug("Post doesn't meet the quality requirements [{0}]. skipping.", parseResult.Quality);
|
||||
}
|
||||
if (!_seriesProvider.QualityWanted(parseResult.SeriesId, parseResult.Quality))
|
||||
{
|
||||
Logger.Debug("Post doesn't meet the quality requirements [{0}]. skipping.", parseResult.Quality);
|
||||
}
|
||||
|
||||
if (_seasonProvider.IsIgnored(parseResult.SeriesId, parseResult.SeasonNumber))
|
||||
{
|
||||
Logger.Debug("Season {0} is currently set to ignore. skipping.", parseResult.SeasonNumber);
|
||||
}
|
||||
if (_seasonProvider.IsIgnored(parseResult.SeriesId, parseResult.SeasonNumber))
|
||||
{
|
||||
Logger.Debug("Season {0} is currently set to ignore. skipping.", parseResult.SeasonNumber);
|
||||
}
|
||||
|
||||
if (!_episodeProvider.IsNeeded(parseResult))
|
||||
{
|
||||
Logger.Debug("Episode {0} is not needed. skipping.", parseResult);
|
||||
if (!_episodeProvider.IsNeeded(parseResult))
|
||||
{
|
||||
Logger.Debug("Episode {0} is not needed. skipping.", parseResult);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,8 +9,8 @@ namespace NzbDrone.Core.Providers.Feed
|
|||
{
|
||||
class NzbsOrgFeedProvider : FeedProviderBase
|
||||
{
|
||||
public NzbsOrgFeedProvider(ISeriesProvider seriesProvider, ISeasonProvider seasonProvider, IEpisodeProvider episodeProvider, IConfigProvider configProvider)
|
||||
: base(seriesProvider, seasonProvider, episodeProvider, configProvider)
|
||||
public NzbsOrgFeedProvider(ISeriesProvider seriesProvider, ISeasonProvider seasonProvider, IEpisodeProvider episodeProvider, IConfigProvider configProvider, HttpProvider httpProvider)
|
||||
: base(seriesProvider, seasonProvider, episodeProvider, configProvider, httpProvider)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ namespace NzbDrone.Core.Providers
|
|||
void Begin();
|
||||
}
|
||||
|
||||
class RssSyncProvider : IRssSyncProvider
|
||||
public class RssSyncProvider : IRssSyncProvider
|
||||
{
|
||||
public void Begin()
|
||||
{
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
using System.Collections.Generic;
|
||||
using TvdbLib.Data;
|
||||
|
||||
namespace NzbDrone.Core.Providers
|
||||
{
|
||||
public interface ITvDbProvider
|
||||
{
|
||||
IList<TvdbSearchResult> SearchSeries(string name);
|
||||
int GetBestMatch(List<TvdbSearchResult> searchResults, string searchString);
|
||||
TvdbSearchResult GetSeries(string title);
|
||||
TvdbSeries GetSeries(int id, bool loadEpisodes);
|
||||
}
|
||||
}
|
|
@ -10,11 +10,11 @@ namespace NzbDrone.Core.Providers
|
|||
public class SabProvider : IDownloadProvider
|
||||
{
|
||||
private readonly IConfigProvider _config;
|
||||
private readonly IHttpProvider _http;
|
||||
private readonly HttpProvider _http;
|
||||
|
||||
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
||||
|
||||
public SabProvider(IConfigProvider config, IHttpProvider http)
|
||||
public SabProvider(IConfigProvider config, HttpProvider http)
|
||||
{
|
||||
_config = config;
|
||||
_http = http;
|
||||
|
|
|
@ -8,7 +8,7 @@ using System.Linq;
|
|||
|
||||
namespace NzbDrone.Core.Providers
|
||||
{
|
||||
class SeasonProvider : ISeasonProvider
|
||||
public class SeasonProvider : ISeasonProvider
|
||||
{
|
||||
private readonly IRepository _sonicRepo;
|
||||
private readonly ISeriesProvider _seriesProvider;
|
||||
|
|
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text.RegularExpressions;
|
||||
using Ninject;
|
||||
using NLog;
|
||||
using NzbDrone.Core.Providers.Core;
|
||||
using NzbDrone.Core.Repository;
|
||||
|
@ -20,13 +21,12 @@ namespace NzbDrone.Core.Providers
|
|||
|
||||
private readonly IConfigProvider _config;
|
||||
private readonly IRepository _sonioRepo;
|
||||
private readonly ITvDbProvider _tvDb;
|
||||
private readonly TvDbProvider _tvDb;
|
||||
private readonly IQualityProvider _quality;
|
||||
|
||||
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
||||
|
||||
public SeriesProvider(IConfigProvider configProvider,
|
||||
IRepository dataRepository, ITvDbProvider tvDbProvider, IQualityProvider quality)
|
||||
IRepository dataRepository, TvDbProvider tvDbProvider, IQualityProvider quality)
|
||||
{
|
||||
_config = configProvider;
|
||||
_sonioRepo = dataRepository;
|
||||
|
@ -36,12 +36,12 @@ namespace NzbDrone.Core.Providers
|
|||
|
||||
#region ISeriesProvider Members
|
||||
|
||||
public IQueryable<Series> GetAllSeries()
|
||||
public virtual IQueryable<Series> GetAllSeries()
|
||||
{
|
||||
return _sonioRepo.All<Series>();
|
||||
}
|
||||
|
||||
public Series GetSeries(int seriesId)
|
||||
public virtual Series GetSeries(int seriesId)
|
||||
{
|
||||
return _sonioRepo.Single<Series>(s => s.SeriesId == seriesId);
|
||||
}
|
||||
|
@ -51,20 +51,20 @@ namespace NzbDrone.Core.Providers
|
|||
/// </summary>
|
||||
/// <param name="id">The TVDB ID of the series</param>
|
||||
/// <returns>Whether or not the show is monitored</returns>
|
||||
public bool IsMonitored(long id)
|
||||
public virtual bool IsMonitored(long id)
|
||||
{
|
||||
return _sonioRepo.Exists<Series>(c => c.SeriesId == id && c.Monitored);
|
||||
}
|
||||
|
||||
public bool QualityWanted(int seriesId, QualityTypes quality)
|
||||
public virtual bool QualityWanted(int seriesId, QualityTypes quality)
|
||||
{
|
||||
var series = _sonioRepo.Single<Series>(seriesId);
|
||||
var profile = _quality.Find(series.QualityProfileId);
|
||||
|
||||
var profile = _quality.Find(series.QualityProfileId);
|
||||
return profile.Allowed.Contains(quality);
|
||||
}
|
||||
|
||||
public TvdbSeries MapPathToSeries(string path)
|
||||
public virtual TvdbSeries MapPathToSeries(string path)
|
||||
{
|
||||
var seriesPath = new DirectoryInfo(path);
|
||||
var searchResults = _tvDb.GetSeries(seriesPath.Name);
|
||||
|
@ -75,7 +75,7 @@ namespace NzbDrone.Core.Providers
|
|||
return _tvDb.GetSeries(searchResults.Id, false);
|
||||
}
|
||||
|
||||
public Series UpdateSeriesInfo(int seriesId)
|
||||
public virtual Series UpdateSeriesInfo(int seriesId)
|
||||
{
|
||||
var tvDbSeries = _tvDb.GetSeries(seriesId, true);
|
||||
var series = GetSeries(seriesId);
|
||||
|
@ -94,7 +94,7 @@ namespace NzbDrone.Core.Providers
|
|||
return series;
|
||||
}
|
||||
|
||||
public void AddSeries(string path, int tvDbSeriesId, int qualityProfileId)
|
||||
public virtual void AddSeries(string path, int tvDbSeriesId, int qualityProfileId)
|
||||
{
|
||||
Logger.Info("Adding Series [{0}] Path: [{1}]", tvDbSeriesId, path);
|
||||
|
||||
|
@ -111,17 +111,17 @@ namespace NzbDrone.Core.Providers
|
|||
_sonioRepo.Add(repoSeries);
|
||||
}
|
||||
|
||||
public Series FindSeries(string title)
|
||||
public virtual Series FindSeries(string title)
|
||||
{
|
||||
return _sonioRepo.Single<Series>(s => s.CleanTitle == Parser.NormalizeTitle(title));
|
||||
}
|
||||
|
||||
public void UpdateSeries(Series series)
|
||||
public virtual void UpdateSeries(Series series)
|
||||
{
|
||||
_sonioRepo.Update(series);
|
||||
}
|
||||
|
||||
public void DeleteSeries(int seriesId)
|
||||
public virtual void DeleteSeries(int seriesId)
|
||||
{
|
||||
Logger.Warn("Deleting Series [{0}]", seriesId);
|
||||
|
||||
|
@ -154,7 +154,7 @@ namespace NzbDrone.Core.Providers
|
|||
}
|
||||
}
|
||||
|
||||
public bool SeriesPathExists(string cleanPath)
|
||||
public virtual bool SeriesPathExists(string cleanPath)
|
||||
{
|
||||
if (_sonioRepo.Exists<Series>(s => s.Path == cleanPath))
|
||||
return true;
|
||||
|
|
|
@ -9,7 +9,7 @@ using TvdbLib.Data;
|
|||
|
||||
namespace NzbDrone.Core.Providers
|
||||
{
|
||||
public class TvDbProvider : ITvDbProvider
|
||||
public class TvDbProvider
|
||||
{
|
||||
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
||||
private static readonly Regex CleanUpRegex = new Regex(@"((\s|^)the(\s|$))|((\s|^)and(\s|$))|[^a-z]", RegexOptions.IgnoreCase | RegexOptions.Compiled);
|
||||
|
@ -22,9 +22,9 @@ namespace NzbDrone.Core.Providers
|
|||
_handler = new TvdbHandler(new XmlCacheProvider(CentralDispatch.AppPath + @"\cache\tvdb"), TVDB_APIKEY);
|
||||
}
|
||||
|
||||
#region ITvDbProvider Members
|
||||
#region TvDbProvider Members
|
||||
|
||||
public IList<TvdbSearchResult> SearchSeries(string title)
|
||||
public virtual IList<TvdbSearchResult> SearchSeries(string title)
|
||||
{
|
||||
Logger.Debug("Searching TVDB for '{0}'", title);
|
||||
var result = _handler.SearchSeries(title);
|
||||
|
@ -34,7 +34,7 @@ namespace NzbDrone.Core.Providers
|
|||
}
|
||||
|
||||
|
||||
public TvdbSearchResult GetSeries(string title)
|
||||
public virtual TvdbSearchResult GetSeries(string title)
|
||||
{
|
||||
var searchResults = SearchSeries(title);
|
||||
if (searchResults.Count == 0)
|
||||
|
@ -52,7 +52,7 @@ namespace NzbDrone.Core.Providers
|
|||
return null;
|
||||
}
|
||||
|
||||
public int GetBestMatch(List<TvdbSearchResult> searchResults, string title)
|
||||
public virtual int GetBestMatch(List<TvdbSearchResult> searchResults, string title)
|
||||
{
|
||||
if (searchResults.Count == 0)
|
||||
return 0;
|
||||
|
@ -69,7 +69,7 @@ namespace NzbDrone.Core.Providers
|
|||
return searchResults[0].Id;
|
||||
}
|
||||
|
||||
public TvdbSeries GetSeries(int id, bool loadEpisodes)
|
||||
public virtual TvdbSeries GetSeries(int id, bool loadEpisodes)
|
||||
{
|
||||
Logger.Debug("Fetching SeriesId'{0}' from tvdb", id);
|
||||
return _handler.GetSeries(id, TvdbLanguage.DefaultLanguage, loadEpisodes, false, false);
|
||||
|
|
|
@ -13,11 +13,11 @@ namespace NzbDrone.Core.Providers
|
|||
public class XbmcProvider : IXbmcProvider
|
||||
{
|
||||
private readonly IConfigProvider _configProvider;
|
||||
private readonly IHttpProvider _httpProvider;
|
||||
private readonly HttpProvider _httpProvider;
|
||||
|
||||
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
||||
|
||||
public XbmcProvider(IConfigProvider configProvider, IHttpProvider httpProvider)
|
||||
public XbmcProvider(IConfigProvider configProvider, HttpProvider httpProvider)
|
||||
{
|
||||
_configProvider = configProvider;
|
||||
_httpProvider = httpProvider;
|
||||
|
|
|
@ -6,7 +6,7 @@ namespace NzbDrone.Core.Repository
|
|||
{
|
||||
public class History
|
||||
{
|
||||
[SubSonicPrimaryKey(true)]
|
||||
[SubSonicPrimaryKey]
|
||||
public virtual int HistoryId { get; set; }
|
||||
public virtual int EpisodeId { get; set; }
|
||||
public virtual int IndexerId { get; set; }
|
||||
|
|
|
@ -10,7 +10,7 @@ namespace NzbDrone.Core.Repository
|
|||
{
|
||||
public class Indexer
|
||||
{
|
||||
[SubSonicPrimaryKey(false)]
|
||||
[SubSonicPrimaryKey]
|
||||
public virtual int IndexerId { get; set; }
|
||||
|
||||
public string IndexerName { get; set; }
|
||||
|
|
|
@ -8,7 +8,7 @@ namespace NzbDrone.Core.Repository.Quality
|
|||
{
|
||||
public class QualityProfile
|
||||
{
|
||||
[SubSonicPrimaryKey(true)]
|
||||
[SubSonicPrimaryKey]
|
||||
public virtual int QualityProfileId { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "A Name is Required")]
|
||||
|
@ -36,6 +36,8 @@ namespace NzbDrone.Core.Repository.Quality
|
|||
get
|
||||
{
|
||||
string result = String.Empty;
|
||||
if (Allowed == null) return result;
|
||||
|
||||
foreach (var q in Allowed)
|
||||
{
|
||||
result += (int)q + "|";
|
||||
|
|
|
@ -8,6 +8,7 @@ namespace NzbDrone.Core.Repository
|
|||
{
|
||||
public class RootDir
|
||||
{
|
||||
[SubSonicPrimaryKey]
|
||||
public virtual int Id { get; set; }
|
||||
|
||||
public string Path { get; set; }
|
||||
|
|
|
@ -125,9 +125,9 @@ namespace NzbDrone.Web.Controllers
|
|||
public SelectList GetSuggestionList(string searchString)
|
||||
{
|
||||
var dataVal = _tvDbProvider.SearchSeries(searchString);
|
||||
var bestResult = _tvDbProvider.GetBestMatch(dataVal.ToList(), searchString);
|
||||
//var bestResult = _tvDbProvider.GetBestMatch(dataVal.ToList(), searchString);
|
||||
|
||||
return new SelectList(dataVal, "Id", "SeriesName", bestResult);
|
||||
return new SelectList(dataVal, "Id", "SeriesName", dataVal[0].Id);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<PublishDatabases>false</PublishDatabases>
|
||||
<MvcBuildViews>true</MvcBuildViews>
|
||||
<EnableUpdateable>false</EnableUpdateable>
|
||||
|
@ -809,15 +809,7 @@
|
|||
<VisualStudio>
|
||||
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
|
||||
<WebProjectProperties>
|
||||
<UseIIS>False</UseIIS>
|
||||
<AutoAssignPort>True</AutoAssignPort>
|
||||
<DevelopmentServerPort>21704</DevelopmentServerPort>
|
||||
<DevelopmentServerVPath>/</DevelopmentServerVPath>
|
||||
<IISUrl>http://localhost/NzbDrone</IISUrl>
|
||||
<NTLMAuthentication>False</NTLMAuthentication>
|
||||
<UseCustomServer>False</UseCustomServer>
|
||||
<CustomServerUrl>http://localhost:8989</CustomServerUrl>
|
||||
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
|
||||
<SaveServerSettingsInUserFile>True</SaveServerSettingsInUserFile>
|
||||
</WebProjectProperties>
|
||||
</FlavorProperties>
|
||||
</VisualStudio>
|
||||
|
|
|
@ -11,7 +11,7 @@ $(function () {
|
|||
|
||||
function refreshNotifications() {
|
||||
$.ajax({
|
||||
url: '/Notification',
|
||||
url: 'Notification',
|
||||
success: notificationCallback
|
||||
});
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
@{Html.Telerik().ComboBox()
|
||||
.Name("seriesList_" + ViewData["guid"].ToString())
|
||||
.BindTo(Model)
|
||||
.DataBinding(binding => binding.Ajax().Select("_textLookUp", "AddSeries").Delay(400).Cache(false))
|
||||
.DataBinding(binding => binding.Ajax().Select("_textLookUp", "AddSeries").Delay(400))
|
||||
.Filterable(f => f.FilterMode(AutoCompleteFilterMode.Contains))
|
||||
.HighlightFirstMatch(true)
|
||||
.HtmlAttributes(new { style = "width: 300px;" })
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
<div style="padding-top: 10px;">
|
||||
<div style="padding-left: 7px; margin-bottom: 5px;">
|
||||
<a id="addItem" style="text-decoration:none;" href="<%: Url.Action("AddRootDir", "Settings") %>">
|
||||
<img src="../../Content/Images/Plus.png" alt="Add New Profile" />
|
||||
<img src="../Content/Images/Plus.png" alt="Add New Profile" />
|
||||
<h4 style="margin-left: 3px; display: inline; color: Black;">Add New Root Directory</h4></a>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<div>
|
||||
<%: Html.TextBoxFor(m => m.Path, new { @class="root_dir_text" }) %>
|
||||
<a href="#" class="deleteRow">
|
||||
<img src="../../Content/Images/X.png" alt="Delete" /></a>
|
||||
<img src="../Content/Images/X.png" alt="Delete" /></a>
|
||||
</div>
|
||||
<div>
|
||||
<%: Html.ValidationMessageFor(m => m.Path) %>
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head runat="server">
|
||||
<link rel="SHORTCUT ICON" href="../../favicon.ico">
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<title>NZBDrone</title>
|
||||
<%
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup useLegacyV2RuntimeActivationPolicy="true">
|
||||
<supportedRuntime version="v4.0" />
|
||||
|
@ -18,10 +18,7 @@
|
|||
<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
|
||||
</assemblies>
|
||||
</compilation>
|
||||
<pages validateRequest="false"
|
||||
pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
|
||||
pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
|
||||
userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
|
||||
<pages validateRequest="false" pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
|
||||
<controls>
|
||||
<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
|
||||
</controls>
|
||||
|
@ -45,11 +42,13 @@
|
|||
<system.webServer>
|
||||
<modules runAllManagedModulesForAllRequests="true"></modules>
|
||||
<handlers>
|
||||
<remove name="MvcHttpHandler"/>
|
||||
<remove name="UrlRoutingHandler" />
|
||||
<remove name="asset" />
|
||||
<add name="asset" preCondition="integratedMode" verb="GET,HEAD" path="asset.axd" type="Telerik.Web.Mvc.WebAssetHttpHandler, Telerik.Web.Mvc" />
|
||||
<add name="MvcHttpHandler" preCondition="integratedMode" verb="" path=".mvc" type="System.Web.Mvc.MvcHttpHandler"/>
|
||||
</handlers>
|
||||
<directoryBrowse enabled="true" />
|
||||
<directoryBrowse enabled="false" />
|
||||
<validation validateIntegratedModeConfiguration="false" />
|
||||
</system.webServer>
|
||||
<runtime>
|
||||
|
|
|
@ -55,7 +55,6 @@ Global
|
|||
{43BD3BBD-1531-4D8F-9C08-E1CD544AB2CD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{43BD3BBD-1531-4D8F-9C08-E1CD544AB2CD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{43BD3BBD-1531-4D8F-9C08-E1CD544AB2CD}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{43BD3BBD-1531-4D8F-9C08-E1CD544AB2CD}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{43BD3BBD-1531-4D8F-9C08-E1CD544AB2CD}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{43BD3BBD-1531-4D8F-9C08-E1CD544AB2CD}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{43BD3BBD-1531-4D8F-9C08-E1CD544AB2CD}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
|
|
Binary file not shown.
Binary file not shown.
BIN
packages/NBuilder.2.3.0.0/lib/Silverlight 3.0/FizzWare.NBuilder-Silverlight.dll
vendored
Normal file
BIN
packages/NBuilder.2.3.0.0/lib/Silverlight 3.0/FizzWare.NBuilder-Silverlight.dll
vendored
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
BIN
packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.Interception.Configuration.dll
vendored
Normal file
BIN
packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.Interception.Configuration.dll
vendored
Normal file
Binary file not shown.
716
packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.Interception.Configuration.xml
vendored
Normal file
716
packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.Interception.Configuration.xml
vendored
Normal file
|
@ -0,0 +1,716 @@
|
|||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Microsoft.Practices.Unity.Interception.Configuration</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:Microsoft.Practices.Unity.InterceptionExtension.Configuration.AddInterfaceElement">
|
||||
<summary>
|
||||
Configuration element that lets you specify additional interfaces
|
||||
to add when this type is intercepted.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.AddInterfaceElement.SerializeContent(System.Xml.XmlWriter)">
|
||||
<summary>
|
||||
Write the contents of this element to the given <see cref="T:System.Xml.XmlWriter"/>.
|
||||
</summary>
|
||||
<remarks>The caller of this method has already written the start element tag before
|
||||
calling this method, so deriving classes only need to write the element content, not
|
||||
the start or end tags.</remarks>
|
||||
<param name="writer">Writer to send XML content to.</param>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.AddInterfaceElement.GetInjectionMembers(Microsoft.Practices.Unity.IUnityContainer,System.Type,System.Type,System.String)">
|
||||
<summary>
|
||||
Return the set of <see cref="T:Microsoft.Practices.Unity.InjectionMember"/>s that are needed
|
||||
to configure the container according to this configuration element.
|
||||
</summary>
|
||||
<param name="container">Container that is being configured.</param>
|
||||
<param name="fromType">Type that is being registered.</param>
|
||||
<param name="toType">Type that <paramref name="fromType"/> is being mapped to.</param>
|
||||
<param name="name">Name this registration is under.</param>
|
||||
<returns>One or more <see cref="T:Microsoft.Practices.Unity.InjectionMember"/> objects that should be
|
||||
applied to the container registration.</returns>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.AddInterfaceElement.TypeName">
|
||||
<summary>
|
||||
Type of interface to add.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.AddInterfaceElement.Key">
|
||||
<summary>
|
||||
Each element must have a unique key, which is generated by the subclasses.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Microsoft.Practices.Unity.InterceptionExtension.Configuration.CallHandlerElement">
|
||||
<summary>
|
||||
Configuration element representing a call handler.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Microsoft.Practices.Unity.InterceptionExtension.Configuration.PolicyChildElement">
|
||||
<summary>
|
||||
Base class for the two children of the Policy element:
|
||||
MatchingRuleElement and CallHandlerElement.
|
||||
</summary>
|
||||
<remarks>
|
||||
<para>
|
||||
These configuration elements have a required "name" attribute, an optional "type" attribute, and
|
||||
optional child elements <lifetime> and <injection>
|
||||
</para>
|
||||
<para>
|
||||
Elements without a value for the type attribute can only have a value for the name attribute, and
|
||||
indicate that the represented handler or rule is configured elsewhere and that a reference to
|
||||
the given name must be added to the policy to be resolved, while elements with a value for the type
|
||||
attribute indicate how the represented handler or rule should be built and can optionally specify
|
||||
lifetime management and injection configuration.
|
||||
</para>
|
||||
<para>
|
||||
This element is similar to the <see cref="T:Microsoft.Practices.Unity.Configuration.RegisterElement"/>, except that it does not provide
|
||||
an extension point for arbitrary configuration.
|
||||
</para>
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.PolicyChildElement.DeserializeElement(System.Xml.XmlReader,System.Boolean)">
|
||||
<summary>
|
||||
Reads XML from the configuration file.
|
||||
</summary>
|
||||
<param name="reader">The <see cref="T:System.Xml.XmlReader"/> that reads from the configuration file.
|
||||
</param><param name="serializeCollectionKey">true to serialize only the collection key properties; otherwise, false.
|
||||
</param><exception cref="T:System.Configuration.ConfigurationErrorsException">The element to read is locked.
|
||||
- or -
|
||||
An attribute of the current node is not recognized.
|
||||
- or -
|
||||
The lock status of the current node cannot be determined.
|
||||
</exception>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.PolicyChildElement.SerializeContent(System.Xml.XmlWriter)">
|
||||
<summary>
|
||||
Write the contents of this element to the given <see cref="T:System.Xml.XmlWriter"/>.
|
||||
</summary>
|
||||
<remarks>The caller of this method has already written the start element tag before
|
||||
calling this method, so deriving classes only need to write the element content, not
|
||||
the start or end tags.</remarks>
|
||||
<param name="writer">Writer to send XML content to.</param>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.PolicyChildElement.Name">
|
||||
<summary>
|
||||
Name of this item
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.PolicyChildElement.TypeName">
|
||||
<summary>
|
||||
Type that implements this matching rule or call handler.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.PolicyChildElement.Injection">
|
||||
<summary>
|
||||
Injection members that control how this item is created.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.PolicyChildElement.Lifetime">
|
||||
<summary>
|
||||
Lifetime manager for this item.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Microsoft.Practices.Unity.InterceptionExtension.Configuration.CallHandlerElementCollection">
|
||||
<summary>
|
||||
A collection of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.Configuration.CallHandlerElement"/>s for configuration.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.CallHandlerElementCollection.GetElementKey(System.Configuration.ConfigurationElement)">
|
||||
<summary>
|
||||
Gets the element key for a specified configuration element when overridden in a derived class.
|
||||
</summary>
|
||||
<returns>
|
||||
An <see cref="T:System.Object"/> that acts as the key for the specified <see cref="T:System.Configuration.ConfigurationElement"/>.
|
||||
</returns>
|
||||
<param name="element">The <see cref="T:System.Configuration.ConfigurationElement"/> to return the key for.
|
||||
</param>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.CallHandlerElementCollection.OnDeserializeUnrecognizedElement(System.String,System.Xml.XmlReader)">
|
||||
<summary>
|
||||
Causes the configuration system to throw an exception.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the unrecognized element was deserialized successfully; otherwise, false. The default is false.
|
||||
</returns>
|
||||
<param name="elementName">The name of the unrecognized element.
|
||||
</param><param name="reader">An input stream that reads XML from the configuration file.
|
||||
</param><exception cref="T:System.Configuration.ConfigurationErrorsException">The element specified in <paramref name="elementName"/> is the <clear> element.
|
||||
</exception><exception cref="T:System.ArgumentException"><paramref name="elementName"/> starts with the reserved prefix "config" or "lock".
|
||||
</exception>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.CallHandlerElementCollection.Item(System.String)">
|
||||
<summary>
|
||||
Retrieve a call handler element from the collection by name.
|
||||
</summary>
|
||||
<param name="name">Name to look up.</param>
|
||||
<returns>The rule, or null if not in the collection.</returns>
|
||||
</member>
|
||||
<member name="T:Microsoft.Practices.Unity.InterceptionExtension.Configuration.DefaultElement">
|
||||
<summary>
|
||||
The <default> element that appears inside an <interceptor> element.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorRegistrationElement">
|
||||
<summary>
|
||||
Base class for the default and key elements that can occur
|
||||
inside the <interceptor> element.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorRegistrationElement.SerializeContent(System.Xml.XmlWriter)">
|
||||
<summary>
|
||||
Write the contents of this element to the given <see cref="T:System.Xml.XmlWriter"/>.
|
||||
</summary>
|
||||
<remarks>The caller of this method has already written the start element tag before
|
||||
calling this method, so deriving classes only need to write the element content, not
|
||||
the start or end tags.</remarks>
|
||||
<param name="writer">Writer to send XML content to.</param>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorRegistrationElement.RegisterInterceptor(Microsoft.Practices.Unity.IUnityContainer,Microsoft.Practices.Unity.InterceptionExtension.IInterceptor)">
|
||||
<summary>
|
||||
Actually register the interceptor against this type.
|
||||
</summary>
|
||||
<param name="container">Container to configure.</param>
|
||||
<param name="interceptor">interceptor to register.</param>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorRegistrationElement.TypeName">
|
||||
<summary>
|
||||
Type name that this interceptor will be registered for.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorRegistrationElement.ResolvedType">
|
||||
<summary>
|
||||
Return the type object that is resolved from the <see cref="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorRegistrationElement.TypeName"/> property.
|
||||
</summary>
|
||||
<returns>The type object.</returns>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.DefaultElement.RegisterInterceptor(Microsoft.Practices.Unity.IUnityContainer,Microsoft.Practices.Unity.InterceptionExtension.IInterceptor)">
|
||||
<summary>
|
||||
Actually register the interceptor against this type.
|
||||
</summary>
|
||||
<param name="container">Container to configure.</param>
|
||||
<param name="interceptor">interceptor to register.</param>
|
||||
</member>
|
||||
<member name="T:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptionBehaviorElement">
|
||||
<summary>
|
||||
Configuration elmement for specifying
|
||||
interception behaviors for a type.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptionBehaviorElement.DeserializeElement(System.Xml.XmlReader,System.Boolean)">
|
||||
<summary>
|
||||
Reads XML from the configuration file.
|
||||
</summary>
|
||||
<param name="reader">The <see cref="T:System.Xml.XmlReader"/> that reads from the configuration file.
|
||||
</param><param name="serializeCollectionKey">true to serialize only the collection key properties; otherwise, false.
|
||||
</param><exception cref="T:System.Configuration.ConfigurationErrorsException">The element to read is locked.
|
||||
- or -
|
||||
An attribute of the current node is not recognized.
|
||||
- or -
|
||||
The lock status of the current node cannot be determined.
|
||||
</exception>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptionBehaviorElement.SerializeContent(System.Xml.XmlWriter)">
|
||||
<summary>
|
||||
Write the contents of this element to the given <see cref="T:System.Xml.XmlWriter"/>.
|
||||
</summary>
|
||||
<remarks>The caller of this method has already written the start element tag before
|
||||
calling this method, so deriving classes only need to write the element content, not
|
||||
the start or end tags.</remarks>
|
||||
<param name="writer">Writer to send XML content to.</param>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptionBehaviorElement.GetInjectionMembers(Microsoft.Practices.Unity.IUnityContainer,System.Type,System.Type,System.String)">
|
||||
<summary>
|
||||
Return the set of <see cref="T:Microsoft.Practices.Unity.InjectionMember"/>s that are needed
|
||||
to configure the container according to this configuration element.
|
||||
</summary>
|
||||
<param name="container">Container that is being configured.</param>
|
||||
<param name="fromType">Type that is being registered.</param>
|
||||
<param name="toType">Type that <paramref name="fromType"/> is being mapped to.</param>
|
||||
<param name="name">Name this registration is under.</param>
|
||||
<returns>One or more <see cref="T:Microsoft.Practices.Unity.InjectionMember"/> objects that should be
|
||||
applied to the container registration.</returns>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptionBehaviorElement.TypeName">
|
||||
<summary>
|
||||
Type of behavior to add.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptionBehaviorElement.Name">
|
||||
<summary>
|
||||
Name of behavior to resolve.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptionBehaviorElement.IsDefaultForType">
|
||||
<summary>
|
||||
Should this behavior be configured as a default behavior for this type, or
|
||||
specifically for this type/name pair only?
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptionBehaviorElement.Key">
|
||||
<summary>
|
||||
Each element must have a unique key, which is generated by the subclasses.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptionConfigurationExtension">
|
||||
<summary>
|
||||
Section extension class used to add the elements needed to configure
|
||||
Unity interception to the configuration schema.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptionConfigurationExtension.AddExtensions(Microsoft.Practices.Unity.Configuration.SectionExtensionContext)">
|
||||
<summary>
|
||||
Add the extensions to the section via the context.
|
||||
</summary>
|
||||
<param name="context">Context object that can be used to add elements and aliases.</param>
|
||||
</member>
|
||||
<member name="T:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptionElement">
|
||||
<summary>
|
||||
A configuration element that contains the top-level container configuration
|
||||
information for interception - handler policies and global interceptor definitions.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptionElement.OnDeserializeUnrecognizedElement(System.String,System.Xml.XmlReader)">
|
||||
<summary>
|
||||
Gets a value indicating whether an unknown element is encountered during deserialization.
|
||||
</summary>
|
||||
<returns>
|
||||
true when an unknown element is encountered while deserializing; otherwise, false.
|
||||
</returns>
|
||||
<param name="elementName">The name of the unknown subelement.
|
||||
</param><param name="reader">The <see cref="T:System.Xml.XmlReader"/> being used for deserialization.
|
||||
</param><exception cref="T:System.Configuration.ConfigurationErrorsException">The element identified by <paramref name="elementName"/> is locked.
|
||||
- or -
|
||||
One or more of the element's attributes is locked.
|
||||
- or -
|
||||
<paramref name="elementName"/> is unrecognized, or the element has an unrecognized attribute.
|
||||
- or -
|
||||
The element has a Boolean attribute with an invalid value.
|
||||
- or -
|
||||
An attempt was made to deserialize a property more than once.
|
||||
- or -
|
||||
An attempt was made to deserialize a property that is not a valid member of the element.
|
||||
- or -
|
||||
The element cannot contain a CDATA or text element.
|
||||
</exception>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptionElement.SerializeContent(System.Xml.XmlWriter)">
|
||||
<summary>
|
||||
Write the contents of this element to the given <see cref="T:System.Xml.XmlWriter"/>.
|
||||
</summary>
|
||||
<remarks>The caller of this method has already written the start element tag before
|
||||
calling this method, so deriving classes only need to write the element content, not
|
||||
the start or end tags.</remarks>
|
||||
<param name="writer">Writer to send XML content to.</param>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptionElement.ConfigureContainer(Microsoft.Practices.Unity.IUnityContainer)">
|
||||
<summary>
|
||||
Apply this element's configuration to the given <paramref name="container"/>.
|
||||
</summary>
|
||||
<param name="container">Container to configure.</param>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptionElement.Policies">
|
||||
<summary>
|
||||
Policies defined for this container.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorElement">
|
||||
<summary>
|
||||
Configuration element that lets you configure
|
||||
what interceptor to use for a type.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorElement.#ctor">
|
||||
<summary>
|
||||
Initialize a new <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorElement"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorElement.SerializeContent(System.Xml.XmlWriter)">
|
||||
<summary>
|
||||
Write the contents of this element to the given <see cref="T:System.Xml.XmlWriter"/>.
|
||||
</summary>
|
||||
<remarks>The caller of this method has already written the start element tag before
|
||||
calling this method, so deriving classes only need to write the element content, not
|
||||
the start or end tags.</remarks>
|
||||
<param name="writer">Writer to send XML content to.</param>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorElement.GetInjectionMembers(Microsoft.Practices.Unity.IUnityContainer,System.Type,System.Type,System.String)">
|
||||
<summary>
|
||||
Return the set of <see cref="T:Microsoft.Practices.Unity.InjectionMember"/>s that are needed
|
||||
to configure the container according to this configuration element.
|
||||
</summary>
|
||||
<param name="container">Container that is being configured.</param>
|
||||
<param name="fromType">Type that is being registered.</param>
|
||||
<param name="toType">Type that <paramref name="fromType"/> is being mapped to.</param>
|
||||
<param name="name">Name this registration is under.</param>
|
||||
<returns>One or more <see cref="T:Microsoft.Practices.Unity.InjectionMember"/> objects that should be
|
||||
applied to the container registration.</returns>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorElement.TypeName">
|
||||
<summary>
|
||||
Type name for the interceptor to apply.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorElement.Name">
|
||||
<summary>
|
||||
Name to use when resolving interceptors from the container.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorElement.IsDefaultForType">
|
||||
<summary>
|
||||
Should this interceptor be registered as the default for the contained
|
||||
type, or only for this particular type/name pair?
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorElement.Key">
|
||||
<summary>
|
||||
Each element must have a unique key, which is generated by the subclasses.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorRegistrationElementCollection">
|
||||
<summary>
|
||||
A collection of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorRegistrationElement"/> objects as shown
|
||||
in configuration.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorRegistrationElementCollection.CreateNewElement">
|
||||
<summary>
|
||||
When overridden in a derived class, creates a new <see cref="T:System.Configuration.ConfigurationElement"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
A new <see cref="T:System.Configuration.ConfigurationElement"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorRegistrationElementCollection.GetElementKey(System.Configuration.ConfigurationElement)">
|
||||
<summary>
|
||||
Gets the element key for a specified configuration element when overridden in a derived class.
|
||||
</summary>
|
||||
<returns>
|
||||
An <see cref="T:System.Object"/> that acts as the key for the specified <see cref="T:System.Configuration.ConfigurationElement"/>.
|
||||
</returns>
|
||||
<param name="element">The <see cref="T:System.Configuration.ConfigurationElement"/> to return the key for.
|
||||
</param>
|
||||
</member>
|
||||
<member name="T:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorsElement">
|
||||
<summary>
|
||||
Configuration element that provides a top-level element for
|
||||
configuration interceptors for types in a container.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorsElement.SerializeContent(System.Xml.XmlWriter)">
|
||||
<summary>
|
||||
Write the contents of this element to the given <see cref="T:System.Xml.XmlWriter"/>.
|
||||
</summary>
|
||||
<remarks>The caller of this method has already written the start element tag before
|
||||
calling this method, so deriving classes only need to write the element content, not
|
||||
the start or end tags.</remarks>
|
||||
<param name="writer">Writer to send XML content to.</param>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorsElement.ConfigureContainer(Microsoft.Practices.Unity.IUnityContainer)">
|
||||
<summary>
|
||||
Apply this element's configuration to the given <paramref name="container"/>.
|
||||
</summary>
|
||||
<param name="container">Container to configure.</param>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorsElement.Interceptors">
|
||||
<summary>
|
||||
The various child elements that are contained in this element.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorsInterceptorElement">
|
||||
<summary>
|
||||
Configuration element that represents the configuration for
|
||||
a specific interceptor, as presented in the config file inside
|
||||
the <interceptors> element.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorsInterceptorElement.SerializeContent(System.Xml.XmlWriter)">
|
||||
<summary>
|
||||
Write the contents of this element to the given <see cref="T:System.Xml.XmlWriter"/>.
|
||||
</summary>
|
||||
<remarks>The caller of this method has already written the start element tag before
|
||||
calling this method, so deriving classes only need to write the element content, not
|
||||
the start or end tags.</remarks>
|
||||
<param name="writer">Writer to send XML content to.</param>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorsInterceptorElement.OnDeserializeUnrecognizedElement(System.String,System.Xml.XmlReader)">
|
||||
<summary>
|
||||
Gets a value indicating whether an unknown element is encountered during deserialization.
|
||||
</summary>
|
||||
<returns>
|
||||
true when an unknown element is encountered while deserializing; otherwise, false.
|
||||
</returns>
|
||||
<param name="elementName">The name of the unknown subelement.
|
||||
</param><param name="reader">The <see cref="T:System.Xml.XmlReader"/> being used for deserialization.
|
||||
</param><exception cref="T:System.Configuration.ConfigurationErrorsException">The element identified by <paramref name="elementName"/> is locked.
|
||||
- or -
|
||||
One or more of the element's attributes is locked.
|
||||
- or -
|
||||
<paramref name="elementName"/> is unrecognized, or the element has an unrecognized attribute.
|
||||
- or -
|
||||
The element has a Boolean attribute with an invalid value.
|
||||
- or -
|
||||
An attempt was made to deserialize a property more than once.
|
||||
- or -
|
||||
An attempt was made to deserialize a property that is not a valid member of the element.
|
||||
- or -
|
||||
The element cannot contain a CDATA or text element.
|
||||
</exception>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorsInterceptorElement.TypeName">
|
||||
<summary>
|
||||
Type of interceptor to configure.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorsInterceptorElement.Registrations">
|
||||
<summary>
|
||||
The types that this interceptor will be registered against.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorsInterceptorElement.Value">
|
||||
<summary>
|
||||
Any value passed to the type converter.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorsInterceptorElement.TypeConverterTypeName">
|
||||
<summary>
|
||||
Type converter to use to create the interceptor, if any.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorsInterceptorElementCollection">
|
||||
<summary>
|
||||
A collection of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorsInterceptorElement"/> objects
|
||||
as stored in configuration.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptorsInterceptorElementCollection.GetElementKey(System.Configuration.ConfigurationElement)">
|
||||
<summary>
|
||||
Gets the element key for a specified configuration element when overridden in a derived class.
|
||||
</summary>
|
||||
<returns>
|
||||
An <see cref="T:System.Object"/> that acts as the key for the specified <see cref="T:System.Configuration.ConfigurationElement"/>.
|
||||
</returns>
|
||||
<param name="element">The <see cref="T:System.Configuration.ConfigurationElement"/> to return the key for.
|
||||
</param>
|
||||
</member>
|
||||
<member name="T:Microsoft.Practices.Unity.InterceptionExtension.Configuration.KeyElement">
|
||||
<summary>
|
||||
The <key> element that occurs inside an <interceptor> element
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.KeyElement.SerializeContent(System.Xml.XmlWriter)">
|
||||
<summary>
|
||||
Write the contents of this element to the given <see cref="T:System.Xml.XmlWriter"/>.
|
||||
</summary>
|
||||
<remarks>The caller of this method has already written the start element tag before
|
||||
calling this method, so deriving classes only need to write the element content, not
|
||||
the start or end tags.</remarks>
|
||||
<param name="writer">Writer to send XML content to.</param>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.KeyElement.RegisterInterceptor(Microsoft.Practices.Unity.IUnityContainer,Microsoft.Practices.Unity.InterceptionExtension.IInterceptor)">
|
||||
<summary>
|
||||
Actually register the interceptor against this type.
|
||||
</summary>
|
||||
<param name="container">Container to configure.</param>
|
||||
<param name="interceptor">interceptor to register.</param>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.KeyElement.Name">
|
||||
<summary>
|
||||
Name registration should be under. To register under the default, leave blank.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Microsoft.Practices.Unity.InterceptionExtension.Configuration.MatchingRuleElement">
|
||||
<summary>
|
||||
A configuration element representing a matching rule.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Microsoft.Practices.Unity.InterceptionExtension.Configuration.MatchingRuleElementCollection">
|
||||
<summary>
|
||||
A collection of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.Configuration.MatchingRuleElement"/>s for configuration.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.MatchingRuleElementCollection.GetElementKey(System.Configuration.ConfigurationElement)">
|
||||
<summary>
|
||||
Gets the element key for a specified configuration element when overridden in a derived class.
|
||||
</summary>
|
||||
<returns>
|
||||
An <see cref="T:System.Object"/> that acts as the key for the specified <see cref="T:System.Configuration.ConfigurationElement"/>.
|
||||
</returns>
|
||||
<param name="element">The <see cref="T:System.Configuration.ConfigurationElement"/> to return the key for.
|
||||
</param>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.MatchingRuleElementCollection.OnDeserializeUnrecognizedElement(System.String,System.Xml.XmlReader)">
|
||||
<summary>
|
||||
Causes the configuration system to throw an exception.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the unrecognized element was deserialized successfully; otherwise, false. The default is false.
|
||||
</returns>
|
||||
<param name="elementName">The name of the unrecognized element.
|
||||
</param><param name="reader">An input stream that reads XML from the configuration file.
|
||||
</param><exception cref="T:System.Configuration.ConfigurationErrorsException">The element specified in <paramref name="elementName"/> is the <clear> element.
|
||||
</exception><exception cref="T:System.ArgumentException"><paramref name="elementName"/> starts with the reserved prefix "config" or "lock".
|
||||
</exception>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.MatchingRuleElementCollection.Item(System.String)">
|
||||
<summary>
|
||||
Retrieve a matching rule element from the collection by name.
|
||||
</summary>
|
||||
<param name="name">Name to look up.</param>
|
||||
<returns>The rule, or null if not in the collection.</returns>
|
||||
</member>
|
||||
<member name="T:Microsoft.Practices.Unity.InterceptionExtension.Configuration.PolicyElement">
|
||||
<summary>
|
||||
Configuration element for building up an interception policy.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.PolicyElement.OnDeserializeUnrecognizedElement(System.String,System.Xml.XmlReader)">
|
||||
<summary>
|
||||
Gets a value indicating whether an unknown element is encountered during deserialization.
|
||||
</summary>
|
||||
<returns>
|
||||
true when an unknown element is encountered while deserializing; otherwise, false.
|
||||
</returns>
|
||||
<param name="elementName">The name of the unknown subelement.
|
||||
</param><param name="reader">The <see cref="T:System.Xml.XmlReader"/> being used for deserialization.
|
||||
</param><exception cref="T:System.Configuration.ConfigurationErrorsException">The element identified by <paramref name="elementName"/> is locked.
|
||||
- or -
|
||||
One or more of the element's attributes is locked.
|
||||
- or -
|
||||
<paramref name="elementName"/> is unrecognized, or the element has an unrecognized attribute.
|
||||
- or -
|
||||
The element has a Boolean attribute with an invalid value.
|
||||
- or -
|
||||
An attempt was made to deserialize a property more than once.
|
||||
- or -
|
||||
An attempt was made to deserialize a property that is not a valid member of the element.
|
||||
- or -
|
||||
The element cannot contain a CDATA or text element.
|
||||
</exception>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.PolicyElement.SerializeContent(System.Xml.XmlWriter)">
|
||||
<summary>
|
||||
Write the contents of this element to the given <see cref="T:System.Xml.XmlWriter"/>.
|
||||
</summary>
|
||||
<remarks>The caller of this method has already written the start element tag before
|
||||
calling this method, so deriving classes only need to write the element content, not
|
||||
the start or end tags.</remarks>
|
||||
<param name="writer">Writer to send XML content to.</param>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.PolicyElement.Name">
|
||||
<summary>
|
||||
Name of this policy.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.PolicyElement.MatchingRules">
|
||||
<summary>
|
||||
Matching rules for this policy.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.PolicyElement.CallHandlers">
|
||||
<summary>
|
||||
Call handlers for this policy.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Microsoft.Practices.Unity.InterceptionExtension.Configuration.PolicyElementCollection">
|
||||
<summary>
|
||||
A collection of <see cref="T:Microsoft.Practices.Unity.InterceptionExtension.Configuration.PolicyElement"/> in the configuration.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.PolicyElementCollection.GetElementKey(System.Configuration.ConfigurationElement)">
|
||||
<summary>
|
||||
Gets the element key for a specified configuration element when overridden in a derived class.
|
||||
</summary>
|
||||
<returns>
|
||||
An <see cref="T:System.Object"/> that acts as the key for the specified <see cref="T:System.Configuration.ConfigurationElement"/>.
|
||||
</returns>
|
||||
<param name="element">The <see cref="T:System.Configuration.ConfigurationElement"/> to return the key for.
|
||||
</param>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.PolicyElementCollection.Item(System.String)">
|
||||
<summary>
|
||||
Indexer to retrieve policy element objects by name.
|
||||
</summary>
|
||||
<param name="policyName">Name of policy to get.</param>
|
||||
<returns>The element.</returns>
|
||||
</member>
|
||||
<member name="T:Microsoft.Practices.Unity.InterceptionExtension.Configuration.PolicyInjectionElement">
|
||||
<summary>
|
||||
A shortcut element to enable the policy injection behavior.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Practices.Unity.InterceptionExtension.Configuration.PolicyInjectionElement.GetInjectionMembers(Microsoft.Practices.Unity.IUnityContainer,System.Type,System.Type,System.String)">
|
||||
<summary>
|
||||
Return the set of <see cref="T:Microsoft.Practices.Unity.InjectionMember"/>s that are needed
|
||||
to configure the container according to this configuration element.
|
||||
</summary>
|
||||
<param name="container">Container that is being configured.</param>
|
||||
<param name="fromType">Type that is being registered.</param>
|
||||
<param name="toType">Type that <paramref name="fromType"/> is being mapped to.</param>
|
||||
<param name="name">Name this registration is under.</param>
|
||||
<returns>One or more <see cref="T:Microsoft.Practices.Unity.InjectionMember"/> objects that should be
|
||||
applied to the container registration.</returns>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.PolicyInjectionElement.Key">
|
||||
<summary>
|
||||
Each element must have a unique key, which is generated by the subclasses.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Microsoft.Practices.Unity.InterceptionExtension.Configuration.Properties.Resources">
|
||||
<summary>
|
||||
A strongly-typed resource class, for looking up localized strings, etc.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.Properties.Resources.ResourceManager">
|
||||
<summary>
|
||||
Returns the cached ResourceManager instance used by this class.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.Properties.Resources.Culture">
|
||||
<summary>
|
||||
Overrides the current thread's CurrentUICulture property for all
|
||||
resource lookups using this strongly typed resource class.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.Properties.Resources.CannotCreateInterceptorRegistrationElement">
|
||||
<summary>
|
||||
Looks up a localized string similar to The abstract type InterceptorRegistrationElement cannot be created. Please create a concrete instance..
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.Properties.Resources.CannotHaveInjectionWithoutTypeName">
|
||||
<summary>
|
||||
Looks up a localized string similar to The <injection/> element is not allowed on element named '{0}' because it doesn't have a type attribute..
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.Properties.Resources.CannotHaveLifetimeWithoutTypeName">
|
||||
<summary>
|
||||
Looks up a localized string similar to The <lifetime/> element is not allowed on element named '{0}' because it doesn't have a type attribute..
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.Properties.Resources.CouldNotResolveType">
|
||||
<summary>
|
||||
Looks up a localized string similar to The type name or alias {0} could not be resolved. Please check your configuration file and verify this type name..
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.Properties.Resources.ExceptionCannotCreateInstance">
|
||||
<summary>
|
||||
Looks up a localized string similar to Cannot create instance of type {0} with a default constructor..
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.Properties.Resources.ExceptionResolvedTypeNotCompatible">
|
||||
<summary>
|
||||
Looks up a localized string similar to The type name {0} resolved to type {1} is not compatible with the required type {2}..
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.Properties.Resources.InvalidInterceptorType">
|
||||
<summary>
|
||||
Looks up a localized string similar to The type {0} could not be resolved to a valid type. Please double check your configuration..
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Practices.Unity.InterceptionExtension.Configuration.Properties.Resources.MustHaveAtLeastOneBehaviorAttribute">
|
||||
<summary>
|
||||
Looks up a localized string similar to The interception behavior element must have at least one of the 'name' or 'type' attributes..
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue