diff --git a/src/Jackett.Common/Definitions/1337x.yml b/src/Jackett.Common/Definitions/1337x.yml index e257b9d2d..990bb15ad 100644 --- a/src/Jackett.Common/Definitions/1337x.yml +++ b/src/Jackett.Common/Definitions/1337x.yml @@ -43,6 +43,8 @@ legacylinks: - https://1337x.unblockit.click/ caps: + limitsDefault: 80 + limitsMax: 80 categorymappings: # Anime - {id: 28, cat: TV/Anime, desc: "Anime/Anime"} @@ -181,6 +183,9 @@ download: attribute: href search: + pageSize: 20 + pageable: "{{ if or .Query.Album .Query.Artist .Keywords }}true{{ else }}false{{ end }}" + paths: # present first page of movies tv and music results if there are no search parms supplied (20 hits per page) - path: "{{ if or .Query.Album .Query.Artist .Keywords }}sort-search{{ else }}cat/Movies{{ end }}{{ if or .Query.Album .Query.Artist }}/{{ or .Query.Album .Query.Artist }}{{ else }}/{{ .Keywords }}{{ end }}{{ if or .Query.Album .Query.Artist .Keywords }}/{{ else }}{{ end }}{{ .Config.sort }}/{{ .Config.type }}/1/" diff --git a/src/Jackett.Common/Definitions/schema.json b/src/Jackett.Common/Definitions/schema.json index f524f3ea1..7a83cad35 100644 --- a/src/Jackett.Common/Definitions/schema.json +++ b/src/Jackett.Common/Definitions/schema.json @@ -495,7 +495,14 @@ "minimum": 1 }, "pageable": { - "type": "boolean" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "string" + } + ] }, "path": { "type": "string" diff --git a/src/Jackett.Common/Indexers/CardigannIndexer.cs b/src/Jackett.Common/Indexers/CardigannIndexer.cs index 73c3ca707..a626b6fa1 100644 --- a/src/Jackett.Common/Indexers/CardigannIndexer.cs +++ b/src/Jackett.Common/Indexers/CardigannIndexer.cs @@ -1359,6 +1359,11 @@ namespace Jackett.Common.Indexers var pageSize = PageSize; + if (!bool.TryParse(applyGoTemplateText(Search.Pageable, variables), out var pageable)) + { + pageable = false; + } + // TODO: prepare queries first and then send them parallel var SearchPaths = Search.Paths; foreach (var SearchPath in SearchPaths) @@ -1743,7 +1748,7 @@ namespace Jackett.Common.Indexers pageSize = pageSize == 1 ? releases.Count : pageSize; - if (Search.Pageable && !IsFullPage(releases, pageSize)) + if (pageable && !IsFullPage(releases, pageSize)) { break; } diff --git a/src/Jackett.Common/Models/IndexerDefinition.cs b/src/Jackett.Common/Models/IndexerDefinition.cs index 426251d01..2a2ab7c1f 100644 --- a/src/Jackett.Common/Models/IndexerDefinition.cs +++ b/src/Jackett.Common/Models/IndexerDefinition.cs @@ -140,7 +140,7 @@ namespace Jackett.Common.Models public class searchBlock { public int PageSize { get; set; } - public bool Pageable { get; set; } + public string Pageable { get; set; } public string Path { get; set; } public List Paths { get; set; } public Dictionary> Headers { get; set; }