diff --git a/src/Jackett.Common/Definitions/brsociety-api.yml b/src/Jackett.Common/Definitions/brsociety-api.yml index 45a656411..8092647fb 100644 --- a/src/Jackett.Common/Definitions/brsociety-api.yml +++ b/src/Jackett.Common/Definitions/brsociety-api.yml @@ -66,10 +66,24 @@ search: paths: # https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html # https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php - - path: "/api/torrents/filter?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}" + - path: "/api/torrents/filter" response: type: json + inputs: + # if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6 + api_token: "{{ .Config.apikey }}" + name: "{{ .Keywords }}" + $raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free[]=100{{ else }}{{ end }}" + sortField: "{{ .Config.sort }}" + sortDirection: "{{ .Config.type }}" + perPage: 100 + page: 1 + + keywordsfilters: + - name: re_replace + args: ["\\.", " "] + rows: selector: data attribute: attributes @@ -77,32 +91,41 @@ search: selector: meta.total fields: - categorydesc: - selector: category + category: + selector: category_id title: selector: name details: selector: details_link download: selector: download_link - size: - selector: size magnet: selector: magnet_link optional: true + infohash: + selector: info_hash poster: - selector: poster + selector: meta.poster filters: - name: replace args: ["https://via.placeholder.com/90x135", ""] - - name: replace - args: ["https://via.placeholder.com/400x600", ""] imdbid: selector: imdb_id tmdbid: selector: tmdb_id tvdbid: selector: tvdb_id + genre: + selector: meta.genres + filters: + - name: re_replace + args: ["(?i)(Science Fiction)", "Science_Fiction"] + - name: re_replace + args: ["(?i)(TV Movie)", "TV_Movie"] + - name: replace + args: [" & ", "_&_"] + description: + text: "{{ .Result.genre }}" files: selector: num_file seeders: @@ -119,12 +142,18 @@ search: args: " +00:00" # GMT - name: dateparse args: "01/02/2006 15:04:05 -07:00" + size: + selector: size downloadvolumefactor: - # api returns 0=false, 1=true + # api returns 0%, 25%, 50%, 75%, 100% selector: freeleech case: - 0: 1 # not free - 1: 0 # freeleech + 0%: 1 # not free + 25%: 0.75 + 50%: 0.5 + 75%: 0.25 + 100%: 0 # freeleech + "*": 0 # catch errors uploadvolumefactor: # api returns 0=false, 1=true selector: double_upload @@ -136,4 +165,4 @@ search: minimumseedtime: # 5 days (as seconds = 5 x 24 x 60 x 60) text: 432000 -# json UNIT3D 5.3.0 +# json UNIT3D 6.5.0