mirror of
https://github.com/Radarr/Radarr.git
synced 2024-11-04 10:02:40 +01:00
Merge branch 'master' into backbone
Conflicts: NzbDrone.Common/packages.config NzbDrone.Core.Test/packages.config NzbDrone.Core/NzbDrone.Core.csproj NzbDrone.Core/packages.config NzbDrone.Services/NzbDrone.Services.Service/packages.config NzbDrone.Web.UI.Test/NzbDrone.Web.UI.Automation.csproj NzbDrone.Web/_bin_deployableAssemblies/amd64/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest NzbDrone.Web/_bin_deployableAssemblies/amd64/Microsoft.VC90.CRT/README_ENU.txt NzbDrone.Web/_bin_deployableAssemblies/amd64/Microsoft.VC90.CRT/msvcr90.dll NzbDrone.Web/_bin_deployableAssemblies/amd64/sqlceme40.dll NzbDrone.Web/_bin_deployableAssemblies/x86/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest NzbDrone.Web/_bin_deployableAssemblies/x86/Microsoft.VC90.CRT/README_ENU.txt NzbDrone.Web/_bin_deployableAssemblies/x86/Microsoft.VC90.CRT/msvcr90.dll NzbDrone.Web/_bin_deployableAssemblies/x86/sqlceme40.dll NzbDrone.Web/packages.config
This commit is contained in:
commit
f3809d3a80
@ -275,5 +275,10 @@ public virtual bool IsChildOfPath(string child, string parent)
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public virtual string GetPathRoot(string path)
|
||||
{
|
||||
return Path.GetPathRoot(path);
|
||||
}
|
||||
}
|
||||
}
|
@ -2,7 +2,8 @@
|
||||
<configuration>
|
||||
<configSections>
|
||||
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
|
||||
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
|
||||
</configSections>
|
||||
<appSettings>
|
||||
<!-- Supported values: nunit, xunit and mstest -->
|
||||
@ -16,4 +17,11 @@
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
<entityFramework>
|
||||
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework">
|
||||
<parameters>
|
||||
<parameter value="System.Data.SqlServerCe.4.0" />
|
||||
</parameters>
|
||||
</defaultConnectionFactory>
|
||||
</entityFramework>
|
||||
</configuration>
|
@ -0,0 +1 @@
|
||||
[{"ID":"571777","name":"Chicago.Fire.S01E10.720p.WEB-DL.DD5.1.H.264-KiNGS","totalpart":"10","groupID":"99","size":"890190951","postdate":"2012-12-20 18:14:13","guid":"48714abb00a095e00fbcbe161253abf6","fromname":"#cripples <masturb@ting.in.wheelchairs>","completion":"100","categoryID":"5050","imdbID":null,"anidbID":null,"rageID":"-1","comments":"0","downloads":"3","votes":{"upvotes":0,"downvotes":0}}]
|
@ -0,0 +1 @@
|
||||
[{"name":"30.Rock.S06E06E07.HDTV.XviD-LOL","fromname":"teevee@4u.tv (teevee)","size":418067671,"groupid":4,"categoryid":5030,"totalpart":36,"completion":100,"rageid":"-1","imdbid":"","comments":"0","guid":"97be14dbf1776eec4fb8f2bb835935c0","adddate":1355343562,"postdate":1328839361,"downloads":"0","votes":{"upvotes":0,"downvotes":0},"nzb":"https:\/\/nzbx.co\/nzb?97be14dbf1776eec4fb8f2bb835935c0*|*30.Rock.S06E06E07.HDTV.XviD-LOL"}]
|
1
NzbDrone.Core.Test/Files/RSS/nzbx_recent.json
Normal file
1
NzbDrone.Core.Test/Files/RSS/nzbx_recent.json
Normal file
File diff suppressed because one or more lines are too long
1
NzbDrone.Core.Test/Files/RSS/nzbx_search.json
Normal file
1
NzbDrone.Core.Test/Files/RSS/nzbx_search.json
Normal file
File diff suppressed because one or more lines are too long
@ -20,12 +20,27 @@
|
||||
using NzbDrone.Core.Test.ProviderTests;
|
||||
using NzbDrone.Test.Common;
|
||||
|
||||
namespace NzbDrone.Core.Test
|
||||
namespace NzbDrone.Core.Test.IndexerTests
|
||||
{
|
||||
[TestFixture]
|
||||
// ReSharper disable InconsistentNaming
|
||||
public class IndexerTests : CoreTest
|
||||
public class IndexerFixture : CoreTest
|
||||
{
|
||||
private void WithConfiguredIndexers()
|
||||
{
|
||||
Mocker.GetMock<ConfigProvider>().SetupGet(c => c.NzbsOrgHash).Returns("MockedConfigValue");
|
||||
Mocker.GetMock<ConfigProvider>().SetupGet(c => c.NzbsOrgUId).Returns("MockedConfigValue");
|
||||
|
||||
Mocker.GetMock<ConfigProvider>().SetupGet(c => c.NzbsrusHash).Returns("MockedConfigValue");
|
||||
Mocker.GetMock<ConfigProvider>().SetupGet(c => c.NzbsrusUId).Returns("MockedConfigValue");
|
||||
|
||||
Mocker.GetMock<ConfigProvider>().SetupGet(c => c.FileSharingTalkUid).Returns("MockedConfigValue");
|
||||
Mocker.GetMock<ConfigProvider>().SetupGet(c => c.FileSharingTalkSecret).Returns("MockedConfigValue");
|
||||
|
||||
Mocker.GetMock<ConfigProvider>().SetupGet(c => c.OmgwtfnzbsUsername).Returns("MockedConfigValue");
|
||||
Mocker.GetMock<ConfigProvider>().SetupGet(c => c.OmgwtfnzbsApiKey).Returns("MockedConfigValue");
|
||||
}
|
||||
|
||||
[TestCase("nzbsrus.xml")]
|
||||
[TestCase("newznab.xml")]
|
||||
[TestCase("wombles.xml")]
|
||||
@ -59,21 +74,6 @@ public void parse_feed_xml(string fileName)
|
||||
parseResults.Should().OnlyContain(s => s.Age >= 0);
|
||||
}
|
||||
|
||||
private void WithConfiguredIndexers()
|
||||
{
|
||||
Mocker.GetMock<ConfigProvider>().SetupGet(c => c.NzbsOrgHash).Returns("MockedConfigValue");
|
||||
Mocker.GetMock<ConfigProvider>().SetupGet(c => c.NzbsOrgUId).Returns("MockedConfigValue");
|
||||
|
||||
Mocker.GetMock<ConfigProvider>().SetupGet(c => c.NzbsrusHash).Returns("MockedConfigValue");
|
||||
Mocker.GetMock<ConfigProvider>().SetupGet(c => c.NzbsrusUId).Returns("MockedConfigValue");
|
||||
|
||||
Mocker.GetMock<ConfigProvider>().SetupGet(c => c.FileSharingTalkUid).Returns("MockedConfigValue");
|
||||
Mocker.GetMock<ConfigProvider>().SetupGet(c => c.FileSharingTalkSecret).Returns("MockedConfigValue");
|
||||
|
||||
Mocker.GetMock<ConfigProvider>().SetupGet(c => c.OmgwtfnzbsUsername).Returns("MockedConfigValue");
|
||||
Mocker.GetMock<ConfigProvider>().SetupGet(c => c.OmgwtfnzbsApiKey).Returns("MockedConfigValue");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void custome_parser_partial_success()
|
||||
{
|
119
NzbDrone.Core.Test/IndexerTests/NzbxFixture.cs
Normal file
119
NzbDrone.Core.Test/IndexerTests/NzbxFixture.cs
Normal file
@ -0,0 +1,119 @@
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.ServiceModel.Syndication;
|
||||
using System.Threading;
|
||||
using FizzWare.NBuilder;
|
||||
using FluentAssertions;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
using NzbDrone.Common;
|
||||
using NzbDrone.Core.Model;
|
||||
using NzbDrone.Core.Providers;
|
||||
using NzbDrone.Core.Providers.Core;
|
||||
using NzbDrone.Core.Providers.Indexer;
|
||||
using NzbDrone.Core.Repository;
|
||||
using NzbDrone.Core.Repository.Quality;
|
||||
using NzbDrone.Core.Test.Framework;
|
||||
using NzbDrone.Core.Test.ProviderTests;
|
||||
using NzbDrone.Test.Common;
|
||||
|
||||
namespace NzbDrone.Core.Test.IndexerTests
|
||||
{
|
||||
[TestFixture]
|
||||
// ReSharper disable InconsistentNaming
|
||||
public class NzbxFixture : CoreTest
|
||||
{
|
||||
[Test]
|
||||
public void should_get_size_when_parsing_recent_feed()
|
||||
{
|
||||
Mocker.GetMock<HttpProvider>()
|
||||
.Setup(h => h.DownloadString("https://nzbx.co/api/recent?category=tv", It.IsAny<NetworkCredential>()))
|
||||
.Returns(File.ReadAllText(".\\Files\\Rss\\SizeParsing\\nzbx_recent.json"));
|
||||
|
||||
//Act
|
||||
var parseResults = Mocker.Resolve<Nzbx>().FetchRss();
|
||||
|
||||
parseResults.Should().HaveCount(1);
|
||||
parseResults[0].Size.Should().Be(890190951);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_get_size_when_parsing_search_results()
|
||||
{
|
||||
Mocker.GetMock<HttpProvider>()
|
||||
.Setup(h => h.DownloadString("https://nzbx.co/api/search?q=30+Rock+S01E01", It.IsAny<NetworkCredential>()))
|
||||
.Returns(File.ReadAllText(".\\Files\\Rss\\SizeParsing\\nzbx_search.json"));
|
||||
|
||||
//Act
|
||||
var parseResults = Mocker.Resolve<Nzbx>().FetchEpisode("30 Rock", 1, 1);
|
||||
|
||||
parseResults.Should().HaveCount(1);
|
||||
parseResults[0].Size.Should().Be(418067671);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_be_able_parse_results_from_recent_feed()
|
||||
{
|
||||
Mocker.GetMock<HttpProvider>()
|
||||
.Setup(h => h.DownloadString(It.IsAny<String>(), It.IsAny<NetworkCredential>()))
|
||||
.Returns(File.ReadAllText(".\\Files\\Rss\\nzbx_recent.json"));
|
||||
|
||||
var parseResults = Mocker.Resolve<Nzbx>().FetchRss();
|
||||
|
||||
parseResults.Should().NotBeEmpty();
|
||||
parseResults.Should().OnlyContain(s => s.Indexer == "nzbx");
|
||||
parseResults.Should().OnlyContain(s => !String.IsNullOrEmpty(s.OriginalString));
|
||||
parseResults.Should().OnlyContain(s => s.Age >= 0);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_be_able_to_parse_results_from_search_results()
|
||||
{
|
||||
Mocker.GetMock<HttpProvider>()
|
||||
.Setup(h => h.DownloadString(It.IsAny<String>(), It.IsAny<NetworkCredential>()))
|
||||
.Returns(File.ReadAllText(".\\Files\\Rss\\nzbx_search.json"));
|
||||
|
||||
var parseResults = Mocker.Resolve<Nzbx>().FetchEpisode("30 Rock", 1, 1);
|
||||
|
||||
parseResults.Should().NotBeEmpty();
|
||||
parseResults.Should().OnlyContain(s => s.Indexer == "nzbx");
|
||||
parseResults.Should().OnlyContain(s => !String.IsNullOrEmpty(s.OriginalString));
|
||||
parseResults.Should().OnlyContain(s => s.Age >= 0);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_get_postedDate_when_parsing_recent_feed()
|
||||
{
|
||||
var expectedAge = DateTime.Today.Subtract(new DateTime(2012, 12, 21)).Days;
|
||||
|
||||
Mocker.GetMock<HttpProvider>()
|
||||
.Setup(h => h.DownloadString("https://nzbx.co/api/recent?category=tv", It.IsAny<NetworkCredential>()))
|
||||
.Returns(File.ReadAllText(".\\Files\\Rss\\SizeParsing\\nzbx_recent.json"));
|
||||
|
||||
//Act
|
||||
var parseResults = Mocker.Resolve<Nzbx>().FetchRss();
|
||||
|
||||
parseResults.Should().HaveCount(1);
|
||||
parseResults[0].Age.Should().Be(expectedAge);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_get_postedDate_when_parsing_search_results()
|
||||
{
|
||||
var expectedAge = DateTime.Today.Subtract(new DateTime(2012, 2, 11)).Days;
|
||||
|
||||
Mocker.GetMock<HttpProvider>()
|
||||
.Setup(h => h.DownloadString("https://nzbx.co/api/search?q=30+Rock+S01E01", It.IsAny<NetworkCredential>()))
|
||||
.Returns(File.ReadAllText(".\\Files\\Rss\\SizeParsing\\nzbx_search.json"));
|
||||
|
||||
//Act
|
||||
var parseResults = Mocker.Resolve<Nzbx>().FetchEpisode("30 Rock", 1, 1);
|
||||
|
||||
parseResults.Should().HaveCount(1);
|
||||
parseResults[0].Age.Should().Be(expectedAge);
|
||||
}
|
||||
}
|
||||
}
|
@ -63,9 +63,9 @@
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\Libraries\DeskMetrics\DeskMetrics.NET.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="EntityFramework, Version=4.3.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||
<Reference Include="EntityFramework, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\EntityFramework.4.3.0\lib\net40\EntityFramework.dll</HintPath>
|
||||
<HintPath>..\packages\EntityFramework.4.3.1\lib\net40\EntityFramework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="FizzWare.NBuilder, Version=3.0.1.0, Culture=neutral, PublicKeyToken=5651b03e12e42c12, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NBuilder.3.0.1.1\lib\FizzWare.NBuilder.dll</HintPath>
|
||||
@ -123,11 +123,11 @@
|
||||
<Reference Include="System.Data.Entity" />
|
||||
<Reference Include="System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
|
||||
<Private>True</Private>
|
||||
<HintPath>..\packages\SqlServerCompact.4.0.8482.1\lib\System.Data.SqlServerCe.dll</HintPath>
|
||||
<HintPath>..\packages\Microsoft.SqlServer.Compact.4.0.8876.1\lib\net40\System.Data.SqlServerCe.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Data.SqlServerCe.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\EntityFramework.SqlServerCompact.4.1.8482.2\lib\System.Data.SqlServerCe.Entity.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<HintPath>..\packages\EntityFramework.SqlServerCompact.4.3.6\lib\net40\System.Data.SqlServerCe.Entity.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.ServiceModel" />
|
||||
@ -145,6 +145,7 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="HelperTests\XElementHelperTests\ConvertToTFixture.cs" />
|
||||
<Compile Include="IndexerTests\NzbxFixture.cs" />
|
||||
<Compile Include="JobTests\RenameSeasonJobFixture.cs" />
|
||||
<Compile Include="ProviderTests\SearchProviderTests\GetSeriesTitleFixture.cs" />
|
||||
<Compile Include="ProviderTests\TvRageMappingProviderTests\FindMatchingTvRageSeriesFixture.cs" />
|
||||
@ -237,7 +238,7 @@
|
||||
<Compile Include="EpisodeStatusTest.cs" />
|
||||
<Compile Include="JobTests\ImportNewSeriesJobTest.cs" />
|
||||
<Compile Include="JobTests\DiskScanJobTest.cs" />
|
||||
<Compile Include="IndexerTests.cs" />
|
||||
<Compile Include="IndexerTests\IndexerFixture.cs" />
|
||||
<Compile Include="ProviderTests\DecisionEngineTests\AllowedDownloadSpecificationFixture.cs" />
|
||||
<Compile Include="ProviderTests\JobProviderTests\JobProviderFixture.cs" />
|
||||
<Compile Include="QualityTest.cs" />
|
||||
@ -293,6 +294,12 @@
|
||||
<Content Include="Files\JsonError.txt">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<None Include="Files\RSS\nzbx_search.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Files\RSS\nzbx_recent.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<Content Include="Files\RSS\omgwtfnzbs.xml">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
@ -373,6 +380,12 @@
|
||||
<SubType>Designer</SubType>
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<None Include="Files\RSS\SizeParsing\nzbx_recent.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Files\RSS\SizeParsing\nzbx_search.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Files\SceneMappings.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
@ -388,9 +401,8 @@
|
||||
</PreBuildEvent>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
xcopy /s /y "$(SolutionDir)packages\SqlServerCompact.4.0.8482.1\NativeBinaries\x86\*.*" "$(TargetDir)"
|
||||
</PostBuildEvent>
|
||||
<PostBuildEvent>if not exist "$(TargetDir)x86" md "$(TargetDir)x86"
|
||||
xcopy /s /y "$(SolutionDir)packages\Microsoft.SqlServer.Compact.4.0.8876.1\NativeBinaries\x86\*.*" "$(TargetDir)x86"</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
|
@ -73,7 +73,8 @@ public class QualityParserTests : CoreTest
|
||||
new object[] { "Glee.S04E09.Swan.Song.1080p.WEB-DL.DD5.1.H.264-ECI", QualityTypes.WEBDL1080p, false },
|
||||
new object[] { "Elementary.S01E10.The.Leviathan.480p.WEB-DL.x264-mSD", QualityTypes.WEBDL480p, false },
|
||||
new object[] { "Glee.S04E10.Glee.Actually.480p.WEB-DL.x264-mSD", QualityTypes.WEBDL480p, false },
|
||||
new object[] { "The.Big.Bang.Theory.S06E11.The.Santa.Simulation.480p.WEB-DL.x264-mSD", QualityTypes.WEBDL480p, false }
|
||||
new object[] { "The.Big.Bang.Theory.S06E11.The.Santa.Simulation.480p.WEB-DL.x264-mSD", QualityTypes.WEBDL480p, false },
|
||||
new object[] { "The.Big.Bang.Theory.S06E11.The.Santa.Simulation.1080p.WEB-DL.DD5.1.H.264", QualityTypes.WEBDL1080p, false }
|
||||
};
|
||||
|
||||
public static object[] SelfQualityParserCases =
|
||||
|
@ -2,9 +2,10 @@
|
||||
<packages>
|
||||
<package id="AutoMoq" version="1.6.1" targetFramework="net40" />
|
||||
<package id="CommonServiceLocator" version="1.0" targetFramework="net40" />
|
||||
<package id="EntityFramework" version="4.3.0" />
|
||||
<package id="EntityFramework.SqlServerCompact" version="4.1.8482.2" />
|
||||
<package id="EntityFramework" version="4.3.1" targetFramework="net40" />
|
||||
<package id="EntityFramework.SqlServerCompact" version="4.3.6" targetFramework="net40" />
|
||||
<package id="FluentAssertions" version="1.7.0" />
|
||||
<package id="Microsoft.SqlServer.Compact" version="4.0.8876.1" targetFramework="net40" />
|
||||
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" />
|
||||
<package id="Moq" version="4.0.10827" />
|
||||
<package id="NBuilder" version="3.0.1.1" />
|
||||
@ -14,7 +15,6 @@
|
||||
<package id="NUnit" version="2.6.0.12054" />
|
||||
<package id="Prowlin" version="0.9.4456.26422" targetFramework="net40" />
|
||||
<package id="SignalR.Server" version="0.5.3" targetFramework="net40" />
|
||||
<package id="SqlServerCompact" version="4.0.8482.1" />
|
||||
<package id="Unity" version="2.1.505.2" targetFramework="net40" />
|
||||
<package id="WebActivator" version="1.5" />
|
||||
</packages>
|
@ -2,6 +2,14 @@
|
||||
<configuration>
|
||||
<configSections>
|
||||
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
|
||||
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
|
||||
</configSections>
|
||||
<entityFramework>
|
||||
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework">
|
||||
<parameters>
|
||||
<parameter value="System.Data.SqlServerCe.4.0" />
|
||||
</parameters>
|
||||
</defaultConnectionFactory>
|
||||
</entityFramework>
|
||||
</configuration>
|
@ -91,6 +91,7 @@ private void InitIndexers()
|
||||
Kernel.Bind<IndexerBase>().To<NzbIndex>();
|
||||
Kernel.Bind<IndexerBase>().To<NzbClub>();
|
||||
Kernel.Bind<IndexerBase>().To<Omgwtfnzbs>();
|
||||
Kernel.Bind<IndexerBase>().To<Nzbx>();
|
||||
|
||||
var indexers = Kernel.GetAll<IndexerBase>();
|
||||
Kernel.Get<IndexerProvider>().InitializeIndexers(indexers.ToList());
|
||||
|
@ -9,6 +9,11 @@ namespace NzbDrone.Core
|
||||
{
|
||||
public static class Fluent
|
||||
{
|
||||
private const Decimal ONE_KILOBYTE = 1024M;
|
||||
private const Decimal ONE_MEGABYTE = ONE_KILOBYTE * 1024M;
|
||||
private const Decimal ONE_GIGABYTE = ONE_MEGABYTE * 1024M;
|
||||
private const Decimal ONE_TERABYTE = ONE_GIGABYTE * 1024M;
|
||||
|
||||
public static string WithDefault(this string actual, object defaultValue)
|
||||
{
|
||||
if (defaultValue == null)
|
||||
@ -107,10 +112,6 @@ public static string AddSpacesToEnum(this Enum enumValue)
|
||||
return newText.ToString();
|
||||
}
|
||||
|
||||
private const Decimal ONE_KILOBYTE = 1024M;
|
||||
private const Decimal ONE_MEGABYTE = ONE_KILOBYTE * 1024M;
|
||||
private const Decimal ONE_GIGABYTE = ONE_MEGABYTE * 1024M;
|
||||
|
||||
public static string ToBestFileSize(this long bytes, int precision = 0)
|
||||
{
|
||||
var ulongBytes = (ulong)bytes;
|
||||
@ -126,7 +127,13 @@ public static string ToBestFileSize(this ulong bytes, int precision = 0)
|
||||
|
||||
string suffix;
|
||||
|
||||
if (size > ONE_GIGABYTE)
|
||||
if (size > ONE_TERABYTE)
|
||||
{
|
||||
size /= ONE_TERABYTE;
|
||||
suffix = "TB";
|
||||
}
|
||||
|
||||
else if (size > ONE_GIGABYTE)
|
||||
{
|
||||
size /= ONE_GIGABYTE;
|
||||
suffix = "GB";
|
||||
|
50
NzbDrone.Core/Helpers/Converters/EpochDateTimeConverter.cs
Normal file
50
NzbDrone.Core/Helpers/Converters/EpochDateTimeConverter.cs
Normal file
@ -0,0 +1,50 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Converters;
|
||||
|
||||
namespace NzbDrone.Core.Helpers.Converters
|
||||
{
|
||||
public class EpochDateTimeConverter : DateTimeConverterBase
|
||||
{
|
||||
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
|
||||
{
|
||||
long ticks;
|
||||
if (value is DateTime)
|
||||
{
|
||||
var epoch = new DateTime(1970, 1, 1);
|
||||
var delta = ((DateTime)value) - epoch;
|
||||
if (delta.TotalSeconds < 0)
|
||||
{
|
||||
throw new ArgumentOutOfRangeException("value",
|
||||
"Unix epoc starts January 1st, 1970");
|
||||
}
|
||||
ticks = (long)delta.TotalSeconds;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("Expected date object value.");
|
||||
}
|
||||
writer.WriteValue(ticks);
|
||||
}
|
||||
|
||||
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
|
||||
{
|
||||
if (reader.TokenType != JsonToken.Integer)
|
||||
{
|
||||
throw new Exception(
|
||||
String.Format("Unexpected token parsing date. Expected Integer, got {0}.",
|
||||
reader.TokenType));
|
||||
}
|
||||
|
||||
var ticks = (long)reader.Value;
|
||||
|
||||
var date = new DateTime(1970, 1, 1);
|
||||
date = date.AddSeconds(ticks);
|
||||
|
||||
return date;
|
||||
}
|
||||
}
|
||||
}
|
@ -46,12 +46,12 @@ public ImportNewSeriesJob(SeriesProvider seriesProvider, EpisodeProvider episode
|
||||
|
||||
public string Name
|
||||
{
|
||||
get { return "New Series Update"; }
|
||||
get { return "Import New Series"; }
|
||||
}
|
||||
|
||||
public TimeSpan DefaultInterval
|
||||
{
|
||||
get { return TimeSpan.FromMinutes(1); }
|
||||
get { return TimeSpan.FromHours(6); }
|
||||
}
|
||||
|
||||
public void Start(ProgressNotification notification, dynamic options)
|
||||
|
47
NzbDrone.Core/Model/Nzbx/NzbxRecentItem.cs
Normal file
47
NzbDrone.Core/Model/Nzbx/NzbxRecentItem.cs
Normal file
@ -0,0 +1,47 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace NzbDrone.Core.Model.Nzbx
|
||||
{
|
||||
public class NzbxRecentItem
|
||||
{
|
||||
//"ID": "571777",
|
||||
//"name": "Cak4QCQG",
|
||||
//"totalpart": "10",
|
||||
//"groupID": "99",
|
||||
//"size": "890190951",
|
||||
//"postdate": "2012-12-20 18:14:13",
|
||||
//"guid": "48714abb00a095e00fbcbe161253abf6",
|
||||
//"fromname": "#cripples <masturb@ting.in.wheelchairs>",
|
||||
//"completion": "100",
|
||||
//"categoryID": "5050",
|
||||
//"imdbID": null,
|
||||
//"anidbID": null,
|
||||
//"rageID": "-1",
|
||||
//"comments": "0",
|
||||
//"downloads": "3",
|
||||
//"votes": {
|
||||
// "upvotes": 0,
|
||||
// "downvotes": 0
|
||||
//}
|
||||
|
||||
public int Id { get; set; }
|
||||
public string Name { get; set; }
|
||||
public int TotalPart { get; set; }
|
||||
public int GroupId { get; set; }
|
||||
public long Size { get; set; }
|
||||
public DateTime PostDate { get; set; }
|
||||
public string Guid { get; set; }
|
||||
public string FromName { get; set; }
|
||||
public int Completion { get; set; }
|
||||
public int CategoryId { get; set; }
|
||||
public string ImdbId { get; set; }
|
||||
public string AnidbId { get; set; }
|
||||
public int RageId { get; set; }
|
||||
public int Comments { get; set; }
|
||||
public int Downloads { get; set; }
|
||||
public NzbxVotesModel Votes { get; set; }
|
||||
}
|
||||
}
|
56
NzbDrone.Core/Model/Nzbx/NzbxSearchItem.cs
Normal file
56
NzbDrone.Core/Model/Nzbx/NzbxSearchItem.cs
Normal file
@ -0,0 +1,56 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Newtonsoft.Json;
|
||||
using NzbDrone.Core.Helpers.Converters;
|
||||
|
||||
namespace NzbDrone.Core.Model.Nzbx
|
||||
{
|
||||
public class NzbxSearchItem
|
||||
{
|
||||
//"name": "30.Rock.S06E06E07.HDTV.XviD-LOL",
|
||||
//"fromname": "teevee@4u.tv (teevee)",
|
||||
//"size": 418067671,
|
||||
//"groupid": 4,
|
||||
//"categoryid": 5030,
|
||||
//"totalpart": 36,
|
||||
//"completion": 100,
|
||||
//"rageid": "-1",
|
||||
//"imdbid": "",
|
||||
//"comments": "0",
|
||||
//"guid": "97be14dbf1776eec4fb8f2bb835935c0",
|
||||
//"adddate": 1355343562,
|
||||
//"postdate": 1328839361,
|
||||
//"downloads": "0",
|
||||
//"votes": {
|
||||
|
||||
// "upvotes": 0,
|
||||
// "downvotes": 0
|
||||
|
||||
//},
|
||||
//"nzb": "https://nzbx.co/nzb?97be14dbf1776eec4fb8f2bb835935c0*|*30.Rock.S06E06E07.HDTV.XviD-LOL
|
||||
|
||||
public string Name { get; set; }
|
||||
public int TotalPart { get; set; }
|
||||
public int GroupId { get; set; }
|
||||
public long Size { get; set; }
|
||||
|
||||
[JsonConverter(typeof(EpochDateTimeConverter))]
|
||||
public DateTime AddDate { get; set; }
|
||||
|
||||
[JsonConverter(typeof(EpochDateTimeConverter))]
|
||||
public DateTime PostDate { get; set; }
|
||||
|
||||
public string Guid { get; set; }
|
||||
public string FromName { get; set; }
|
||||
public int Completion { get; set; }
|
||||
public int CategoryId { get; set; }
|
||||
public string ImdbId { get; set; }
|
||||
public int RageId { get; set; }
|
||||
public int Comments { get; set; }
|
||||
public int Downloads { get; set; }
|
||||
public NzbxVotesModel Votes { get; set; }
|
||||
public string Nzb { get; set; }
|
||||
}
|
||||
}
|
13
NzbDrone.Core/Model/Nzbx/NzbxVotesModel.cs
Normal file
13
NzbDrone.Core/Model/Nzbx/NzbxVotesModel.cs
Normal file
@ -0,0 +1,13 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace NzbDrone.Core.Model.Nzbx
|
||||
{
|
||||
public class NzbxVotesModel
|
||||
{
|
||||
public int Up { get; set; }
|
||||
public int Down { get; set; }
|
||||
}
|
||||
}
|
@ -130,9 +130,9 @@
|
||||
<Reference Include="DeskMetrics.NET">
|
||||
<HintPath>..\Libraries\DeskMetrics\DeskMetrics.NET.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="EntityFramework, Version=4.3.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||
<Reference Include="EntityFramework, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\EntityFramework.4.3.0\lib\net40\EntityFramework.dll</HintPath>
|
||||
<HintPath>..\packages\EntityFramework.4.3.1\lib\net40\EntityFramework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Growl.Connector">
|
||||
<HintPath>..\packages\Growl.0.6\lib\Growl.Connector.dll</HintPath>
|
||||
@ -195,11 +195,11 @@
|
||||
<Reference Include="System.Data.Entity" />
|
||||
<Reference Include="System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
|
||||
<Private>True</Private>
|
||||
<HintPath>..\packages\SqlServerCompact.4.0.8482.1\lib\System.Data.SqlServerCe.dll</HintPath>
|
||||
<HintPath>..\packages\Microsoft.SqlServer.Compact.4.0.8876.1\lib\net40\System.Data.SqlServerCe.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Data.SqlServerCe.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\EntityFramework.SqlServerCompact.4.1.8482.2\lib\System.Data.SqlServerCe.Entity.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<HintPath>..\packages\EntityFramework.SqlServerCompact.4.3.6\lib\net40\System.Data.SqlServerCe.Entity.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.ServiceModel" />
|
||||
@ -259,6 +259,7 @@
|
||||
<Compile Include="Datastore\Migrations\SchemaInfo.cs" />
|
||||
<Compile Include="Datastore\PetaPoco\EpisodeSeasonRelator.cs" />
|
||||
<Compile Include="Fluent.cs" />
|
||||
<Compile Include="Helpers\Converters\EpochDateTimeConverter.cs" />
|
||||
<Compile Include="Helpers\SabnzbdQueueTimeConverter.cs" />
|
||||
<Compile Include="Helpers\EpisodeSortingHelper.cs" />
|
||||
<Compile Include="Helpers\SortHelper.cs" />
|
||||
@ -279,6 +280,9 @@
|
||||
<Compile Include="Model\AtomicParsleyTitleType.cs" />
|
||||
<Compile Include="Model\ConnectionInfoModel.cs" />
|
||||
<Compile Include="Model\BacklogSettingType.cs" />
|
||||
<Compile Include="Model\Nzbx\NzbxSearchItem.cs" />
|
||||
<Compile Include="Model\Nzbx\NzbxRecentItem.cs" />
|
||||
<Compile Include="Model\Nzbx\NzbxVotesModel.cs" />
|
||||
<Compile Include="Model\PostDownloadStatusType.cs" />
|
||||
<Compile Include="Model\JobQueueItem.cs" />
|
||||
<Compile Include="Model\LanguageType.cs" />
|
||||
@ -315,6 +319,7 @@
|
||||
<Compile Include="Providers\DecisionEngine\AllowedReleaseGroupSpecification.cs" />
|
||||
<Compile Include="Providers\DecisionEngine\CustomStartDateSpecification.cs" />
|
||||
<Compile Include="Providers\DownloadClients\PneumaticProvider.cs" />
|
||||
<Compile Include="Providers\Indexer\Nzbx.cs" />
|
||||
<Compile Include="Providers\Hubs\EpisodeHub.cs" />
|
||||
<Compile Include="Providers\Indexer\NzbClub.cs" />
|
||||
<Compile Include="Providers\Indexer\NzbIndex.cs" />
|
||||
@ -618,7 +623,11 @@
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
if not exist "$(TargetDir)x86" md "$(TargetDir)x86"
|
||||
xcopy /s /y "$(SolutionDir)packages\SqlServerCompact.4.0.8482.1\NativeBinaries\x86\*.*" "$(TargetDir)x86"</PostBuildEvent>
|
||||
xcopy /s /y "$(SolutionDir)packages\SqlServerCompact.4.0.8482.1\NativeBinaries\x86\*.*" "$(TargetDir)x86"
|
||||
if not exist "$(TargetDir)x86" md "$(TargetDir)x86"
|
||||
xcopy /s /y "$(SolutionDir)packages\Microsoft.SqlServer.Compact.4.0.8876.1\NativeBinaries\x86\*.*" "$(TargetDir)x86"
|
||||
if not exist "$(TargetDir)amd64" md "$(TargetDir)amd64"
|
||||
xcopy /s /y "$(SolutionDir)packages\Microsoft.SqlServer.Compact.4.0.8876.1\NativeBinaries\amd64\*.*" "$(TargetDir)amd64"</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
|
@ -15,7 +15,7 @@ namespace NzbDrone.Core.Providers.Indexer
|
||||
public abstract class IndexerBase
|
||||
{
|
||||
protected readonly Logger _logger;
|
||||
private readonly HttpProvider _httpProvider;
|
||||
protected readonly HttpProvider _httpProvider;
|
||||
protected readonly ConfigProvider _configProvider;
|
||||
|
||||
protected static readonly Regex TitleSearchRegex = new Regex(@"[\W]", RegexOptions.IgnoreCase | RegexOptions.Compiled);
|
||||
@ -170,7 +170,7 @@ public virtual IList<EpisodeParseResult> FetchDailyEpisode(string seriesTitle, D
|
||||
|
||||
}
|
||||
|
||||
private List<EpisodeParseResult> Fetch(IEnumerable<string> urls)
|
||||
protected virtual List<EpisodeParseResult> Fetch(IEnumerable<string> urls)
|
||||
{
|
||||
var result = new List<EpisodeParseResult>();
|
||||
|
||||
|
@ -113,7 +113,7 @@ protected override EpisodeParseResult CustomParser(SyndicationItem item, Episode
|
||||
|
||||
public override bool EnabledByDefault
|
||||
{
|
||||
get { return true; }
|
||||
get { return false; }
|
||||
}
|
||||
|
||||
protected override string TitlePreParser(SyndicationItem item)
|
||||
|
232
NzbDrone.Core/Providers/Indexer/Nzbx.cs
Normal file
232
NzbDrone.Core/Providers/Indexer/Nzbx.cs
Normal file
@ -0,0 +1,232 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.ServiceModel.Syndication;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using Newtonsoft.Json;
|
||||
using Ninject;
|
||||
using NzbDrone.Common;
|
||||
using NzbDrone.Core.Model;
|
||||
using NzbDrone.Core.Model.Nzbx;
|
||||
using NzbDrone.Core.Providers.Core;
|
||||
|
||||
namespace NzbDrone.Core.Providers.Indexer
|
||||
{
|
||||
class Nzbx : IndexerBase
|
||||
{
|
||||
[Inject]
|
||||
public Nzbx(HttpProvider httpProvider, ConfigProvider configProvider)
|
||||
: base(httpProvider, configProvider)
|
||||
{
|
||||
}
|
||||
|
||||
public override string Name
|
||||
{
|
||||
get { return "nzbx"; }
|
||||
}
|
||||
|
||||
protected override string[] Urls
|
||||
{
|
||||
get
|
||||
{
|
||||
return new string[]
|
||||
{
|
||||
String.Format("https://nzbx.co/api/recent?category=tv")
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
public override bool IsConfigured
|
||||
{
|
||||
get
|
||||
{
|
||||
return true;
|
||||
//return !string.IsNullOrWhiteSpace(_configProvider.OmgwtfnzbsUsername) &&
|
||||
// !string.IsNullOrWhiteSpace(_configProvider.OmgwtfnzbsApiKey);
|
||||
}
|
||||
}
|
||||
|
||||
protected override IList<string> GetEpisodeSearchUrls(string seriesTitle, int seasonNumber, int episodeNumber)
|
||||
{
|
||||
var searchUrls = new List<String>();
|
||||
|
||||
searchUrls.Add(String.Format("https://nzbx.co/api/search?q={0}+S{1:00}E{2:00}", seriesTitle, seasonNumber, episodeNumber));
|
||||
|
||||
return searchUrls;
|
||||
}
|
||||
|
||||
protected override IList<string> GetDailyEpisodeSearchUrls(string seriesTitle, DateTime date)
|
||||
{
|
||||
var searchUrls = new List<String>();
|
||||
|
||||
searchUrls.Add(String.Format("https://nzbx.co/api/search?q={0}+{1:yyyy MM dd}", seriesTitle, date));
|
||||
|
||||
return searchUrls;
|
||||
}
|
||||
|
||||
protected override IList<string> GetSeasonSearchUrls(string seriesTitle, int seasonNumber)
|
||||
{
|
||||
var searchUrls = new List<String>();
|
||||
|
||||
searchUrls.Add(String.Format("https://nzbx.co/api/search?q={0}+S{1:00}", seriesTitle, seasonNumber));
|
||||
|
||||
return searchUrls;
|
||||
}
|
||||
|
||||
protected override IList<string> GetPartialSeasonSearchUrls(string seriesTitle, int seasonNumber, int episodeWildcard)
|
||||
{
|
||||
var searchUrls = new List<String>();
|
||||
|
||||
searchUrls.Add(String.Format("https://nzbx.co/api/search?q={0}+S{1:00}E{2}", seriesTitle, seasonNumber, episodeWildcard));
|
||||
|
||||
return searchUrls;
|
||||
}
|
||||
|
||||
protected override string NzbDownloadUrl(SyndicationItem item)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
protected override string NzbInfoUrl(SyndicationItem item)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
protected override EpisodeParseResult CustomParser(SyndicationItem item, EpisodeParseResult currentResult)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override IList<EpisodeParseResult> FetchRss()
|
||||
{
|
||||
_logger.Debug("Fetching feeds from " + Name);
|
||||
|
||||
var result = new List<EpisodeParseResult>();
|
||||
|
||||
if (!IsConfigured)
|
||||
{
|
||||
_logger.Warn("Indexer '{0}' isn't configured correctly. please reconfigure the indexer in settings page.", Name);
|
||||
return result;
|
||||
}
|
||||
|
||||
foreach (var url in Urls)
|
||||
{
|
||||
var response = Download(url);
|
||||
|
||||
if (response != null)
|
||||
{
|
||||
var feed = JsonConvert.DeserializeObject<List<NzbxRecentItem>>(response);
|
||||
|
||||
foreach (var item in feed)
|
||||
{
|
||||
try
|
||||
{
|
||||
var episodeParseResult = Parser.ParseTitle(item.Name);
|
||||
if (episodeParseResult != null)
|
||||
{
|
||||
episodeParseResult.Age = DateTime.Now.Date.Subtract(item.PostDate).Days;
|
||||
episodeParseResult.OriginalString = item.Name;
|
||||
episodeParseResult.SceneSource = true;
|
||||
episodeParseResult.NzbUrl = String.Format("http://nzbx.co/nzb?{0}", item.Guid);
|
||||
episodeParseResult.Indexer = Name;
|
||||
episodeParseResult.Size = item.Size;
|
||||
|
||||
result.Add(episodeParseResult);
|
||||
}
|
||||
}
|
||||
catch (Exception itemEx)
|
||||
{
|
||||
itemEx.Data.Add("FeedUrl", url);
|
||||
itemEx.Data.Add("Item", item.Name);
|
||||
_logger.ErrorException("An error occurred while processing feed item", itemEx);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_logger.Debug("Finished processing feeds from " + Name);
|
||||
return result;
|
||||
}
|
||||
|
||||
protected override List<EpisodeParseResult> Fetch(IEnumerable<string> urls)
|
||||
{
|
||||
var result = new List<EpisodeParseResult>();
|
||||
|
||||
if (!IsConfigured)
|
||||
{
|
||||
_logger.Warn("Indexer '{0}' isn't configured correctly. please reconfigure the indexer in settings page.", Name);
|
||||
return result;
|
||||
}
|
||||
|
||||
foreach (var url in urls)
|
||||
{
|
||||
var response = Download(url);
|
||||
|
||||
if(response != null)
|
||||
{
|
||||
var feed = JsonConvert.DeserializeObject<List<NzbxSearchItem>>(response);
|
||||
|
||||
foreach (var item in feed)
|
||||
{
|
||||
try
|
||||
{
|
||||
var episodeParseResult = Parser.ParseTitle(item.Name);
|
||||
if (episodeParseResult != null)
|
||||
{
|
||||
episodeParseResult.Age = DateTime.Now.Date.Subtract(item.PostDate).Days;
|
||||
episodeParseResult.OriginalString = item.Name;
|
||||
episodeParseResult.SceneSource = true;
|
||||
episodeParseResult.NzbUrl = item.Nzb;
|
||||
episodeParseResult.Indexer = Name;
|
||||
episodeParseResult.Size = item.Size;
|
||||
|
||||
result.Add(episodeParseResult);
|
||||
}
|
||||
}
|
||||
catch (Exception itemEx)
|
||||
{
|
||||
itemEx.Data.Add("FeedUrl", url);
|
||||
itemEx.Data.Add("Item", item.Name);
|
||||
_logger.ErrorException("An error occurred while processing feed item", itemEx);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private string Download(string url)
|
||||
{
|
||||
try
|
||||
{
|
||||
_logger.Trace("Downloading RSS " + url);
|
||||
|
||||
return _httpProvider.DownloadString(url, Credentials);
|
||||
}
|
||||
catch (WebException webException)
|
||||
{
|
||||
if (webException.Message.Contains("503"))
|
||||
{
|
||||
_logger.Warn("{0} server is currently unavailable.{1} {2}", Name, url, webException.Message);
|
||||
}
|
||||
else
|
||||
{
|
||||
webException.Data.Add("FeedUrl", url);
|
||||
_logger.ErrorException("An error occurred while processing feed. " + url, webException);
|
||||
}
|
||||
}
|
||||
catch (Exception feedEx)
|
||||
{
|
||||
feedEx.Data.Add("FeedUrl", url);
|
||||
_logger.ErrorException("An error occurred while processing feed. " + url, feedEx);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
@ -87,5 +87,22 @@ public virtual List<RootDir> AllWithFreeSpace()
|
||||
|
||||
return rootDirs;
|
||||
}
|
||||
|
||||
public virtual Dictionary<string, ulong> FreeSpaceOnDrives()
|
||||
{
|
||||
var freeSpace = new Dictionary<string, ulong>();
|
||||
|
||||
var rootDirs = GetAll();
|
||||
|
||||
foreach (var rootDir in rootDirs)
|
||||
{
|
||||
var pathRoot = _diskProvider.GetPathRoot(rootDir.Path);
|
||||
|
||||
if (!freeSpace.ContainsKey(pathRoot))
|
||||
freeSpace.Add(pathRoot, _diskProvider.FreeDiskSpace(new DirectoryInfo(rootDir.Path)));
|
||||
}
|
||||
|
||||
return freeSpace;
|
||||
}
|
||||
}
|
||||
}
|
@ -2,9 +2,10 @@
|
||||
<packages>
|
||||
<package id="DataTables.Mvc.Core" version="0.1.0.85" />
|
||||
<package id="DotNetZip" version="1.9.1.8" />
|
||||
<package id="EntityFramework" version="4.3.0" />
|
||||
<package id="EntityFramework.SqlServerCompact" version="4.1.8482.2" />
|
||||
<package id="EntityFramework" version="4.3.1" targetFramework="net40" />
|
||||
<package id="EntityFramework.SqlServerCompact" version="4.3.6" targetFramework="net40" />
|
||||
<package id="Growl" version="0.6" />
|
||||
<package id="Microsoft.SqlServer.Compact" version="4.0.8876.1" targetFramework="net40" />
|
||||
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" />
|
||||
<package id="MiniProfiler" version="2.0.2" />
|
||||
<package id="Newtonsoft.Json" version="4.5.11" targetFramework="net40" />
|
||||
@ -14,7 +15,7 @@
|
||||
<package id="SignalR.Hosting.AspNet" version="0.5.3" targetFramework="net40" />
|
||||
<package id="SignalR.Hosting.Common" version="0.5.3" targetFramework="net40" />
|
||||
<package id="SignalR.Server" version="0.5.3" targetFramework="net40" />
|
||||
<package id="SqlServerCompact" version="4.0.8482.1" />
|
||||
<package id="SqlServerCompact" version="4.0.8854.1" targetFramework="net40" />
|
||||
<package id="twitterizer" version="2.4.0.26532" />
|
||||
<package id="WebActivator" version="1.5" />
|
||||
</packages>
|
@ -1,12 +0,0 @@
|
||||
using System.Data.Entity;
|
||||
using System.Data.Entity.Infrastructure;
|
||||
|
||||
[assembly: WebActivator.PreApplicationStartMethod(typeof(NzbDrone.Web.App_Start.EntityFramework_SqlServerCompact), "Start")]
|
||||
|
||||
namespace NzbDrone.Web.App_Start {
|
||||
public static class EntityFramework_SqlServerCompact {
|
||||
public static void Start() {
|
||||
Database.DefaultConnectionFactory = new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0");
|
||||
}
|
||||
}
|
||||
}
|
BIN
NzbDrone.Web/Content/Images/Indexers/nzbx.png
Normal file
BIN
NzbDrone.Web/Content/Images/Indexers/nzbx.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 665 B |
@ -16,7 +16,7 @@ body
|
||||
margin-right: auto;
|
||||
width: 85%;
|
||||
margin-left: auto;
|
||||
min-width: 850px;
|
||||
min-width: 1050px;
|
||||
max-width: 1400px;
|
||||
}
|
||||
|
||||
@ -102,8 +102,6 @@ hr
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.sub-field
|
||||
{
|
||||
width: 70%;
|
||||
@ -299,4 +297,28 @@ i[class*="icon-"]:not(.gridAction):hover {
|
||||
|
||||
.free-space span {
|
||||
color: #191919;
|
||||
}
|
||||
|
||||
#free-space-small {
|
||||
font-size: 18px;
|
||||
display: none;
|
||||
width: 23px;
|
||||
margin-top: 2px;
|
||||
padding-left: 3px;
|
||||
padding-right: 3px;
|
||||
height: 28px;
|
||||
line-height: 24px;
|
||||
background-color: #6e6e6e;
|
||||
color: #d0d0d0;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
@media all and (max-width: 1500px) {
|
||||
.free-space {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#free-space-small {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
@ -111,6 +111,7 @@ public ActionResult Indexers()
|
||||
NzbIndexEnabled = _indexerProvider.GetSettings(typeof(NzbIndex)).Enable,
|
||||
NzbClubEnabled = _indexerProvider.GetSettings(typeof(NzbClub)).Enable,
|
||||
OmgwtfnzbsEnabled = _indexerProvider.GetSettings(typeof(Omgwtfnzbs)).Enable,
|
||||
NzbxEnabled = _indexerProvider.GetSettings(typeof(Nzbx)).Enable,
|
||||
|
||||
RssSyncInterval = _configProvider.RssSyncInterval,
|
||||
|
||||
@ -404,6 +405,10 @@ public JsonResult SaveIndexers(IndexerSettingsModel data)
|
||||
omgwtfnzbsSettings.Enable = data.OmgwtfnzbsEnabled;
|
||||
_indexerProvider.SaveSettings(omgwtfnzbsSettings);
|
||||
|
||||
var nzbxSettings = _indexerProvider.GetSettings(typeof(Nzbx));
|
||||
nzbxSettings.Enable = data.NzbxEnabled;
|
||||
_indexerProvider.SaveSettings(nzbxSettings);
|
||||
|
||||
_configProvider.NzbsrusUId = data.NzbsrusUId;
|
||||
_configProvider.NzbsrusHash = data.NzbsrusHash;
|
||||
|
||||
|
@ -32,7 +32,7 @@ public ActionResult Footer()
|
||||
[OutputCache(Duration = 600)]
|
||||
public ActionResult FreeSpace()
|
||||
{
|
||||
var rootDirs = _rootDirProvider.AllWithFreeSpace();
|
||||
var rootDirs = _rootDirProvider.FreeSpaceOnDrives();
|
||||
|
||||
return PartialView(rootDirs);
|
||||
}
|
||||
|
@ -79,6 +79,10 @@ public class IndexerSettingsModel
|
||||
[Description("Enable downloading episodes from omgwtfnzbs")]
|
||||
public bool OmgwtfnzbsEnabled { get; set; }
|
||||
|
||||
[DisplayName("nzbx")]
|
||||
[Description("Enable downloading episodes from nzbx")]
|
||||
public bool NzbxEnabled { get; set; }
|
||||
|
||||
[Required(ErrorMessage = "Please enter a valid number of days")]
|
||||
[DataType(DataType.Text)]
|
||||
[DisplayName("Retention")]
|
||||
|
@ -60,8 +60,9 @@
|
||||
<Reference Include="Dynamic">
|
||||
<HintPath>..\packages\DynamicQuery.1.0\lib\35\Dynamic.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="EntityFramework, Version=4.3.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\EntityFramework.4.3.0\lib\net40\EntityFramework.dll</HintPath>
|
||||
<Reference Include="EntityFramework, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\EntityFramework.4.3.1\lib\net40\EntityFramework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="LowercaseRoutesMVC">
|
||||
<HintPath>..\packages\LowercaseRoutesMVC.1.0.3\lib\LowercaseRoutesMVC.dll</HintPath>
|
||||
@ -150,11 +151,11 @@
|
||||
<Reference Include="System.Data.Entity" />
|
||||
<Reference Include="System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
|
||||
<Private>True</Private>
|
||||
<HintPath>..\packages\SqlServerCompact.4.0.8482.1\lib\System.Data.SqlServerCe.dll</HintPath>
|
||||
<HintPath>..\packages\Microsoft.SqlServer.Compact.4.0.8876.1\lib\net40\System.Data.SqlServerCe.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Data.SqlServerCe.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
|
||||
<Private>True</Private>
|
||||
<HintPath>..\packages\EntityFramework.SqlServerCompact.4.1.8482.2\lib\System.Data.SqlServerCe.Entity.dll</HintPath>
|
||||
<HintPath>..\packages\EntityFramework.SqlServerCompact.4.3.6\lib\net40\System.Data.SqlServerCe.Entity.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.Serialization" />
|
||||
<Reference Include="System.Transactions" />
|
||||
@ -252,7 +253,6 @@
|
||||
<Compile Include="..\NzbDrone.Common\Properties\SharedAssemblyInfo.cs">
|
||||
<Link>Properties\SharedAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="App_Start\EntityFramework.SqlServerCompact.cs" />
|
||||
<Compile Include="App_Start\Logging.cs" />
|
||||
<Compile Include="Filters\JsonErrorFilter.cs" />
|
||||
<Compile Include="Controllers\CommandController.cs" />
|
||||
@ -312,6 +312,23 @@
|
||||
<Compile Include="Models\UpcomingEpisodeModel.cs" />
|
||||
<Compile Include="Models\UpdateModel.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<None Include="_bin_deployableAssemblies\x86\sqlcese40.dll" />
|
||||
<None Include="_bin_deployableAssemblies\x86\sqlceqp40.dll" />
|
||||
<None Include="_bin_deployableAssemblies\x86\sqlceme40.dll" />
|
||||
<None Include="_bin_deployableAssemblies\x86\sqlceer40EN.dll" />
|
||||
<None Include="_bin_deployableAssemblies\x86\sqlcecompact40.dll" />
|
||||
<None Include="_bin_deployableAssemblies\x86\sqlceca40.dll" />
|
||||
<None Include="_bin_deployableAssemblies\x86\Microsoft.VC90.CRT\README_ENU.txt" />
|
||||
<None Include="_bin_deployableAssemblies\x86\Microsoft.VC90.CRT\msvcr90.dll" />
|
||||
<None Include="_bin_deployableAssemblies\amd64\sqlcese40.dll" />
|
||||
<None Include="_bin_deployableAssemblies\amd64\sqlceqp40.dll" />
|
||||
<None Include="_bin_deployableAssemblies\amd64\sqlceme40.dll" />
|
||||
<None Include="_bin_deployableAssemblies\amd64\sqlceer40EN.dll" />
|
||||
<None Include="_bin_deployableAssemblies\amd64\sqlcecompact40.dll" />
|
||||
<None Include="_bin_deployableAssemblies\amd64\sqlceca40.dll" />
|
||||
<None Include="_bin_deployableAssemblies\amd64\Microsoft.VC90.CRT\README_ENU.txt" />
|
||||
<None Include="_bin_deployableAssemblies\amd64\Microsoft.VC90.CRT\msvcr90.dll" />
|
||||
<None Include="_bin_deployableAssemblies\x86\Microsoft.VC90.CRT\Microsoft.VC90.CRT.manifest" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Content\ActionButton.css" />
|
||||
@ -527,6 +544,7 @@
|
||||
<Content Include="Views\System\Config.cshtml" />
|
||||
<Content Include="Views\Settings\_SettingsLayout.cshtml" />
|
||||
<Content Include="Views\Shared\FreeSpace.cshtml" />
|
||||
<None Include="_bin_deployableAssemblies\amd64\Microsoft.VC90.CRT\Microsoft.VC90.CRT.manifest" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="App_Data\" />
|
||||
@ -695,9 +713,8 @@
|
||||
</PreBuildEvent>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
if not exist "$(TargetDir)x86" md "$(TargetDir)x86"
|
||||
xcopy /s /y "$(SolutionDir)packages\SqlServerCompact.4.0.8482.1\NativeBinaries\x86\*.*" "$(TargetDir)x86"</PostBuildEvent>
|
||||
<PostBuildEvent>if not exist "$(TargetDir)x86" md "$(TargetDir)x86"
|
||||
xcopy /s /y "$(SolutionDir)packages\Microsoft.SqlServer.Compact.4.0.8876.1\NativeBinaries\x86\*.*" "$(TargetDir)x86"</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
|
||||
</Project>
|
@ -25,13 +25,16 @@
|
||||
<label for="fileSharingTalkStatus">File Sharing Talk</label>
|
||||
|
||||
@Html.CheckBox("nzbIndexStatus", @Model.NzbIndexEnabled, new { @class = "indexerStatusButton" })
|
||||
<label for="nzbIndexStatus">NzbIndex</label>
|
||||
<label for="nzbIndexStatus">NzbIndex</label>
|
||||
|
||||
@Html.CheckBox("nzbClubStatus", @Model.NzbClubEnabled, new { @class = "indexerStatusButton" })
|
||||
<label for="nzbClubStatus">Nzb Club</label>
|
||||
|
||||
@Html.CheckBox("omgwtfnzbsStatus", @Model.OmgwtfnzbsEnabled, new { @class = "indexerStatusButton" })
|
||||
<label for="omgwtfnzbsStatus">omgwtfnzbs</label>
|
||||
<label for="omgwtfnzbsStatus">omgwtfnzbs</label>
|
||||
|
||||
@Html.CheckBox("nzbxStatus", @Model.NzbxEnabled, new { @class = "indexerStatusButton" })
|
||||
<label for="nzbxStatus">nzbx</label>
|
||||
</div>
|
||||
<div id="stylized">
|
||||
@using (Html.BeginForm("SaveIndexers", "Settings", FormMethod.Post, new { id = "IndexersForm", name = "IndexersForm", @class = "settingsForm" }))
|
||||
@ -139,6 +142,14 @@
|
||||
</label>
|
||||
@Html.TextBoxFor(m => m.OmgwtfnzbsApiKey, new { @class = "inputClass" })
|
||||
</div>
|
||||
|
||||
<h3><a href="#">nzbx</a></h3>
|
||||
<div class="indexerPanel">
|
||||
<label class="labelClass">
|
||||
Enable <span class="small">@Html.DescriptionFor(m => m.NzbxEnabled)</span>
|
||||
</label>
|
||||
@Html.CheckBoxFor(m => m.NzbxEnabled, new { @class = "inputClass checkClass enabledCheck" })
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="indexer-global-settings">
|
||||
@ -216,6 +227,9 @@
|
||||
|
||||
if (id == 'OmgwtfnzbsEnabled')
|
||||
$('#omgwtfnzbsStatus').prop('checked', checked);
|
||||
|
||||
if (id == 'NzbxEnabled')
|
||||
$('#nzbxStatus').prop('checked', checked);
|
||||
|
||||
$('.indexerStatusButton').button("refresh");
|
||||
reValidate();
|
||||
@ -245,6 +259,9 @@
|
||||
|
||||
if (id == 'omgwtfnzbsStatus')
|
||||
$('#OmgwtfnzbsEnabled').prop('checked', checked);
|
||||
|
||||
if (id == 'nzbxStatus')
|
||||
$('#NzbxEnabled').prop('checked', checked);
|
||||
|
||||
reValidate();
|
||||
});
|
||||
|
@ -1,15 +1,23 @@
|
||||
@using NzbDrone.Core
|
||||
@model IEnumerable<NzbDrone.Core.Repository.RootDir>
|
||||
@model Dictionary<string, ulong>
|
||||
@{
|
||||
Layout = null;
|
||||
}
|
||||
|
||||
|
||||
@{
|
||||
var rootDirString = "";
|
||||
|
||||
foreach(var rootDir in Model)
|
||||
{
|
||||
<div class="free-space" title="@rootDir.Path">
|
||||
@rootDir.FreeSpace.ToBestFileSize(1) <span>Free</span>
|
||||
<div class="free-space" title="@rootDir.Key">
|
||||
@rootDir.Value.ToBestFileSize(1) <span>Free</span>
|
||||
</div>
|
||||
|
||||
rootDirString += String.Format("{0} - {1} Free\r\n", rootDir.Key, rootDir.Value.ToBestFileSize(1));
|
||||
}
|
||||
|
||||
<div id="free-space-small" title="@Html.Encode(rootDirString)">
|
||||
<i class="icon-hdd"></i>
|
||||
</div>
|
||||
}
|
@ -2,7 +2,8 @@
|
||||
<configuration>
|
||||
<configSections>
|
||||
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
|
||||
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
|
||||
</configSections>
|
||||
<startup useLegacyV2RuntimeActivationPolicy="true">
|
||||
<supportedRuntime version="v4.0" />
|
||||
@ -81,4 +82,17 @@
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
<system.data>
|
||||
<DbProviderFactories>
|
||||
<remove invariant="System.Data.SqlServerCe.4.0" />
|
||||
<add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
|
||||
</DbProviderFactories>
|
||||
</system.data>
|
||||
<entityFramework>
|
||||
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework">
|
||||
<parameters>
|
||||
<parameter value="System.Data.SqlServerCe.4.0" />
|
||||
</parameters>
|
||||
</defaultConnectionFactory>
|
||||
</entityFramework>
|
||||
</configuration>
|
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||
<noInheritable></noInheritable>
|
||||
<assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.30729.4148" processorArchitecture="amd64" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
|
||||
<file name="msvcr90.dll" hashalg="SHA1" hash="1b065fdf0cb8516b0553128eae4af39c5f8eeb46"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod><dsig:DigestValue>Vy8CgQgbu3qH5JHTK0op4kR8114=</dsig:DigestValue></asmv2:hash></file> <file name="msvcp90.dll" hashalg="SHA1" hash="45d3027d87eade77317e92994790598c755b3920"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod><dsig:DigestValue>QTJu3Gttpt8hhCktGelNeXj4Yp8=</dsig:DigestValue></asmv2:hash></file> <file name="msvcm90.dll" hashalg="SHA1" hash="e77fd69f7c88f34329d8a95c3179f67ead330217"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod><dsig:DigestValue>1ruqF7/L+m1tqnJVscaOtNRNHIE=</dsig:DigestValue></asmv2:hash></file>
|
||||
</assembly>
|
Binary file not shown.
Binary file not shown.
BIN
NzbDrone.Web/_bin_deployableAssemblies/amd64/sqlceca40.dll
Normal file
BIN
NzbDrone.Web/_bin_deployableAssemblies/amd64/sqlceca40.dll
Normal file
Binary file not shown.
BIN
NzbDrone.Web/_bin_deployableAssemblies/amd64/sqlcecompact40.dll
Normal file
BIN
NzbDrone.Web/_bin_deployableAssemblies/amd64/sqlcecompact40.dll
Normal file
Binary file not shown.
BIN
NzbDrone.Web/_bin_deployableAssemblies/amd64/sqlceer40EN.dll
Normal file
BIN
NzbDrone.Web/_bin_deployableAssemblies/amd64/sqlceer40EN.dll
Normal file
Binary file not shown.
BIN
NzbDrone.Web/_bin_deployableAssemblies/amd64/sqlceme40.dll
Normal file
BIN
NzbDrone.Web/_bin_deployableAssemblies/amd64/sqlceme40.dll
Normal file
Binary file not shown.
BIN
NzbDrone.Web/_bin_deployableAssemblies/amd64/sqlceqp40.dll
Normal file
BIN
NzbDrone.Web/_bin_deployableAssemblies/amd64/sqlceqp40.dll
Normal file
Binary file not shown.
BIN
NzbDrone.Web/_bin_deployableAssemblies/amd64/sqlcese40.dll
Normal file
BIN
NzbDrone.Web/_bin_deployableAssemblies/amd64/sqlcese40.dll
Normal file
Binary file not shown.
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||
<noInheritable></noInheritable>
|
||||
<assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.30729.4148" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
|
||||
<file name="msvcr90.dll" hashalg="SHA1" hash="98e8006e0a4542e69f1a3555b927758bd76ca07d"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod><dsig:DigestValue>+CXED+6HzJlSphyMNOn27ujadC0=</dsig:DigestValue></asmv2:hash></file> <file name="msvcp90.dll" hashalg="SHA1" hash="3aec3be680024a46813dee891a753bd58b3f3b12"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod><dsig:DigestValue>MyKED+9DyS+1XcMeaC0Zlw2vFZ0=</dsig:DigestValue></asmv2:hash></file> <file name="msvcm90.dll" hashalg="SHA1" hash="0195dd0896d74b62531e4f3c771904a3d996450e"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod><dsig:DigestValue>EeyDE7og6WoPd2oBhYbMEnpFHhY=</dsig:DigestValue></asmv2:hash></file>
|
||||
</assembly>
|
Binary file not shown.
Binary file not shown.
BIN
NzbDrone.Web/_bin_deployableAssemblies/x86/sqlceca40.dll
Normal file
BIN
NzbDrone.Web/_bin_deployableAssemblies/x86/sqlceca40.dll
Normal file
Binary file not shown.
BIN
NzbDrone.Web/_bin_deployableAssemblies/x86/sqlcecompact40.dll
Normal file
BIN
NzbDrone.Web/_bin_deployableAssemblies/x86/sqlcecompact40.dll
Normal file
Binary file not shown.
BIN
NzbDrone.Web/_bin_deployableAssemblies/x86/sqlceer40EN.dll
Normal file
BIN
NzbDrone.Web/_bin_deployableAssemblies/x86/sqlceer40EN.dll
Normal file
Binary file not shown.
BIN
NzbDrone.Web/_bin_deployableAssemblies/x86/sqlceme40.dll
Normal file
BIN
NzbDrone.Web/_bin_deployableAssemblies/x86/sqlceme40.dll
Normal file
Binary file not shown.
BIN
NzbDrone.Web/_bin_deployableAssemblies/x86/sqlceqp40.dll
Normal file
BIN
NzbDrone.Web/_bin_deployableAssemblies/x86/sqlceqp40.dll
Normal file
Binary file not shown.
BIN
NzbDrone.Web/_bin_deployableAssemblies/x86/sqlcese40.dll
Normal file
BIN
NzbDrone.Web/_bin_deployableAssemblies/x86/sqlcese40.dll
Normal file
Binary file not shown.
@ -4,8 +4,8 @@
|
||||
<package id="DataTables.Mvc" version="0.1.0.85" />
|
||||
<package id="DataTables.Mvc.Core" version="0.1.0.85" />
|
||||
<package id="DynamicQuery" version="1.0" />
|
||||
<package id="EntityFramework" version="4.3.0" />
|
||||
<package id="EntityFramework.SqlServerCompact" version="4.1.8482.2" />
|
||||
<package id="EntityFramework" version="4.3.1" targetFramework="net40" />
|
||||
<package id="EntityFramework.SqlServerCompact" version="4.3.6" targetFramework="net40" />
|
||||
<package id="FontAwesome" version="2.0.2" targetFramework="net40" />
|
||||
<package id="jQuery" version="1.8.2" targetFramework="net40" />
|
||||
<package id="jQuery.Ajax.Unobtrusive" version="2.0.20710.0" targetFramework="net40" />
|
||||
@ -15,6 +15,7 @@
|
||||
<package id="jQuery.vsdoc" version="1.6" />
|
||||
<package id="LowercaseRoutesMVC" version="1.0.3" targetFramework="net40" />
|
||||
<package id="Microsoft.jQuery.Unobtrusive.Ajax" version="2.0.20710.0" targetFramework="net40" />
|
||||
<package id="Microsoft.SqlServer.Compact" version="4.0.8876.1" targetFramework="net40" />
|
||||
<package id="Microsoft.jQuery.Unobtrusive.Validation" version="2.0.20710.0" targetFramework="net40" />
|
||||
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" />
|
||||
<package id="MiniProfiler" version="2.0.2" />
|
||||
@ -34,7 +35,6 @@
|
||||
<package id="SignalR.Hosting.Common" version="0.5.3" targetFramework="net40" />
|
||||
<package id="SignalR.Js" version="0.5.3" targetFramework="net40" />
|
||||
<package id="SignalR.Server" version="0.5.3" targetFramework="net40" />
|
||||
<package id="SqlServerCompact" version="4.0.8482.1" />
|
||||
<package id="underscore.js" version="1.3.3" targetFramework="net40" />
|
||||
<package id="WebActivator" version="1.5.2" targetFramework="net40" />
|
||||
</packages>
|
@ -47,7 +47,6 @@ EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{1E6B3CBE-1578-41C1-9BF9-78D818740BE9}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
.nuget\NuGet.exe = .nuget\NuGet.exe
|
||||
.nuget\NuGet.targets = .nuget\NuGet.targets
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NzbDrone.Api", "NzbDrone.Api\NzbDrone.Api.csproj", "{FD286DF8-2D3A-4394-8AD5-443FADE55FB2}"
|
||||
|
Loading…
Reference in New Issue
Block a user