Commit Graph

24 Commits

Author SHA1 Message Date
Nathan Holland 571c52a0f2 Feature/netcore preparation (#2072)
* Use platform detection that works on mono 4.6+

* Move to use package reference for restoring nuget packages.

* DateTimeRoutines does not have Nuget packages that support .NET Standard (and therefore .NET Core). We will have to include them for now until we can get rid of this dependency.

* Start spliting some interfaces into their own files - this will help by allowing us to split them out in the future into a seperate project so the actual implementations can stay within their respective architectures when required

* Move out common libraries

* Few more tidy up tasks to get things working with .NET Standard

* Restructure the solution layout

* Encoding work to reduce rework later on platforms without Windows codepages (or require compliance with RFC1345)

* Move folder structure around to have more natural layout of the solutions

* DI server configuration to get rid of "temporary" hack and dependency circle for serverservice

* Make all encoding consistent to match the expected encoding casing for earlier versions of mono.
2017-11-05 20:42:03 +11:00
Nathan Holland 8a6b9d4de7 Feature/netcore preparation (#2035)
* Move to use package reference for restoring nuget packages.

* Return a task result for this async method.

* Update to a supported version of the .NET Framework. This also has the side effect of allowing us to automatically generate our binding redirects on build.

* Set the solution to target VS2017

* Update test solution csproj file to support being built through MSBuild 15

* Move to use package reference for restoring nuget packages.

* Return a task result for this async method.

* Update to a supported version of the .NET Framework. This also has the side effect of allowing us to automatically generate our binding redirects on build.

* Set the solution to target VS2017

* Update test solution csproj file to support being built through MSBuild 15

* DateTimeRoutines does not have Nuget packages that support .NET Standard (and therefore .NET Core). We will have to include them for now until we can get rid of this dependency.

* Move the interfaces into their own files. This will be useful when we share them between the .NET Core and .NET Framework WebAPI

* Stage services that need to point to the new interface namespace.

* Update CurlSharp to fix memory leak issue and support better runtime compatibility with OSX and Linux

* Start spliting some interfaces into their own files - this will help by allowing us to split them out in the future into a seperate project so the actual implementations can stay within their respective architectures when required
2017-10-29 21:19:09 +11:00
flightlevel 84ccd323e0
Code Tidy: Indexers P to Z (#2033) 2017-10-29 17:50:47 +11:00
Wyall 38e039ac34 Update TransmitheNet.cs (#1919)
TTN -> NBL as it's called nebulance
2017-10-03 12:48:50 +02:00
chibidev 7c2b801ee9 Feature/remove autofac from indexer manager (#1549)
* Line endings...

* Remove Autofac and all its shenanigans from IndexerManager

I'm starting my warpath against Autofac. For the next couple PRs I want
to focus on refactoring things rather than creating new things. This
includes introducing LINQ extensions wherever possible as well as
removing Autofac/Automapper dependencies in classes (or any other
dependency, there's a great chance that most of the classes that use
Jackett.Services wouldn't need so many of them). All this is order to
boost performance and eventually reach testability. Can't stop, won't
stop.

* Remove unnecessary extension

* Modify test project

* As per @kaso17, iterating through iterator types rather than allocating them manually

* Cleaning up a little

* Adjusting interface in tests
2017-07-14 07:39:52 +02:00
chibidev 9e3076dde6 I have a feeling I'm breaking the world and bringing the apocalypse
It's quite hard to encapsulate something this large. This refactor
contains multiple attacks on the current architecture and is changing
things that were probably created quite a while back then. Luckily this
was done in increments so it mustn't be that impossible to recall what
has been done. I just need to relax my memory a little bit.

So the basic idea was quite simple. Let's distingush metas and normal
indexers a little bit more. Both of them were originating from
BaseIndexer, however very little of the functionality was actually
shared between them. Actually quite a few things made it even harder to
implement a different kind of indexer, especially for a newcomer for
both Jackett and C#.

Then in order to further reduce whatever was encapsulated in
any kind of, a couple things had to be changed. Like CardigannIndexer,
which probably had quite a mindshift change. IndexerManager and the
configuration management were also encapsulated and refactored, and now
I have a feeling that although the code could be improved, at least the
responsibilities of services and what they actually do is now clearer.

Anyhow, it would be safe to assume that I will not be able to go
step-by-step and define everything that has been changed. I'm sorry.
2017-07-11 21:53:46 +02:00
chibidev 4a0d2dcc57 Feature/metaindexer torrent download improvement (#1517)
* Line endings...

* Improve download handling of torrents in metas

Until now, downloads were handled by metas, however they had to "guess"
which indexer the result was originating from and resolve to that
indexer. While this has been working without an issue, it really
shouldn't be considered stable.

Therefore indexers now link themselves to the results they provide. In
order to keep my sanity and automate this as much as possible, I had to
slightly modify the interface (sorry, everyone).
2017-07-03 07:15:47 +02:00
chibidev 345602926e Feature/cleaning up aggregate indexer fallback (#1507)
* Line endings...

* Refactoring how MetaIndexers handle fallbacks

Originally this modification was part of a much larger refactoring,
however for the sake of reviewability I split it into smaller chunks.
Sadly it is still quite large.
I wanted to split it even more, however after a certain point there was
really no value in creating smaller chunks. The biggest part of this
modification would be still huge.

So all in all, there're 3 aspects of this modification
- It modifies BaseIndexer so that it now implements IIndexer (will be
very useful later on)
- Resolving most of the warnings currently in Jackett (the only ones
remaining are related to Autofac, however if I could I would just burn
Autofac altogether rather than fix the warnings. Will open discussion on
this.)
- Biggest part: refactoring how MetaIndexers handle fallbacks and how
they provide the final result set

MetaIndexers now accept any kind of fallback and filtering mechanism
that implements the necessary interface, so that in the future IMDB
fallback and filtering won't be the only one. I know there are not a lot
of unit tests around Jackett at the moment, however this renders the
class much more unittestable as well.

* Autofac started complaining... I don't understand...
2017-06-28 07:31:38 +02:00
kaso17 797eff5200 Nebulance: fix URL 2017-05-04 21:50:23 +02:00
adamwinn bab4620c04 Change TTN to Nebulance (#1320)
* add

* Add 3D Torrents

* Accidently commited an old version of the 3dtorrents yaml file

* Allow searching by categories for TPB

* add

* add

* Fix error when pressing the Test button for TPB.  This will remove searching by category for the time being.

* Change HDPter to Ourbits

* iloveclassics - the date is not within td:nth-child(2) div, but rather just td:nth-child(2), so remove the div
bigtorrent - grabs and files data are not displayed in the grid.  Seeders and leechers data was off by a column

* Add ThePlace / TheVault / TheShow / TheOccult / TheGeeks (#1302)

* Change SceneFZ domain (#1306)

* Change TransmitheNet to Nebulance
2017-05-04 21:54:12 +10:00
flightlevel f2def1f615 Normalise Line endings (#1284)
* Add .gitattributes

* Normalise line endings
2017-04-15 18:45:10 +10:00
kaso17 12d3f1730e TransmitheNet: improve login error handling 2017-02-27 12:23:29 +01:00
kaso17 87d3fd9443 Add initial support for multiple categories and 1:1 category mapping 2017-02-21 13:07:54 +01:00
kaso17 50c3a5fb3a Add support for tracker type (private/public/semi-private) 2017-01-27 16:57:32 +01:00
kaso17 f99e104755 Make site link configurable for all indexers 2017-01-02 21:39:28 +01:00
kaso17 384c76e27d Add missing languages/encodings 2016-12-09 18:20:58 +01:00
kaso17 d499c291b9 WebRequest: make encoding configurable (#816) 2016-12-06 14:56:47 +01:00
kaso17 6b253178b6 Transmitthe.Net: add support for new attributes (files/grabs/down-/up-loadvolumefactor) (#665) 2016-11-09 08:58:17 +01:00
flightlevel 128591d355 TTN: Fix Parsing (#454)
TTN: Fix Parsing
2016-08-20 19:44:02 +10:00
flightlevel 1b0ea00c88 TTN: Update Login (#445)
TTN: Update Login
2016-08-18 17:29:56 +10:00
flightlevel ece16d1075 TransmitheNet: Fix Titles with extension (#343) 2016-05-17 23:25:26 +10:00
flightlevel 364860199c Merge pull request #316 from flightlevel/ttn_url2
TTN: Update search string
2016-04-20 20:11:55 +10:00
flightlevel acc75acb9c TTN: Update search url
TTN: Update search url
2016-04-13 21:33:14 +10:00
flightlevel 29ef28b6d7 Add Transmithe.Net tracker
Add Transmithe.Net tracker
2016-03-19 22:40:00 +11:00