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

70 lines
1.6 KiB
YAML

---
#id: tokyotosho
name: Tokyo Toshokan
identifier: tokyotosho
description: A BitTorrent Library for Japanese Media
language: en-us
urls:
- https://
privacy: public
protocol: torrent
supports:
- irc
irc:
network: Rizon
server: irc.rizon.net
port: 6697
tls: true
channels:
- "#tokyotosho"
announcers:
- "TokyoTosho"
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 main user and bot.
- name: auth.password
type: secret
required: false
label: NickServ Password
help: NickServ password
parse:
type: multi
lines:
- tests:
- line: 'Release 1748839: [Anime] SOMETITLE-007'
expect:
category: Anime
torrentName: SOMETITLE-007
pattern: '^Release [0-9]*: \[(.*?)\] (.*)'
vars:
- category
- torrentName
- tests:
- line: 'Torrent: https://example.com/torrents/sha123/torrentname-007.torrent'
expect:
torrentId: example.com/torrents/sha123/torrentname-007.torrent
pattern: '^Torrent: https:\/\/(.*)'
vars:
- torrentId
- tests:
- line: 'Size: 7.21GB | Comment: A comment on the torrent left by the author'
expect:
size: 7.21GB
pattern: '^Size: (\d+.?\d*[KMGTP]?B)( \| Comment: (.*))?'
vars:
- size
match:
torrenturl: "{{ .torrentId }}"