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 type: private
encoding: UTF-8 encoding: UTF-8
links: links:
- https://rpthd.com/
legacylinks:
- https://rptscene.xyz/ - https://rptscene.xyz/
legacylinks:
- https://rpthd.com/
caps: caps:
categorymappings: categorymappings:
- {id: 4, cat: PC, desc: "Apps - Linux"} - {id: 6, cat: PC/0day, desc: "Apps: Windows"}
- {id: 3, cat: PC/Mac, desc: "Apps - Mac"} - {id: 7, cat: PC/Mac, desc: "Apps: Mac"}
- {id: 34, cat: PC/Mobile-Other, desc: "Apps - Mobile"} - {id: 8, cat: PC, desc: "Apps: Linux"}
- {id: 2, cat: PC/0day, desc: "Apps - Windows"} - {id: 75, cat: Movies/DVD, desc: "Movies: DVD"}
- {id: 39, cat: Audio/Audiobook, desc: "Books - Audio"} - {id: 26, cat: Movies/BluRay, desc: "Movies: Blu-Ray"}
- {id: 43, cat: Audio/Audiobook, desc: "Books - Audio-Ro"} - {id: 42, cat: Movies/HD, desc: "Movies: FHD-HD"}
- {id: 38, cat: Books/EBook, desc: "Books - eBooks"} - {id: 50, cat: Movies/WEB-DL, desc: "Movies: Web-Dl"}
- {id: 42, cat: Books/EBook, desc: "Books - eBooks-Ro"} - {id: 74, cat: Movies/SD, desc: "Movies: SD"}
- {id: 35, cat: PC/Games, desc: "Games - Pack"} - {id: 49, cat: Movies/UHD, desc: "Movies: 4k"}
- {id: 1, cat: PC/Games, desc: "Games - PC"} - {id: 46, cat: Movies/3D, desc: "Movies: 3D"}
- {id: 10, cat: Movies/3D, desc: "Movies - 3D"} - {id: 24, cat: Movies, desc: "Movies: Packs"}
- {id: 49, cat: Movies/3D, desc: "Movies - 3D-Ro"} - {id: 28, cat: Movies, desc: "Movies: Cartoons"}
- {id: 32, cat: Movies/UHD, desc: "Movies - 4k"} - {id: 47, cat: XXX, desc: "Movies: XXX"}
- {id: 47, cat: Movies/UHD, desc: "Movies - 4k-Ro"} - {id: 41, cat: TV/HD, desc: "TV: HD"}
- {id: 12, cat: Movies/BluRay, desc: "Movies - Bluray"} - {id: 52, cat: TV/WEB-DL, desc: "TV: WEB-DL"}
- {id: 51, cat: Movies/BluRay, desc: "Movies - Bluray-Ro"} - {id: 48, cat: TV, desc: "TV: Packs"}
- {id: 6, cat: TV/Anime, desc: "Movies - Cartoons"} - {id: 9, cat: TV/Documentary, desc: "TV: Documentaries"}
- {id: 45, cat: TV/Anime, desc: "Movies - Cartoons-Ro"} - {id: 22, cat: Audio/MP3, desc: "Music: MP3"}
- {id: 40, cat: Movies/DVD, desc: "Movies - DVD"} - {id: 23, cat: Audio/Lossless, desc: "Music: FLAC"}
- {id: 53, cat: Movies/DVD, desc: "Movies - DVD-Ro"} - {id: 25, cat: Audio/Video, desc: "Music: Video"}
- {id: 33, cat: Movies/HD, desc: "Movies - Full-HD"} - {id: 27, cat: Audio, desc: "Music: Pack"}
- {id: 52, cat: Movies/HD, desc: "Movies - Full-HD-Ro"} - {id: 53, cat: PC/Games, desc: "Games: Pc"}
- {id: 9, cat: Movies/HD, desc: "Movies - HD"} - {id: 54, cat: Console, desc: "Games: PsP"}
- {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"}
modes: modes:
search: [q] search: [q]
tv-search: [q, season, ep, imdbid, tmdbid, genre] tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid, tmdbid, genre] movie-search: [q, imdbid]
music-search: [q] music-search: [q]
book-search: [q] book-search: [q]
@@ -81,9 +57,9 @@ settings:
- name: sort - name: sort
type: select type: select
label: Sort requested from site label: Sort requested from site
default: added default: id
options: options:
added: created id: created
seeders: seeders seeders: seeders
size: size size: size
name: title name: title
@@ -94,77 +70,104 @@ settings:
options: options:
desc: desc desc: desc
asc: asc 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: login:
path: login/submit path: account-login.php
method: post method: post
inputs: inputs:
username: "{{ .Config.username }}" username: "{{ .Config.username }}"
password: "{{ .Config.password }}" password: "{{ .Config.password }}"
error: error:
- selector: div.text-center > b:contains("The specified username or password was incorrect.") - selector: div.myFrame:contains("Access Denied")
test: test:
path: / path: index.php
selector: a[href$="/message?type=inbox"] selector: a[href^="account-logout.php"]
search: search:
paths: paths:
- path: search/browse - path: torrents-search.php
inputs: inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}" $raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
# keywords are OR, but using row filter andmatch would prevent imdb/tmdb/genre searches. search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search
keyword: "{{ if or .Query.IMDBID .Query.TMDBID .Query.Genre }}{{ or .Query.IMDBID .Query.TMDBID .Query.Genre }}{{ else }}{{ .Keywords }}{{ end }}" # 0 both 1 local 2 external
# 0 active, 1 incldead, 2 onlydead inclexternal: 0
# 0 only active 1 incl dead 2 only dead
incldead: 1 incldead: 1
# 0 all, 1 notfree, 2 freeleech # 0 all 1 not freeleech 2 only freeleech
freeleech: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" 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 }}" sort: "{{ .Config.sort }}"
order: "{{ .Config.type }}" order: "{{ .Config.type }}"
# can search for only one at a time of name, genre or imdbid
rows: rows:
selector: table.table-striped > tbody > tr selector: table.ttable_headinner > tbody > tr
fields: fields:
category: category:
selector: a[href*="/search/browse?cat="] selector: a[href^="torrents.php?cat="]
attribute: href attribute: href
filters: filters:
- name: querystring - name: querystring
args: cat args: cat
title: title:
selector: a[href*="/torrent?id="] > b selector: a[href^="torrents-details.php?id="]
attribute: title
details: details:
selector: a[href*="/torrent?id="] selector: a[href^="torrents-details.php?id="]
attribute: href attribute: href
download: download:
selector: a[href*="/download?id="] selector: a[href^="download.php?id="]
attribute: href 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: genre:
selector: div.row > div > em > span selector: a:contains("Genre:")
filters: filters:
- name: replace - name: replace
args: ["Genre: ", ""] args: ["Genre: ", ""]
_source:
case:
img[src="images/t_extern.png"]: External
"*": Local
description: description:
text: "{{ .Result.genre }}" text: "{{ .Result._source }} - {{ .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)
downloadvolumefactor: downloadvolumefactor:
case: case:
span.badge-success: 0 img[src="images/t_extern.png"]: 0
img[src="images/free.png"]: 0
"*": 1 "*": 1
uploadvolumefactor: uploadvolumefactor:
text: 1 text: 1
minimumratio: minimumratio:
text: 1.0 text: 1.0
# M-BiTsy PDO minimumseedtime:
# 1 day (as seconds = 24 x 60 x 60)
text: 86400
# engine n/a