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

75 lines
1.8 KiB
YAML

#id: abnormal
name: ABNormal
identifier: abnormal
description: ABNormal (ABN) is a French General tracker
language: fr-fr
urls:
- https://abn.lol/
privacy: private
protocol: torrent
supports:
- irc
- rss
# source: gazelle
settings:
- name: uid
type: secret
label: User Id
help: This is the UserId in a RSS link.
- name: passkey
type: secret
label: Torrent key
help: This is the TorrentKey in a RSS link.
irc:
network: ABNormal
server: irc.abn.lol
port: 33333
tls: true
channels:
- "#announce"
announcers:
- ABN_BOT
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. Eg. user|autodl
- name: auth.password
type: secret
required: false
label: NickServ Password
help: NickServ password
- name: pass
type: secret
required: true
label: Network password
parse:
type: single
lines:
- tests:
- line: '|2020/08/22 00:00:00| | https://abn.lol/Torrent/Details?ReleaseId=000000 | : |Action.Test.S01E01.FRENCH.WEB.x264-NOGROUP|'
expect:
baseUrl: https://abn.lol/
torrentId: "000000"
torrentName: Action.Test.S01E01.FRENCH.WEB.x264-NOGROUP
pattern: '^\s*\|.+\|\s*\|\s(https?\:\/\/[^\/]+\/).*[&\?]ReleaseId\=(\d+)\s\|[\s:]+\|([^|]+)\|\s*'
vars:
- baseUrl
- torrentId
- torrentName
match:
infourl: "/Torrent/Details?ReleaseId={{ .torrentId }}"
torrenturl: "/Feed/Download?UserID={{ .uid }}&TorrentKey={{ .passkey }}&ReleaseId={{ .torrentId }}"