Commit Graph

54 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
nenladar 4463fc0550 TorrentLeech: Add the new 4K category (#1899)
* Add the new 4K category for TorrentLeech

TorrentLeech renamed the existing 4k category and added a new "Real 4K UltraHD HDR" category. This PR adds the new category (but leaves the old one too).

* Update TorrentLeech.cs
2017-09-29 17:21:32 +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
flightlevel f2def1f615 Normalise Line endings (#1284)
* Add .gitattributes

* Normalise line endings
2017-04-15 18:45:10 +10: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 171205bdee TorrentLeech: Update categories 2016-12-29 12:14:35 +01:00
kaso17 03e0c6d67e TorrentLeech: use AND filter 2016-12-29 12:01:42 +01:00
kaso17 9d30f833da TorrentLeech: Fix date selector 2016-12-17 13:24:57 +01:00
kaso17 f124b7e30b TorrentLeech: avoid unnecessary login checks 2016-12-12 08:24:18 +01:00
kaso17 0fc2a3083c TorrentLeech: Fix login parameters/error parsing 2016-12-12 08:16:46 +01:00
kaso17 2c4f18128a TorrentLeech: fix relogin detection 2016-12-12 06:48:55 +01:00
kaso17 adbd6c9d0d TorrentLeech: fix DL link 2016-12-11 16:41:02 +01:00
kaso17 a854771950 TorrentLeech: adjust to new design 2016-12-11 16:36:48 +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 56d7d42836 TorrentLeech: include 0day and music (#809) 2016-12-05 15:31:17 +01:00
kaso17 0a577e64d1 Fix TorrentLeech (#599) 2016-10-30 13:21:32 +01:00
kaso17 3dfe2faa6b Add new attributes to various trackers (#583)
* Use AvistazTracker base

* Revert "Use AvistazTracker base"

This reverts commit 9eba02c758.

* Add new attributes to various trackers

* more DL factors for HDSpace

* new attributes for Fuzer

* add new attributes for ImmortalSeed

* set UploadVolumeFactor for myAmity

* add new attributes to bitmetv
2016-10-27 18:35:31 +11:00
kaso17 cbf6e45f64 Several small fixes (#562)
* Fix PreToMe search results if no category is specified

* AND filter Andraste results

* AND filter Best Friends results

* AND filter Bit City Reloaded results

* AND filter Freshon results

* AND filter myAmity results

* AND filter SceneTime results

* AND filter NewRealWorld results

* Remove dashes from TorrentLeech queries as they exclude search strings
2016-10-25 08:46:06 +02:00
flightlevel d3d78e48cb TorrentLeech: Add setup info (#460)
TorrentLeech: Add setup info
2016-08-22 20:47:36 +10:00
Superpiffer ccde6fb53b TorrentLeech: Fix login (#412) (#414)
* Fix login #412

* Update TorrentLeech.cs
2016-08-05 21:57:43 +10:00
smarshallsay b42f2a0972 Deal with carriage return in date string (#325) 2016-04-30 21:48:52 +10:00
KZ 31aa7a9bad Fix Torrentleech #209 2015-10-08 00:17:54 +01:00
unknown 748d85f32f Implemented indexer configuration result status to prevent double query test on some indexers 2015-08-22 14:57:13 -06:00
KZ 98446222c9 Metasearch , fix for empty queries being converted to a single space, parent categories are now autoexpanded. 2015-08-14 22:20:51 +01:00
KZ e660c57ccb Category mapping on TorrentLeech and AnimeBytes. Fix sparadic issue where downloads fail due to the url being too long. 2015-08-13 22:51:49 +01:00
KZ e007d321f6 Prefilter couchpoato results 2015-08-11 19:48:25 +01:00
KZ 6d0aa05761 Saved password security 2015-08-07 20:09:13 +01:00
unknown 0a8d9d3447 Abstracted & unified indexer config logic (logins are now saved), implemented indexer config migrations, fixed nCore implementation 2015-08-03 15:38:45 -06:00
unknown 478c41fed6 Fixed BitMeTV login, fixed failed login callback failing if async 2015-08-02 11:28:59 -06:00
KZ 37cf3e569c Fix AnimeBytes caps, Change to 4.5 #117, change all trackers to retry failed requests 2015-07-29 18:47:51 +01:00
KZ ea069810a5 Add indexer: Immortalseed. Add category mapping framework. 2015-07-29 00:10:04 +01:00
KZ 51042e91fc Indexer refactor complete. This is going to need lots of testing! 2015-07-28 00:06:49 +01:00
unknown 3b4b8ab902 Replaced most indexers' byte size string parsing with shared helper function 2015-07-25 21:53:53 -06:00
unknown 738f6732a7 Fixed extra slashes in URLs 2015-07-24 18:41:24 -06:00
KZ 8891c04b84 Fix unreliable torrentleech date parsing 2015-07-23 22:14:36 +01:00
unknown a9f1daac73 Implemented torznab capabilities feature 2015-07-19 17:05:30 -06:00
KZ 75f0cce064 Change indexers to use new api 2015-07-19 18:18:54 +01:00
KZ e1c70b1e30 Reinstate changes from merge 2015-07-19 15:22:26 +01:00
KZ 1359ad16f0 Refactor done 2015-07-19 14:22:50 +01:00
KZ 33a97b148f Refactor 2015-07-19 01:27:41 +01:00
unknown 7f2aa4ccad Refactored to use the RageID lookup disabled, removed Sonarr API setup 2015-07-18 14:35:02 -06:00
unknown 469712c027 Fixes for loading saved cookie problems 2015-07-11 12:54:15 -06:00
unknown a0987d9b50 Bug fixes for number parsing, fixed ThePirateBay indexer 2015-07-11 10:24:41 -06:00