autobrr/internal/indexer/definitions/tsc.yaml
Frederick Robinson fef0da5711
feat(definitions): add expectations for test lines (#1257)
* factor out test helpers

* refactor, add tests for animebytes

* revert test refactor

* better name

* change format, migrate some examples

* migrated remaining test cases

* add comment about `Test` vs `Tests`

* refactor

* reorder expectations to match vars

* generate

* turn on strict unmarshalling, remove old `Test` from schema

* start modifying actual definitions

* done with the As

* Bs

* C, D

* E, F

* G, H, I, ... L

* M, N

* O, P

* R

* bonus error. without this, pattern/vars disagreement can panic.

* S

* T, U

* X.. Now we know our ABCs next time won't you sing with meeeee

* fix another test

* another driveby change

* be less strict parsing custom definitions

* fix(definitions): load custom definitions

---------

Co-authored-by: ze0s <ze0s@riseup.net>
2023-11-18 15:41:39 +01:00

99 lines
3 KiB
YAML

---
#id: TSC
name: TorrentSectorCrew
identifier: tsc
description: Torrent Sector Crew (TSC) is a GERMAN Private Torrent Tracker for MOVIES / TV / GENERAL.
language: de-de
urls:
- https://www.tsctracker.org
privacy: private
protocol: torrent
supports:
- irc
- rss
# source: custom
settings:
- name: api_key
type: secret
required: true
label: API key
help: "Copy string from wget link behind the torrent name. https://tsctracker.org/x/x/x/<APIKEY>/torrentname.torrent"
- name: uid
type: secret
required: true
label: User ID
help: "Copy the ID in the URL of your profile page. https://tsctracker.org/userdetails.php?id=<USERID>"
irc:
network: TorrentSectorCrew
server: irc.tsctracker.org
port: 7000
tls: true
channels:
- "#T.S.C-Announce"
announcers:
- bl0w
settings:
- name: nick
type: text
required: true
label: Nick
help: Bot nick. Eg. user_bot
- name: auth.account
type: text
required: true
label: NickServ Account
help: NickServ account. Make sure to group your user and bot.
- name: auth.password
type: secret
required: true
label: NickServ Password
help: NickServ password
parse:
type: single
lines:
- tests:
- line: '[Games/PC] The.Smallest.Game-ze0s (Größe: 31,53 MB) https://tsctracker.org/details.php?id=0000000'
expect:
category: Games/PC
torrentName: The.Smallest.Game-ze0s
size: 31,53 MB
torrentId: "0000000"
- line: '[Music/MP3] TUNES_4_LYFE_WEB_iNT (Größe: 31,53 GB) https://tsctracker.org/details.php?id=0000000'
expect:
category: Music/MP3
torrentName: TUNES_4_LYFE_WEB_iNT
size: 31,53 GB
torrentId: "0000000"
- line: '[XXX/0-Day] Cute.Stuff.69.XXX.VR180.2700p.MP4-s0ez (Größe: 2,3 TB) https://tsctracker.org/details.php?id=0000000'
expect:
category: XXX/0-Day
torrentName: Cute.Stuff.69.XXX.VR180.2700p.MP4-s0ez
size: 2,3 TB
torrentId: "0000000"
- line: '[Movies/HD] Have.You.Seen.The.Cat.Tonight-WhereThat (Größe: 1,0 MB) https://tsctracker.org/details.php?id=0000000'
expect:
category: Movies/HD
torrentName: Have.You.Seen.The.Cat.Tonight-WhereThat
size: 1,0 MB
torrentId: "0000000"
- line: '[TV-HD/X264] The.Eggerton.S01E01.720p.WEB.h264-OTA (Größe: 131,94 GB) https://tsctracker.org/details.php?id=0000000'
expect:
category: TV-HD/X264
torrentName: The.Eggerton.S01E01.720p.WEB.h264-OTA
size: 131,94 GB
torrentId: "0000000"
pattern: '\[(.*)\].(.*?).\(Größe:.(.*?)\).*id=(\d+)'
vars:
- category
- torrentName
- size
- torrentId
match:
infourl: "/details.php?id={{ .torrentId }}"
torrenturl: "/ddownload_ssl.php/{{ .torrentId }}/{{ .uid }}/{{ .api_key }}/{{ .torrentName }}.torrent"