rptscene: new engine. resolves #5368

This commit is contained in:
Garfield69
2024-02-25 12:18:48 +13:00
parent 7b7a2b3e40
commit 09ae57594e

View File

@@ -6,64 +6,40 @@ language: en-US
type: private
encoding: UTF-8
links:
- https://rpthd.com/
legacylinks:
- https://rptscene.xyz/
legacylinks:
- https://rpthd.com/
caps:
categorymappings:
- {id: 4, cat: PC, desc: "Apps - Linux"}
- {id: 3, cat: PC/Mac, desc: "Apps - Mac"}
- {id: 34, cat: PC/Mobile-Other, desc: "Apps - Mobile"}
- {id: 2, cat: PC/0day, desc: "Apps - Windows"}
- {id: 39, cat: Audio/Audiobook, desc: "Books - Audio"}
- {id: 43, cat: Audio/Audiobook, desc: "Books - Audio-Ro"}
- {id: 38, cat: Books/EBook, desc: "Books - eBooks"}
- {id: 42, cat: Books/EBook, desc: "Books - eBooks-Ro"}
- {id: 35, cat: PC/Games, desc: "Games - Pack"}
- {id: 1, cat: PC/Games, desc: "Games - PC"}
- {id: 10, cat: Movies/3D, desc: "Movies - 3D"}
- {id: 49, cat: Movies/3D, desc: "Movies - 3D-Ro"}
- {id: 32, cat: Movies/UHD, desc: "Movies - 4k"}
- {id: 47, cat: Movies/UHD, desc: "Movies - 4k-Ro"}
- {id: 12, cat: Movies/BluRay, desc: "Movies - Bluray"}
- {id: 51, cat: Movies/BluRay, desc: "Movies - Bluray-Ro"}
- {id: 6, cat: TV/Anime, desc: "Movies - Cartoons"}
- {id: 45, cat: TV/Anime, desc: "Movies - Cartoons-Ro"}
- {id: 40, cat: Movies/DVD, desc: "Movies - DVD"}
- {id: 53, cat: Movies/DVD, desc: "Movies - DVD-Ro"}
- {id: 33, cat: Movies/HD, desc: "Movies - Full-HD"}
- {id: 52, cat: Movies/HD, desc: "Movies - Full-HD-Ro"}
- {id: 9, cat: Movies/HD, desc: "Movies - HD"}
- {id: 48, cat: Movies/HD, desc: "Movies - HD-Ro"}
- {id: 11, cat: Movies, desc: "Movies - Pack"}
- {id: 50, cat: Movies, desc: "Movies - Pack-Ro"}
- {id: 37, cat: Movies/HD, desc: "Movies - SD"}
- {id: 44, cat: Movies/HD, desc: "Movies - SD-Ro"}
- {id: 7, cat: Movies/WEB-DL, desc: "Movies - WEB-DL"}
- {id: 46, cat: Movies/WEB-DL, desc: "Movies - WEB-DL-Ro"}
- {id: 41, cat: Movies/SD, desc: "Movies - Xvid"}
- {id: 54, cat: Movies/SD, desc: "Movies - Xvid-Ro"}
- {id: 36, cat: XXX, desc: "Movies - XXX"}
- {id: 20, cat: Audio/Lossless, desc: "Music - Flac"}
- {id: 19, cat: Audio/MP3, desc: "Music - MP3"}
- {id: 23, cat: Audio, desc: "Music - Pack"}
- {id: 22, cat: Audio/Video, desc: "Music - Video"}
- {id: 18, cat: TV/Documentary, desc: "TV - Documentary"}
- {id: 59, cat: TV/Documentary, desc: "TV - Documentary-Ro"}
- {id: 14, cat: TV/HD, desc: "TV - HD"}
- {id: 55, cat: TV/HD, desc: "TV - HD-Ro"}
- {id: 17, cat: TV, desc: "TV- Pack"}
- {id: 58, cat: TV, desc: "TV- Pack-Ro"}
- {id: 16, cat: TV/SD, desc: "TV - SD"}
- {id: 57, cat: TV/SD, desc: "TV - SD-Ro"}
- {id: 15, cat: TV/WEB-DL, desc: "TV - WEB-DL"}
- {id: 56, cat: TV/WEB-DL, desc: "TV - WEB-DL-Ro"}
- {id: 6, cat: PC/0day, desc: "Apps: Windows"}
- {id: 7, cat: PC/Mac, desc: "Apps: Mac"}
- {id: 8, cat: PC, desc: "Apps: Linux"}
- {id: 75, cat: Movies/DVD, desc: "Movies: DVD"}
- {id: 26, cat: Movies/BluRay, desc: "Movies: Blu-Ray"}
- {id: 42, cat: Movies/HD, desc: "Movies: FHD-HD"}
- {id: 50, cat: Movies/WEB-DL, desc: "Movies: Web-Dl"}
- {id: 74, cat: Movies/SD, desc: "Movies: SD"}
- {id: 49, cat: Movies/UHD, desc: "Movies: 4k"}
- {id: 46, cat: Movies/3D, desc: "Movies: 3D"}
- {id: 24, cat: Movies, desc: "Movies: Packs"}
- {id: 28, cat: Movies, desc: "Movies: Cartoons"}
- {id: 47, cat: XXX, desc: "Movies: XXX"}
- {id: 41, cat: TV/HD, desc: "TV: HD"}
- {id: 52, cat: TV/WEB-DL, desc: "TV: WEB-DL"}
- {id: 48, cat: TV, desc: "TV: Packs"}
- {id: 9, cat: TV/Documentary, desc: "TV: Documentaries"}
- {id: 22, cat: Audio/MP3, desc: "Music: MP3"}
- {id: 23, cat: Audio/Lossless, desc: "Music: FLAC"}
- {id: 25, cat: Audio/Video, desc: "Music: Video"}
- {id: 27, cat: Audio, desc: "Music: Pack"}
- {id: 53, cat: PC/Games, desc: "Games: Pc"}
- {id: 54, cat: Console, desc: "Games: PsP"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, tmdbid, genre]
movie-search: [q, imdbid, tmdbid, genre]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
music-search: [q]
book-search: [q]
@@ -81,9 +57,9 @@ settings:
- name: sort
type: select
label: Sort requested from site
default: added
default: id
options:
added: created
id: created
seeders: seeders
size: size
name: title
@@ -94,77 +70,104 @@ settings:
options:
desc: desc
asc: asc
- name: info_results
type: info
label: Search results
default: "If you are not getting results, then access the site with your browser and mark as read all PMs."
login:
path: login/submit
path: account-login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: div.text-center > b:contains("The specified username or password was incorrect.")
- selector: div.myFrame:contains("Access Denied")
test:
path: /
selector: a[href$="/message?type=inbox"]
path: index.php
selector: a[href^="account-logout.php"]
search:
paths:
- path: search/browse
- path: torrents-search.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
# keywords are OR, but using row filter andmatch would prevent imdb/tmdb/genre searches.
keyword: "{{ if or .Query.IMDBID .Query.TMDBID .Query.Genre }}{{ or .Query.IMDBID .Query.TMDBID .Query.Genre }}{{ else }}{{ .Keywords }}{{ end }}"
# 0 active, 1 incldead, 2 onlydead
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search
# 0 both 1 local 2 external
inclexternal: 0
# 0 only active 1 incl dead 2 only dead
incldead: 1
# 0 all, 1 notfree, 2 freeleech
# 0 all 1 not freeleech 2 only freeleech
freeleech: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
lang: 0
# 0 all 1 english 2 french 3 german 4 italian 5 japanese 6 spanish 7 russian 8 other
sort: "{{ .Config.sort }}"
order: "{{ .Config.type }}"
# can search for only one at a time of name, genre or imdbid
rows:
selector: table.table-striped > tbody > tr
selector: table.ttable_headinner > tbody > tr
fields:
category:
selector: a[href*="/search/browse?cat="]
selector: a[href^="torrents.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href*="/torrent?id="] > b
selector: a[href^="torrents-details.php?id="]
attribute: title
details:
selector: a[href*="/torrent?id="]
selector: a[href^="torrents-details.php?id="]
attribute: href
download:
selector: a[href*="/download?id="]
selector: a[href^="download.php?id="]
attribute: href
poster:
selector: a[href^="torrents-details.php?id="]:not(a[onmouseover*="images/nocover.png"])
attribute: onmouseover
filters:
- name: regexp
args: src=([^\s]+)
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
size:
selector: td:nth-child(4)
date:
# 15.11.21<br>07:47
selector: td:nth-child(5)
# auto adjusted by site account profile
filters:
- name: dateparse
args: "d.MM.yyHH:mm"
grabs:
selector: td:nth-child(7)
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
genre:
selector: div.row > div > em > span
selector: a:contains("Genre:")
filters:
- name: replace
args: ["Genre: ", ""]
_source:
case:
img[src="images/t_extern.png"]: External
"*": Local
description:
text: "{{ .Result.genre }}"
date:
selector: div.row > div:last-child > em:last-child
filters:
- name: timeago
size:
selector: td:nth-child(5)
grabs:
selector: td:nth-child(6)
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
text: "{{ .Result._source }} - {{ .Result.genre }}"
downloadvolumefactor:
case:
span.badge-success: 0
img[src="images/t_extern.png"]: 0
img[src="images/free.png"]: 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
# M-BiTsy PDO
minimumseedtime:
# 1 day (as seconds = 24 x 60 x 60)
text: 86400
# engine n/a