Added FrenchTorrentDb site

This commit is contained in:
Sylvain Desbureaux
2015-07-16 01:59:38 +02:00
parent 41e0aaa2f5
commit d8a4b1b25a
4 changed files with 501 additions and 323 deletions

View File

@@ -0,0 +1,172 @@
using CsQuery;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
using System.Web;
namespace Jackett.Indexers
{
class FrenchTorrentDb : IndexerInterface
{
public event Action<IndexerInterface, Newtonsoft.Json.Linq.JToken> OnSaveConfigurationRequested;
public event Action<IndexerInterface, string, Exception> OnResultParsingError;
class ConfigurationDataBasicLoginFrenchTorrentDb : ConfigurationData
{
public StringItem Cookie { get; private set; }
public ConfigurationDataBasicLoginFrenchTorrentDb()
{
Cookie = new StringItem { Name = "Cookie" };
}
public override Item[] GetItems()
{
return new Item[] { Cookie };
}
}
public string DisplayName
{
get { return "FrenchTorrentDb"; }
}
public string DisplayDescription
{
get { return "One the biggest French Torrent Tracker"; }
}
public Uri SiteLink
{
get { return new Uri(BaseUrl); }
}
public bool IsConfigured { get; private set; }
const string BaseUrl = "http://www.frenchtorrentdb.com/";
const string MainUrl = BaseUrl + "?section=INDEX";
const string SearchUrl = BaseUrl + "?section=TORRENTS&exact=1&name={0}&submit=GO";
static string chromeUserAgent = BrowserUtil.ChromeUserAgent;
string cookie = string.Empty;
CookieContainer cookies;
HttpClientHandler handler;
HttpClient client;
public FrenchTorrentDb()
{
IsConfigured = false;
cookies = new CookieContainer();
handler = new HttpClientHandler
{
CookieContainer = cookies,
AllowAutoRedirect = true,
UseCookies = true,
};
client = new HttpClient(handler);
client.DefaultRequestHeaders.UserAgent.ParseAdd(chromeUserAgent);
}
public Task<ConfigurationData> GetConfigurationForSetup()
{
var config = new ConfigurationDataUrl(BaseUrl);
return Task.FromResult<ConfigurationData>(config);
}
public async Task ApplyConfiguration(Newtonsoft.Json.Linq.JToken configJson)
{
var config = new ConfigurationDataBasicLoginFrenchTorrentDb();
config.LoadValuesFromJson(configJson);
cookies.SetCookies(new Uri(BaseUrl), "WebsiteID=" + config.Cookie.Value);
var mainPage = await client.GetAsync(MainUrl);
string responseContent = await mainPage.Content.ReadAsStringAsync();
if (!responseContent.Contains("/?section=LOGOUT"))
{
throw new ExceptionWithConfigData("Failed to login", (ConfigurationData)config);
}
else
{
var configSaveData = new JObject();
configSaveData["cookie"] = config.Cookie.Value;
if (OnSaveConfigurationRequested != null)
OnSaveConfigurationRequested(this, configSaveData);
IsConfigured = true;
}
}
public void LoadFromSavedConfiguration(Newtonsoft.Json.Linq.JToken jsonConfig)
{
cookie = (string)jsonConfig["cookie"];
cookies.SetCookies(new Uri(BaseUrl), "WebsiteID=" + cookie);
IsConfigured = true;
}
public async Task<ReleaseInfo[]> PerformQuery(TorznabQuery query)
{
List<ReleaseInfo> releases = new List<ReleaseInfo>();
foreach (var title in query.ShowTitles ?? new string[] { string.Empty })
{
var searchString = title + " " + query.GetEpisodeSearchString();
var episodeSearchUrl = string.Format(SearchUrl, HttpUtility.UrlEncode(searchString));
var message = new HttpRequestMessage();
message.Method = HttpMethod.Get;
message.RequestUri = new Uri(episodeSearchUrl);
var response = await client.SendAsync(message);
var results = await response.Content.ReadAsStringAsync();
try
{
CQ dom = results;
var rows = dom[".results_index ul"];
foreach (var row in rows)
{
var release = new ReleaseInfo();
CQ qRow = row.Cq();
CQ qLink = qRow.Find("li.torrents_name > .torrents_name_link").First();
CQ qDlLink = qRow.Find("li.torrents_download > a").First();
release.MinimumRatio = 1;
release.MinimumSeedTime = 172800;
release.Title = qLink.Text().Trim();
release.Description = release.Title;
release.Comments = new Uri(BaseUrl + "/" + qLink.Attr("href").TrimStart('/'));
release.Guid = release.Comments;
release.Link = new Uri(BaseUrl + "/" + qDlLink.Attr("href").TrimStart('/'));
release.PublishDate = DateTime.Now;
release.Seeders = ParseUtil.CoerceInt(qRow.Find("li.torrents_seeders").Text());
release.Peers = ParseUtil.CoerceInt(qRow.Find("li.torrents_leechers").Text()) + release.Seeders;
var sizeParts = qRow.Find("li.torrents_size").Text().Split(' ');
var sizeVal = ParseUtil.CoerceFloat(sizeParts[0]);
var sizeUnit = sizeParts[1];
release.Size = ReleaseInfo.GetBytes(sizeUnit, sizeVal);
releases.Add(release);
}
}
catch (Exception ex)
{
OnResultParsingError(this, results, ex);
throw ex;
}
}
return releases.ToArray();
}
public Task<byte[]> Download(Uri link)
{
throw new NotImplementedException();
}
}
}

View File

@@ -1,324 +1,329 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{E636D5F8-68B4-4903-B4ED-CCFD9C9E899F}</ProjectGuid> <ProjectGuid>{E636D5F8-68B4-4903-B4ED-CCFD9C9E899F}</ProjectGuid>
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Jackett</RootNamespace> <RootNamespace>Jackett</RootNamespace>
<AssemblyName>Jackett</AssemblyName> <AssemblyName>Jackett</AssemblyName>
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion> <TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<TargetFrameworkProfile /> <TargetFrameworkProfile />
<PublishUrl>publish\</PublishUrl> <IsWebBootstrapper>false</IsWebBootstrapper>
<Install>true</Install> <PublishUrl>publish\</PublishUrl>
<InstallFrom>Disk</InstallFrom> <Install>true</Install>
<UpdateEnabled>false</UpdateEnabled> <InstallFrom>Disk</InstallFrom>
<UpdateMode>Foreground</UpdateMode> <UpdateEnabled>false</UpdateEnabled>
<UpdateInterval>7</UpdateInterval> <UpdateMode>Foreground</UpdateMode>
<UpdateIntervalUnits>Days</UpdateIntervalUnits> <UpdateInterval>7</UpdateInterval>
<UpdatePeriodically>false</UpdatePeriodically> <UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdateRequired>false</UpdateRequired> <UpdatePeriodically>false</UpdatePeriodically>
<MapFileExtensions>true</MapFileExtensions> <UpdateRequired>false</UpdateRequired>
<ApplicationRevision>0</ApplicationRevision> <MapFileExtensions>true</MapFileExtensions>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion> <ApplicationRevision>0</ApplicationRevision>
<IsWebBootstrapper>false</IsWebBootstrapper> <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust> <UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled> <BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType> <DebugType>full</DebugType>
<Optimize>false</Optimize> <Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath> <OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants> <DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
</PropertyGroup> <Prefer32Bit>false</Prefer32Bit>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> </PropertyGroup>
<PlatformTarget>AnyCPU</PlatformTarget> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType> <PlatformTarget>AnyCPU</PlatformTarget>
<Optimize>true</Optimize> <DebugType>pdbonly</DebugType>
<OutputPath>bin\Release\</OutputPath> <Optimize>true</Optimize>
<DefineConstants>TRACE</DefineConstants> <OutputPath>bin\Release\</OutputPath>
<ErrorReport>prompt</ErrorReport> <DefineConstants>TRACE</DefineConstants>
<WarningLevel>4</WarningLevel> <ErrorReport>prompt</ErrorReport>
</PropertyGroup> <WarningLevel>4</WarningLevel>
<PropertyGroup> </PropertyGroup>
<ApplicationIcon>jacket_large.ico</ApplicationIcon> <PropertyGroup>
</PropertyGroup> <ApplicationIcon>jacket_large.ico</ApplicationIcon>
<PropertyGroup> </PropertyGroup>
<StartupObject>Jackett.Program</StartupObject> <PropertyGroup>
</PropertyGroup> <StartupObject>Jackett.Program</StartupObject>
<ItemGroup> </PropertyGroup>
<Reference Include="CsQuery"> <ItemGroup>
<HintPath>..\packages\CsQuery.1.3.4\lib\net40\CsQuery.dll</HintPath> <Reference Include="CsQuery">
</Reference> <HintPath>..\packages\CsQuery.1.3.4\lib\net40\CsQuery.dll</HintPath>
<Reference Include="NLog.Windows.Forms, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL"> </Reference>
<HintPath>..\packages\NLog.Windows.Forms.2.0.0.0\lib\net35\NLog.Windows.Forms.dll</HintPath> <Reference Include="NLog.Windows.Forms, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<Private>True</Private> <HintPath>..\packages\NLog.Windows.Forms.2.0.0.0\lib\net35\NLog.Windows.Forms.dll</HintPath>
</Reference> <Private>True</Private>
<Reference Include="System" /> </Reference>
<Reference Include="System.Core" /> <Reference Include="System" />
<Reference Include="System.Drawing" /> <Reference Include="System.Core" />
<Reference Include="System.Net.Http" /> <Reference Include="System.Drawing" />
<Reference Include="System.Net.Http.WebRequest" /> <Reference Include="System.Net.Http" />
<Reference Include="System.Web" /> <Reference Include="System.Net.Http.WebRequest" />
<Reference Include="System.Windows.Forms" /> <Reference Include="System.Web" />
<Reference Include="System.Xml.Linq" /> <Reference Include="System.Windows.Forms" />
<Reference Include="System.Data.DataSetExtensions" /> <Reference Include="System.Xml.Linq" />
<Reference Include="Microsoft.CSharp" /> <Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Data" /> <Reference Include="Microsoft.CSharp" />
<Reference Include="System.Xml" /> <Reference Include="System.Data" />
<Reference Include="Newtonsoft.Json"> <Reference Include="System.Xml" />
<HintPath>..\packages\Newtonsoft.Json.7.0.1\lib\net45\Newtonsoft.Json.dll</HintPath> <Reference Include="Newtonsoft.Json">
</Reference> <HintPath>..\packages\Newtonsoft.Json.7.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
<Reference Include="NLog"> </Reference>
<HintPath>..\packages\NLog.4.0.1\lib\net45\NLog.dll</HintPath> <Reference Include="NLog">
</Reference> <HintPath>..\packages\NLog.4.0.1\lib\net45\NLog.dll</HintPath>
</ItemGroup> </Reference>
<ItemGroup> </ItemGroup>
<Compile Include="ApiKey.cs" /> <ItemGroup>
<Compile Include="BrowserUtil.cs" /> <Compile Include="ApiKey.cs" />
<Compile Include="CachedResult.cs" /> <Compile Include="BrowserUtil.cs" />
<Compile Include="ChannelInfo.cs" /> <Compile Include="CachedResult.cs" />
<Compile Include="ConfigurationData.cs" /> <Compile Include="ChannelInfo.cs" />
<Compile Include="ConfigurationDataBasicLogin.cs" /> <Compile Include="ConfigurationData.cs" />
<Compile Include="ConfigurationDataCookie.cs" /> <Compile Include="ConfigurationDataBasicLogin.cs" />
<Compile Include="ConfigurationDataUrl.cs" /> <Compile Include="ConfigurationDataCookie.cs" />
<Compile Include="CookieContainerExtensions.cs" /> <Compile Include="ConfigurationDataUrl.cs" />
<Compile Include="DataUrl.cs" /> <Compile Include="CookieContainerExtensions.cs" />
<Compile Include="ExceptionWithConfigData.cs" /> <Compile Include="DataUrl.cs" />
<Compile Include="HttpClientExtensions.cs" /> <Compile Include="ExceptionWithConfigData.cs" />
<Compile Include="IndexerInterface.cs" /> <Compile Include="HttpClientExtensions.cs" />
<Compile Include="IndexerManager.cs" /> <Compile Include="IndexerInterface.cs" />
<Compile Include="Indexers\BeyondHD.cs" /> <Compile Include="IndexerManager.cs" />
<Compile Include="Indexers\BitHdtv.cs" /> <Compile Include="Indexers\BeyondHD.cs" />
<Compile Include="Indexers\BitMeTV.cs" /> <Compile Include="Indexers\BitHdtv.cs" />
<Compile Include="Indexers\Freshon.cs" /> <Compile Include="Indexers\BitMeTV.cs" />
<Compile Include="Indexers\HDTorrents.cs" /> <Compile Include="Indexers\FrenchTorrentDb.cs" />
<Compile Include="Indexers\IPTorrents.cs" /> <Compile Include="Indexers\Freshon.cs" />
<Compile Include="Indexers\MoreThanTV.cs" /> <Compile Include="Indexers\HDTorrents.cs" />
<Compile Include="Indexers\Rarbg.cs" /> <Compile Include="Indexers\IPTorrents.cs" />
<Compile Include="Indexers\SceneAccess.cs" /> <Compile Include="Indexers\MoreThanTV.cs" />
<Compile Include="Indexers\SceneTime.cs" /> <Compile Include="Indexers\Rarbg.cs" />
<Compile Include="Indexers\ShowRSS.cs" /> <Compile Include="Indexers\SceneAccess.cs" />
<Compile Include="Indexers\Strike.cs" /> <Compile Include="Indexers\SceneTime.cs" />
<Compile Include="Indexers\T411.cs" /> <Compile Include="Indexers\ShowRSS.cs" />
<Compile Include="Indexers\ThePirateBay.cs" /> <Compile Include="Indexers\Strike.cs" />
<Compile Include="Indexers\TorrentDay.cs" /> <Compile Include="Indexers\T411.cs" />
<Compile Include="Indexers\AnimeBytes.cs" /> <Compile Include="Indexers\ThePirateBay.cs" />
<Compile Include="Indexers\TorrentLeech.cs" /> <Compile Include="Indexers\TorrentDay.cs" />
<Compile Include="Indexers\TorrentShack.cs" /> <Compile Include="Indexers\AnimeBytes.cs" />
<Compile Include="Indexers\Torrentz.cs" /> <Compile Include="Indexers\TorrentLeech.cs" />
<Compile Include="Main.cs"> <Compile Include="Indexers\TorrentShack.cs" />
<SubType>Form</SubType> <Compile Include="Indexers\Torrentz.cs" />
</Compile> <Compile Include="Main.cs">
<Compile Include="Main.Designer.cs"> <SubType>Form</SubType>
<DependentUpon>Main.cs</DependentUpon> </Compile>
</Compile> <Compile Include="Main.Designer.cs">
<Compile Include="ParseUtil.cs" /> <DependentUpon>Main.cs</DependentUpon>
<Compile Include="Program.cs" /> </Compile>
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="ParseUtil.cs" />
<Compile Include="Properties\Resources.Designer.cs"> <Compile Include="Program.cs" />
<AutoGen>True</AutoGen> <Compile Include="Properties\AssemblyInfo.cs" />
<DesignTime>True</DesignTime> <Compile Include="Properties\Resources.Designer.cs">
<DependentUpon>Resources.resx</DependentUpon> <AutoGen>True</AutoGen>
</Compile> <DesignTime>True</DesignTime>
<Compile Include="ReleaseInfo.cs" /> <DependentUpon>Resources.resx</DependentUpon>
<Compile Include="ResultPage.cs" /> </Compile>
<Compile Include="Server.cs" /> <Compile Include="ReleaseInfo.cs" />
<Compile Include="SonarApi.cs" /> <Compile Include="ResultPage.cs" />
<Compile Include="TorznabQuery.cs" /> <Compile Include="Server.cs" />
<Compile Include="TVRage.cs" /> <Compile Include="SonarApi.cs" />
<Compile Include="WebApi.cs" /> <Compile Include="TorznabQuery.cs" />
<Compile Include="CurlHelper.cs" /> <Compile Include="TVRage.cs" />
<Compile Include="Indexers\AlphaRatio.cs" /> <Compile Include="WebApi.cs" />
</ItemGroup> <Compile Include="CurlHelper.cs" />
<ItemGroup> <Compile Include="Indexers\AlphaRatio.cs" />
<None Include="App.config" /> </ItemGroup>
<None Include="packages.config" /> <ItemGroup>
<None Include="WebContent\fonts\glyphicons-halflings-regular.woff"> <None Include="App.config" />
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <None Include="packages.config" />
</None> <None Include="WebContent\fonts\glyphicons-halflings-regular.woff">
</ItemGroup> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<ItemGroup> </None>
<None Include="Resources\test.xml" /> </ItemGroup>
</ItemGroup> <ItemGroup>
<ItemGroup> <None Include="Resources\test.xml" />
<EmbeddedResource Include="Main.resx"> </ItemGroup>
<DependentUpon>Main.cs</DependentUpon> <ItemGroup>
</EmbeddedResource> <EmbeddedResource Include="Main.resx">
<EmbeddedResource Include="Properties\Resources.resx"> <DependentUpon>Main.cs</DependentUpon>
<Generator>ResXFileCodeGenerator</Generator> </EmbeddedResource>
<LastGenOutput>Resources.Designer.cs</LastGenOutput> <EmbeddedResource Include="Properties\Resources.resx">
</EmbeddedResource> <Generator>ResXFileCodeGenerator</Generator>
</ItemGroup> <LastGenOutput>Resources.Designer.cs</LastGenOutput>
<ItemGroup> </EmbeddedResource>
<Content Include="WebContent\custom.css"> </ItemGroup>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <ItemGroup>
</Content> <Content Include="WebContent\custom.css">
<Content Include="WebContent\custom.js"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\custom.js">
<Content Include="WebContent\logos\animebytes.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\logos\animebytes.png">
<Content Include="WebContent\logos\beyondhd.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\logos\beyondhd.png">
<Content Include="WebContent\logos\hdtorrents.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\logos\frenchtorrentdb.png">
<Content Include="WebContent\logos\sceneaccess.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\logos\hdtorrents.png">
<Content Include="WebContent\logos\scenetime.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\logos\sceneaccess.png">
<Content Include="WebContent\logos\showrss.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\logos\scenetime.png">
<Content Include="WebContent\logos\t411.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\logos\showrss.png">
<Content Include="WebContent\logos\torrentday.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\logos\t411.png">
<Content Include="WebContent\logos\torrentshack.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\logos\torrentday.png">
<Content Include="jacket_large.ico" /> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Content Include="WebContent\animate.css"> </Content>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <Content Include="WebContent\logos\torrentshack.png">
</Content> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Content Include="WebContent\binding_dark.png"> </Content>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <Content Include="jacket_large.ico" />
</Content> <Content Include="WebContent\animate.css">
<Content Include="WebContent\bootstrap-notify.js"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\binding_dark.png">
<Content Include="WebContent\congruent_outline.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\bootstrap-notify.js">
<Content Include="WebContent\crissXcross.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\congruent_outline.png">
<Content Include="WebContent\favicon.ico"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\crissXcross.png">
<Content Include="WebContent\handlebars-v3.0.1.js"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\favicon.ico">
<Content Include="WebContent\jacket_medium.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\handlebars-v3.0.1.js">
<Content Include="WebContent\logos\bithdtv.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\jacket_medium.png">
<Content Include="WebContent\logos\bitmetv.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\logos\bithdtv.png">
<Content Include="WebContent\bootstrap\bootstrap.min.css"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\logos\bitmetv.png">
<Content Include="WebContent\bootstrap\bootstrap.min.js"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\bootstrap\bootstrap.min.css">
<Content Include="WebContent\common.js"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\bootstrap\bootstrap.min.js">
<Content Include="WebContent\index.html"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\common.js">
<Content Include="WebContent\jquery-2.1.3.min.js"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\index.html">
<Content Include="WebContent\logos\freshon.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\jquery-2.1.3.min.js">
<Content Include="WebContent\logos\iptorrents.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\logos\freshon.png">
<Content Include="WebContent\logos\morethantv.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\logos\iptorrents.png">
<Content Include="WebContent\logos\rarbg.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\logos\morethantv.png">
<Content Include="WebContent\logos\strike.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\logos\rarbg.png">
<Content Include="WebContent\logos\thepiratebay.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\logos\strike.png">
<Content Include="WebContent\logos\torrentleech.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\logos\thepiratebay.png">
<Content Include="WebContent\logos\torrentz.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\logos\torrentleech.png">
<Content Include="WebContent\setup_indexer.html"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>
</Content> <Content Include="WebContent\logos\torrentz.png">
<Content Include="Resources\validator_reply.xml" /> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Content Include="WebContent\logos\alpharatio.png"> </Content>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <Content Include="WebContent\setup_indexer.html">
</Content> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</ItemGroup> </Content>
<ItemGroup> <Content Include="Resources\validator_reply.xml" />
<ProjectReference Include="..\CurlSharp\CurlSharp.csproj"> <Content Include="WebContent\logos\alpharatio.png">
<Project>{74420A79-CC16-442C-8B1E-7C1B913844F0}</Project> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Name>CurlSharp</Name> </Content>
</ProjectReference> </ItemGroup>
</ItemGroup> <ItemGroup>
<ItemGroup> <ProjectReference Include="..\CurlSharp\CurlSharp.csproj">
<BootstrapperPackage Include=".NETFramework,Version=v4.5.1"> <Project>{74420A79-CC16-442C-8B1E-7C1B913844F0}</Project>
<Visible>False</Visible> <Name>CurlSharp</Name>
<ProductName>Microsoft .NET Framework 4.5.1 %28x86 and x64%29</ProductName> </ProjectReference>
<Install>true</Install> </ItemGroup>
</BootstrapperPackage> <ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Client.3.5"> <BootstrapperPackage Include=".NETFramework,Version=v4.5.1">
<Visible>False</Visible> <Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName> <ProductName>Microsoft .NET Framework 4.5.1 %28x86 et x64%29</ProductName>
<Install>false</Install> <Install>true</Install>
</BootstrapperPackage> </BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
<Visible>False</Visible> <Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName> <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
<Install>false</Install> <Install>false</Install>
</BootstrapperPackage> </BootstrapperPackage>
</ItemGroup> <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<ItemGroup> <Visible>False</Visible>
<COMReference Include="IWshRuntimeLibrary"> <ProductName>.NET Framework 3.5 SP1</ProductName>
<Guid>{F935DC20-1CF0-11D0-ADB9-00C04FD58A0B}</Guid> <Install>false</Install>
<VersionMajor>1</VersionMajor> </BootstrapperPackage>
<VersionMinor>0</VersionMinor> </ItemGroup>
<Lcid>0</Lcid> <ItemGroup>
<WrapperTool>tlbimp</WrapperTool> <COMReference Include="IWshRuntimeLibrary">
<Isolated>False</Isolated> <Guid>{F935DC20-1CF0-11D0-ADB9-00C04FD58A0B}</Guid>
<EmbedInteropTypes>True</EmbedInteropTypes> <VersionMajor>1</VersionMajor>
</COMReference> <VersionMinor>0</VersionMinor>
</ItemGroup> <Lcid>0</Lcid>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <WrapperTool>tlbimp</WrapperTool>
<Isolated>False</Isolated>
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets. Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild"> <Target Name="BeforeBuild">
</Target> </Target>
<Target Name="AfterBuild"> <Target Name="AfterBuild">
</Target> </Target>
--> -->
<ProjectExtensions> <ProjectExtensions>
<MonoDevelop> <MonoDevelop>
<Properties> <Properties>
<Policies> <Policies>
<TextStylePolicy inheritsSet="VisualStudio" inheritsScope="text/plain" scope="text/x-csharp" /> <TextStylePolicy inheritsSet="VisualStudio" inheritsScope="text/plain" scope="text/x-csharp" />
<CSharpFormattingPolicy IndentSwitchBody="True" IndentBlocksInsideExpressions="True" AnonymousMethodBraceStyle="NextLine" PropertyBraceStyle="NextLine" PropertyGetBraceStyle="NextLine" PropertySetBraceStyle="NextLine" EventBraceStyle="NextLine" EventAddBraceStyle="NextLine" EventRemoveBraceStyle="NextLine" StatementBraceStyle="NextLine" ElseNewLinePlacement="NewLine" CatchNewLinePlacement="NewLine" FinallyNewLinePlacement="NewLine" WhileNewLinePlacement="DoNotCare" ArrayInitializerWrapping="DoNotChange" ArrayInitializerBraceStyle="NextLine" BeforeMethodDeclarationParentheses="False" BeforeMethodCallParentheses="False" BeforeConstructorDeclarationParentheses="False" NewLineBeforeConstructorInitializerColon="NewLine" NewLineAfterConstructorInitializerColon="SameLine" BeforeDelegateDeclarationParentheses="False" NewParentheses="False" SpacesBeforeBrackets="False" inheritsSet="Mono" inheritsScope="text/x-csharp" scope="text/x-csharp" /> <CSharpFormattingPolicy IndentSwitchBody="True" IndentBlocksInsideExpressions="True" AnonymousMethodBraceStyle="NextLine" PropertyBraceStyle="NextLine" PropertyGetBraceStyle="NextLine" PropertySetBraceStyle="NextLine" EventBraceStyle="NextLine" EventAddBraceStyle="NextLine" EventRemoveBraceStyle="NextLine" StatementBraceStyle="NextLine" ElseNewLinePlacement="NewLine" CatchNewLinePlacement="NewLine" FinallyNewLinePlacement="NewLine" WhileNewLinePlacement="DoNotCare" ArrayInitializerWrapping="DoNotChange" ArrayInitializerBraceStyle="NextLine" BeforeMethodDeclarationParentheses="False" BeforeMethodCallParentheses="False" BeforeConstructorDeclarationParentheses="False" NewLineBeforeConstructorInitializerColon="NewLine" NewLineAfterConstructorInitializerColon="SameLine" BeforeDelegateDeclarationParentheses="False" NewParentheses="False" SpacesBeforeBrackets="False" inheritsSet="Mono" inheritsScope="text/x-csharp" scope="text/x-csharp" />
</Policies> </Policies>
</Properties> </Properties>
</MonoDevelop> </MonoDevelop>
</ProjectExtensions> </ProjectExtensions>
</Project> </Project>

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -1,7 +1,8 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="CsQuery" version="1.3.4" targetFramework="net451" /> <package id="CsQuery" version="1.3.4" targetFramework="net451" />
<package id="Newtonsoft.Json" version="7.0.1" targetFramework="net451" /> <package id="Newtonsoft.Json" version="7.0.1" targetFramework="net451" />
<package id="NLog" version="4.0.1" targetFramework="net451" /> <package id="NLog" version="4.0.1" targetFramework="net451" />
<package id="NLog.Windows.Forms" version="2.0.0.0" targetFramework="net451" /> <package id="NLog.Windows.Forms" version="2.0.0.0" targetFramework="net451" />
<package id="Noesis.Javascript" version="0.7.1.0" targetFramework="net451" />
</packages> </packages>