mirror of
https://github.com/Sonarr/Sonarr.git
synced 2024-12-12 11:15:43 +02:00
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
|
125
NzbDrone.Core.Test/AutoMoq/AutoMoq.cs
Normal file
125
NzbDrone.Core.Test/AutoMoq/AutoMoq.cs
Normal file
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
22
NzbDrone.Core.Test/AutoMoq/License.txt
Normal file
22
NzbDrone.Core.Test/AutoMoq/License.txt
Normal file
@ -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 @@ public void Overwrite_existing_value()
|
||||
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 @@ public void Add_new_value()
|
||||
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.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using AutoMoq;
|
||||
using FizzWare.NBuilder;
|
||||
using Gallio.Framework;
|
||||
using MbUnit.Framework;
|
||||
@ -27,8 +28,9 @@ public class EpisodeProviderTest
|
||||
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 @@ public void RefreshEpisodeInfo()
|
||||
.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]
|
||||
|
366
NzbDrone.Core.Test/Files/RSS/nzbsorg.xml
Normal file
366
NzbDrone.Core.Test/Files/RSS/nzbsorg.xml
Normal file
@ -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 @@ public class ParserTest
|
||||
[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 @@ public void quality_parse(string path, object quality)
|
||||
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 @@ public void write_log()
|
||||
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();
|
||||
|
66
NzbDrone.Core.Test/RssProviderTest.cs
Normal file
66
NzbDrone.Core.Test/RssProviderTest.cs
Normal file
@ -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 @@ public void AddByUrlSuccess()
|
||||
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 @@ public void AddByUrlError()
|
||||
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 @@ public void IsInQueue_True()
|
||||
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 @@ public void IsInQueue_False_Empty()
|
||||
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 @@ public void IsInQueue_False_Error()
|
||||
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.Generic;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using AutoMoq;
|
||||
using FizzWare.NBuilder;
|
||||
using Gallio.Framework;
|
||||
using MbUnit.Framework;
|
||||
@ -12,6 +13,7 @@
|
||||
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 @@ public class SeriesProviderTest
|
||||
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 @@ public void Test_Parse_Success(string postTitle, string title)
|
||||
//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.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Web;
|
||||
using System.Web.Hosting;
|
||||
using Ninject;
|
||||
using NLog.Config;
|
||||
using NLog.Targets;
|
||||
@ -62,9 +63,9 @@ public static void BindKernel()
|
||||
_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 @@ public static String AppPath
|
||||
{
|
||||
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 @@ internal static EpisodeParseResult ParseEpisodeInfo(string title)
|
||||
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 @@ public string DownloadString(string request)
|
||||
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 @@ public string DownloadString(string request, string username, string password)
|
||||
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 @@ public class EpisodeProvider : IEpisodeProvider
|
||||
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 @@
|
||||
|
||||
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 @@ protected FeedProviderBase(ISeriesProvider seriesProvider, ISeasonProvider seaso
|
||||
/// <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 @@ public void Fetch()
|
||||
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 @@ public void Fetch()
|
||||
|
||||
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 @@ public interface IRssSyncProvider
|
||||
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 @@
|
||||
|
||||
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.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 @@ public class SeriesProvider : ISeriesProvider
|
||||
|
||||
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 @@ public SeriesProvider(IConfigProvider configProvider,
|
||||
|
||||
#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 @@ public Series GetSeries(int seriesId)
|
||||
/// </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 @@ public TvdbSeries MapPathToSeries(string path)
|
||||
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 @@ public Series UpdateSeriesInfo(int seriesId)
|
||||
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 @@ public void AddSeries(string path, int tvDbSeriesId, int qualityProfileId)
|
||||
_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 @@ public void DeleteSeries(int seriesId)
|
||||
}
|
||||
}
|
||||
|
||||
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 @@
|
||||
|
||||
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 @@ public TvDbProvider()
|
||||
_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 @@ public IList<TvdbSearchResult> SearchSeries(string title)
|
||||
}
|
||||
|
||||
|
||||
public TvdbSearchResult GetSeries(string title)
|
||||
public virtual TvdbSearchResult GetSeries(string title)
|
||||
{
|
||||
var searchResults = SearchSeries(title);
|
||||
if (searchResults.Count == 0)
|
||||
@ -52,7 +52,7 @@ public TvdbSearchResult GetSeries(string title)
|
||||
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 @@ public int GetBestMatch(List<TvdbSearchResult> searchResults, string title)
|
||||
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 @@ public string SonicAllowed
|
||||
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 @@ public ActionResult _textLookUp(string text, int? filterMode)
|
||||
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
|
||||
|
BIN
packages/NBuilder.2.3.0.0/NBuilder.2.3.0.0.nupkg
vendored
Normal file
BIN
packages/NBuilder.2.3.0.0/NBuilder.2.3.0.0.nupkg
vendored
Normal file
Binary file not shown.
BIN
packages/NBuilder.2.3.0.0/lib/FizzWare.NBuilder.dll
vendored
Normal file
BIN
packages/NBuilder.2.3.0.0/lib/FizzWare.NBuilder.dll
vendored
Normal file
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.
BIN
packages/Unity.2.0/Unity.2.0.nupkg
vendored
Normal file
BIN
packages/Unity.2.0/Unity.2.0.nupkg
vendored
Normal file
Binary file not shown.
BIN
packages/Unity.2.0/lib/20/Microsoft.Practices.ServiceLocation.dll
vendored
Normal file
BIN
packages/Unity.2.0/lib/20/Microsoft.Practices.ServiceLocation.dll
vendored
Normal file
Binary file not shown.
BIN
packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.Configuration.dll
vendored
Normal file
BIN
packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.Configuration.dll
vendored
Normal file
Binary file not shown.
2451
packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.Configuration.xml
vendored
Normal file
2451
packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.Configuration.xml
vendored
Normal file
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>
|
BIN
packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.Interception.dll
vendored
Normal file
BIN
packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.Interception.dll
vendored
Normal file
Binary file not shown.
3460
packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.Interception.xml
vendored
Normal file
3460
packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.Interception.xml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
BIN
packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.dll
vendored
Normal file
BIN
packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.dll
vendored
Normal file
Binary file not shown.
5910
packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.xml
vendored
Normal file
5910
packages/Unity.2.0/lib/20/Microsoft.Practices.Unity.xml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
BIN
packages/Unity.2.0/lib/SL30/Microsoft.Practices.ServiceLocation.dll
vendored
Normal file
BIN
packages/Unity.2.0/lib/SL30/Microsoft.Practices.ServiceLocation.dll
vendored
Normal file
Binary file not shown.
BIN
packages/Unity.2.0/lib/SL30/Microsoft.Practices.Unity.Silverlight.dll
vendored
Normal file
BIN
packages/Unity.2.0/lib/SL30/Microsoft.Practices.Unity.Silverlight.dll
vendored
Normal file
Binary file not shown.
5871
packages/Unity.2.0/lib/SL30/Microsoft.Practices.Unity.Silverlight.xml
vendored
Normal file
5871
packages/Unity.2.0/lib/SL30/Microsoft.Practices.Unity.Silverlight.xml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user