autobrr/internal/indexer/definitions/theoldschool.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

97 lines
2.7 KiB
YAML

---
#id: TheOldSchool
name: TheOldSchool
identifier: theoldschool
description: TheOldSchool (TOS) is a general french tracker.
language: fr-FR
urls:
- https://theoldschool.cc/
privacy: private
protocol: torrent
supports:
- irc
- rss
# source: UNIT3D
settings:
- name: rsskey
type: secret
required: true
label: RSS key
help: "Click on your nick / Go to Settings / Security / Copy the RID (RSS Key) and paste it here."
irc:
network: TheOldSchool
server: irc.theoldschool.cc
port: 1337
tls: true
channels:
- "#Announce"
announcers:
- _TOS_
settings:
- name: nick
type: text
required: true
label: Nick
help: Bot nick. Eg. user_bot
- name: auth.account
type: text
required: false
label: NickServ Account
help: NickServ account. Make sure to group your user and bot.
- name: auth.password
type: secret
required: false
label: NickServ Password
help: NickServ password
- name: invite_command
type: secret
default: "OldSchool invite USERNAME PID"
required: true
label: Invite command
help: Invite auth with OldSchool. Replace USERNAME and PID (passkey).
parse:
type: single
lines:
- tests:
- line: '[NEW] [Series] [This.Is.A.New.show.S00E00.720p.WEB.H264-Test] [WEB-DL] [487.27 MiB] [0%] [pre 0h 1m 52s] par oldschool -> https://theoldschool.cc/torrents/00000'
expect:
category: Series
torrentName: This.Is.A.New.show.S00E00.720p.WEB.H264-Test
source: WEB-DL
torrentSize: 487.27 MiB
freeleechPercent: "0"
preTime: 0h 1m 52s
uploader: oldschool
baseUrl: https://theoldschool.cc/
torrentId: "00000"
- line: '[NEW] [Series] [This.Is.A.New.show.S00E00.720p.WEB.H264-Test] [WEB-DL] [487.27 MiB] [0%] par oldschool -> https://theoldschool.cc/torrents/00000'
expect:
category: Series
torrentName: This.Is.A.New.show.S00E00.720p.WEB.H264-Test
source: WEB-DL
torrentSize: 487.27 MiB
freeleechPercent: "0"
preTime: ""
uploader: oldschool
baseUrl: https://theoldschool.cc/
torrentId: "00000"
pattern: '\[NEW\] \[(.*)\] \[(.*)\] \[(.*)\] \[(.*)\] \[(.*)%\](?:\s\[pre (.*)\])? par (.*) -> (https?\:\/\/.+\/).+\/(\d+)'
vars:
- category
- torrentName
- source
- torrentSize
- freeleechPercent
- preTime
- uploader
- baseUrl
- torrentId
match:
infourl: "/torrents/{{ .torrentId }}"
torrenturl: "/torrent/download/{{ .torrentId }}.{{ .rsskey }}"