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

138 lines
4.1 KiB
YAML

---
#id: xspeeds
name: XSpeeds
identifier: xspeeds
description: XSpeeds (XS) is a private torrent tracker for MOVIES / TV / GENERAL.
language: en-us
urls:
- https://xspeeds.eu/
privacy: private
protocol: torrent
supports:
- irc
- rss
# source: custom
settings:
- name: passkey
type: secret
required: true
label: Secret key
help: "Go to https://www.xspeeds.eu/getrss.php and select Feed Type: Download Link, then Generate Feed. Copy the VALUE between secret_key=VALUE&feedtype."
irc:
network: XSpeeds
server: irc.xspeeds.eu
port: 6697
tls: true
channels:
- "#announce"
announcers:
- Announce
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
# categories:
# - 4K Movies
# - 4K TV
# - 4K TV Boxsets
# - Anime
# - Audiobooks
# - Blu-Ray
# - Books Magazines
# - Cams/TS
# - Documentaries
# - DVDR
# - Foreign
# - Kids
# - Mac Games
# - MMA
# - Movie Boxsets
# - Movies
# - Music
# - Music Videos
# - Nintendo
# - Other
# - PC Games
# - Pictures
# - Playstation
# - PPV
# - Soaps
# - Sports / MotorSports
# - Sports / Olympics
# - Sports / UK Football
# - TOTM
# - TOTW (x2 upload)
# - TV Boxsets
# - TV Boxsets / HD Boxsets
# - TV Boxsets / HEVC Boxsets
# - TV-HD
# - TV-HD / HEVC
# - TV-SD
# - Wii Games
# - Wrestling
# - Xbox Games
parse:
type: single
lines:
- tests:
- line: 'xspeeds.eu - New Torrent: ( The.Best.Show.S03E07.720p.BluRay.x264-GROUP ) Size: ( 1.96 GB ) Category: ( TV-HD ) Uploader: ( uploader1 ) Link: ( https://www.xspeeds.eu/details.php?id=0000000 )'
expect:
torrentName: The.Best.Show.S03E07.720p.BluRay.x264-GROUP
torrentSize: 1.96 GB
category: TV-HD
uploader: uploader1
baseUrl: https://www.xspeeds.eu/
torrentId: "0000000"
- line: 'xspeeds.eu - New Torrent: ( Some.Show.S21E06.1080p.HEVC.x265-GROUP1 ) Size: ( 1.04 GB ) Category: ( HEVC ) Uploader: ( uploader2 ) Link: ( https://www.xspeeds.eu/details.php?id=0000000 )'
expect:
torrentName: Some.Show.S21E06.1080p.HEVC.x265-GROUP1
torrentSize: 1.04 GB
category: HEVC
uploader: uploader2
baseUrl: https://www.xspeeds.eu/
torrentId: "0000000"
- line: 'xspeeds.eu - New Torrent: ( Some.Show.S21E06.XviD-GROUP2 ) Size: ( 861.32 MB ) Category: ( TV-SD ) Uploader: ( uploader2 ) Link: ( https://www.xspeeds.eu/details.php?id=0000000 )'
expect:
torrentName: Some.Show.S21E06.XviD-GROUP2
torrentSize: 861.32 MB
category: TV-SD
uploader: uploader2
baseUrl: https://www.xspeeds.eu/
torrentId: "0000000"
- line: 'xspeeds.eu - New Torrent: ( TOTW.Show.1-6.Boxset.iNTERNAL.1080P.BluRay.H265-GRP3 ) Size: ( 46.03 GB ) Category: ( TOTW (x2 upload) ) Uploader: ( uploader3 ) Link: ( https://www.xspeeds.eu/details.php?id=0000000 )'
expect:
torrentName: TOTW.Show.1-6.Boxset.iNTERNAL.1080P.BluRay.H265-GRP3
torrentSize: 46.03 GB
category: TOTW (x2 upload)
uploader: uploader3
baseUrl: https://www.xspeeds.eu/
torrentId: "0000000"
pattern: '\s*xspeeds.eu - New Torrent: \( (.*) \) Size: \( (.*) \)\s*Category: \( (.*) \) Uploader: \( (.*) \) Link: \( (https?\:\/\/[^\/]+\/).*[&\?]id=(\d+) \)'
vars:
- torrentName
- torrentSize
- category
- uploader
- baseUrl
- torrentId
match:
infourl: "/details.php?id={{ .torrentId }}"
torrenturl: "/download.php?type=rss&secret_key={{ .passkey }}&id={{ .torrentId }}"