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

93 lines
3 KiB
YAML

---
#id: immortalseed
name: ImmortalSeed
identifier: immortalseed
description: ImmortalSeed (iS) is a Private Torrent Tracker for MOVIES / TV / GENERAL
language: en-us
urls:
- https://immortalseed.me/
privacy: private
protocol: torrent
supports:
- irc
- rss
# source: custom
settings:
- name: passkey
type: secret
required: true
label: Passkey
help: "Go to https://immortalseed.me/getrss.php to get the RSS feed link and extract passkey from secret_key"
regex: '[\?&;]secret_key=([\da-fA-F]{32})'
irc:
network: ImmortalSeed
server: irc.immortalseed.me
port: 7000
tls: true
channels:
- "#immortal"
announcers:
- thoth
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: "immortal invite USERNAME PASSKEY"
required: true
label: Invite command
help: Invite auth with immortal. Replace USERNAME and PASSKEY.
parse:
type: single
lines:
- tests:
- line: 'ImmortalSeed - Category: ( TV - High Definition ) Torrent: ( The.Show.S07E02.Lunch.At.Sea.720p.WEBRip.X264-GROUP1 ) Size: ( 457.07 MB ) Link: ( https://immortalseed.me/details.php?id=0000000 )'
expect:
category: TV - High Definition
torrentName: The.Show.S07E02.Lunch.At.Sea.720p.WEBRip.X264-GROUP1
torrentSize: 457.07 MB
baseUrl: https://immortalseed.me/
torrentId: "0000000"
- line: 'ImmortalSeed - Category: ( TV - High Definition ) Torrent: ( Other.Show.S01E02.1080p.WEB.H264-GROUP2 ) Size: ( 3.66 GB ) Link: ( https://immortalseed.me/details.php?id=0000000 )'
expect:
category: TV - High Definition
torrentName: Other.Show.S01E02.1080p.WEB.H264-GROUP2
torrentSize: 3.66 GB
baseUrl: https://immortalseed.me/
torrentId: "0000000"
- line: 'ImmortalSeed - Category: ( Anime ) Torrent: ( Some.Anime.Show.S01E04.1080p.WEB.H264-GROUP3 ) Size: ( 1.34 GB ) Link: ( https://immortalseed.me/details.php?id=0000000 )'
expect:
category: Anime
torrentName: Some.Anime.Show.S01E04.1080p.WEB.H264-GROUP3
torrentSize: 1.34 GB
baseUrl: https://immortalseed.me/
torrentId: "0000000"
pattern: '\s*ImmortalSeed - Category: \( (.*) \) Torrent: \( (.*) \) Size: \( (.*) \)\s+Link: \( (https?:\/\/.*\/).*id=(\d+) \)'
vars:
- category
- torrentName
- torrentSize
- baseUrl
- torrentId
match:
infourl: "/details.php?id={{ .torrentId }}"
torrenturl: "/download.php?type=rss&secret_key={{ .passkey }}&id={{ .torrentId }}"