Commit Graph

120 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
kaso17 6200eba45d Cardigann: move preprocessingfilters after re-login check 2017-10-24 11:51:54 +02:00
kaso17 92fb27e188 Cardigann: fix re_replace regex 2017-10-24 11:15:46 +02:00
kaso17 1603516666 CardigannIndexer: add support for music-search 2017-10-19 16:46:34 +02:00
kaso17 5d6b71b7a7 Cardigann: add Preprocessing Filters 2017-10-17 18:23:13 +02:00
kaso17 650435aaef Cardigann: add support for info setting 2017-09-20 11:38:50 +02:00
kaso17 3e000453a5 add error message 2017-09-08 19:05:10 +02:00
kaso17 da43f17558 Cardigann: add diacritics filter 2017-09-08 19:00:25 +02:00
kaso17 141f3e57e5 Introduce LegacySiteLinks to automatically update to new SiteLinks 2017-08-30 18:46:36 +02:00
chibidev 39e612d60c Move debug data to appropriate log level 2017-08-11 23:55:55 +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 11fd2db5a5 Bugfix/cannot add cardigann indexers (#1511)
* Line endings...

* Fix invalid ID for cardigann indexers (refactoring regression - my bad)
2017-06-29 20:46:36 +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 1dfe9db7da Cardigann: add validfilename and urlencode filters 2017-06-06 18:52:47 +02:00
Mike a3c443e69b Added a "select" input type and "default" value for settings. (#1423)
* Added a selectbox and updated nyaasi to include two.

* Added a "default" field for settings.
2017-05-28 18:12:41 +02:00
kaso17 d3ea4135b9 Cardigann: extend DateHeaders search to parents 2017-05-07 14:05:39 +02:00
kaso17 aa6e7b148b Cardigann: Add support for search/headers 2017-05-07 13:18:22 +02:00
kaso17 6b35da8ad0 SaveConfig() after IsConfigured 2017-05-06 19:39:02 +02:00
kaso17 a85e00f236 cardigann: fix relative url handling 2017-04-21 20:22:47 +02:00
flightlevel f2def1f615 Normalise Line endings (#1284)
* Add .gitattributes

* Normalise line endings
2017-04-15 18:45:10 +10:00
kaso17 3c46daf7ee Cardigann: Add support for POST search requests 2017-03-10 11:05:08 +01:00
kaso17 a15537a7d5 Cardigann: add support for static cookies 2017-03-08 19:39:58 +01:00
kaso17 4d77f113fe Cardigann: add urldecode filter 2017-03-08 13:45:55 +01:00
kaso17 6c5433e7ba Cardigann: support errors on search 2017-03-07 12:27:34 +01:00
kaso17 4bdb7a9fd4 Cardigann: add support for multiple search files with the same key 2017-03-06 14:05:11 +01:00
kaso17 f997d27867 Cardigann: support relative submit urls 2017-03-01 17:29:20 +01:00
kaso17 cdd9411d5d Add support for self signed certificates 2017-02-28 20:05:57 +01:00
kaso17 59d8b5cb02 Cardigann: simplyfy resolvePath() 2017-02-28 14:48:11 +01:00
kaso17 32b3321790 Cardigann: Fix baseUrl handling 2017-02-28 14:18:13 +01:00
kaso17 34184d7210 Improve resolvePath handling 2017-02-27 12:38:06 +01:00
kaso17 96f503cda0 Cardigann: add support for custom category mappings 2017-02-26 18:53:48 +01:00
kaso17 7b239dcc62 Fix legacy search path handling 2017-02-17 20:15:38 +01:00
kaso17 4cee32f75c Cardigann: add support for multiple paths 2017-02-17 19:48:13 +01:00
kaso17 86b12837f5 Cardigann: add optional attribute to selectorBlock 2017-02-15 18:13:33 +01:00
kaso17 0d8c446b74 Cardigann: properly encode variables in search path and $raw 2017-02-15 11:41:07 +01:00
kaso17 d499f6cde6 Cardigann: add support for settings type checkbox 2017-02-14 09:55:26 +01:00
kaso17 7a63b0472d Cardigann: add support for magnet field 2017-02-14 09:23:00 +01:00
kaso17 808dfefaeb Cadigann: Add tolower/toupper filters 2017-02-14 09:20:38 +01:00
kaso17 998a7fc716 Cardigann: don't set magnet uri as DL link 2017-02-08 18:48:53 +01:00
kaso17 f63a0f93e0 Cardigann: add support for .Result.* variables 2017-02-08 18:08:23 +01:00
kaso17 714fab74f9 Cardigann: add support for getselectorinputs 2017-02-08 14:49:09 +01:00
kaso17 c6f4e2a0e0 Cardigann: don't use andfilter in case of an IMDB search 2017-02-07 16:02:24 +01:00
kaso17 b1cb801dec Cardigann: support empty form action 2017-02-06 20:04:09 +01:00
kaso17 831e26846e cardigann: strdump escape non breaking space 2017-02-06 19:27:43 +01:00
kaso17 0c0b4475aa Cardigann: print cookies after login 2017-02-06 17:28:40 +01:00
kaso17 0d3fdf2730 Cardigann: change default encoding to UTF-8 2017-02-06 16:33:59 +01:00
kaso17 41126c2ed7 Cardigann: fix {{ if }} regex 2017-02-02 18:23:22 +01:00
kaso17 599ec3647b cardigann: add strdump filter 2017-02-02 16:47:16 +01:00