media-server-docker-compose/config/prowlarr/Definitions/ptfiles.yml
Braden Jageman fd77c332fb new stuff
2024-04-07 00:37:31 -04:00

174 lines
4.8 KiB
YAML

---
id: ptfiles
name: PTFiles
description: "PTFiles (PTF) is a Private site for TV / MOVIES / GENERAL"
language: en-US
type: private
encoding: windows-1252
links:
- https://ptfiles.net/
caps:
categorymappings:
- {id: 19, cat: Movies/SD, desc: "Movies/XviD"}
- {id: 20, cat: Movies/DVD, desc: "Movies/DVD-R"}
- {id: 60, cat: Movies/SD, desc: "Movies/SD X264"}
- {id: 23, cat: TV/Anime, desc: "Anime"}
- {id: 1, cat: PC/0day, desc: "Apps"}
- {id: 55, cat: Books, desc: "Comics"}
- {id: 5, cat: Movies/HD, desc: "Movies/720p HD"}
- {id: 8, cat: Movies/HD, desc: "Movies/1080p HD"}
- {id: 15, cat: Movies/UHD, desc: "Movies/Ultra-HD"}
- {id: 44, cat: Movies, desc: "Movies/Packs"}
- {id: 69, cat: Books, desc: "E Books"}
- {id: 12, cat: Books, desc: "E Learning"}
- {id: 11, cat: PC/Mac, desc: "Mac OS"}
- {id: 7, cat: TV/SD, desc: "TV/XviD Episodes"}
- {id: 42, cat: TV/SD, desc: "TV/SD X264 Episodes"}
- {id: 33, cat: TV/HD, desc: "TV/HD Episodes"}
- {id: 22, cat: Other, desc: "Misc"}
- {id: 24, cat: PC/Mobile-Other, desc: "Mobile"}
- {id: 6, cat: Audio, desc: "Music"}
- {id: 39, cat: TV, desc: "TV/Seasons"}
- {id: 4, cat: PC/Games, desc: "Games/PC"}
- {id: 29, cat: Console, desc: "Games/Consoles"}
- {id: 9, cat: XXX, desc: "XXX"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
music-search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: 4
options:
4: created
7: seeders
5: size
1: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
- name: info_activity
type: info
label: Account Inactivity
default: "You must login to the site at least every 119 days. If you get to the 120th day without logging in, your account will be Deleted/Pruned automatically by the system."
login:
path: loginproc/
method: form
form: form#login
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
force_ssl: on
ssl: ""
selectorinputs:
hash:
selector: input[name="hash"]
attribute: value
error:
- selector: p.error:contains(strong)
test:
path: index.php
selector: a[href*="&logout_hash="]
search:
paths:
# https://ptfiles.net/browse.php?search=tt3612126&incldead=1&title=1
# https://ptfiles.net/browse.php?free=1&search=&incldead=1&title=0
- path: browse.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
# 0 active, 1 both, 2 dead, 3 needseed
incldead: 0
# 0 title, 1 descr, 2 both, 3 genre
title: "{{ if .Query.IMDBID }}1{{ else }}0{{ end }}"
free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
rows:
# for some users (don't know why) the table is called tablethree instead of tortable
selector: table#tortable > tbody > tr.rowhead, table#tablethree > tbody > tr.rowhead
fields:
# column 3 will be the wait time for new users
download:
selector: a[href^="dl.php/"]
attribute: href
title:
selector: a.torrentlink
attribute: title
category:
selector: td[onclick*="browse.php?cat="]
attribute: onclick
filters:
- name: querystring
args: cat
- name: trim
args: "'"
details:
selector: a.torrentlink
attribute: href
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
files:
selector: td:nth-last-child(5)
grabs:
selector: td:nth-last-child(3) > span
filters:
- name: regexp
args: ([\d\.]+)
size:
selector: td:nth-last-child(3)
remove: span
seeders:
selector: td:nth-last-child(2) > span > b:nth-child(1)
leechers:
selector: td:nth-last-child(2) > span > b:nth-child(2)
date:
# timeago
selector: td:nth-child(2) > span > span > small
filters:
- name: replace
args: ["Uploaded: ", ""]
downloadvolumefactor:
case:
"span.tool:contains(\"[FREE]\")": 0
"*": 1
uploadvolumefactor:
text: 1
genre:
selector: td:nth-child(2) > span:has(span > small)
remove: span:nth-child(1), span.tool, a[title^="Search all"], br ~ b > small
description:
text: "{{ .Result.genre }}"
minimumratio:
text: 1.0
minimumseedtime:
# 2 days (as seconds = 2 x 24 x 60 x 60)
text: 172800
# TBDev Custom