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>
This commit is contained in:
Frederick Robinson 2023-11-18 06:41:39 -08:00 committed by GitHub
parent e842a7bd42
commit fef0da5711
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
83 changed files with 1887 additions and 565 deletions

View file

@ -11,7 +11,7 @@ protocol: torrent
supports:
- irc
- rss
source: custom
# source: custom
irc:
network: Rizon
@ -45,12 +45,52 @@ irc:
parse:
type: single
lines:
- test:
- "[Release] [SubsPlease] Multiple Word Title - 01 (480p) [636F636B].mkv (420.69MB) - https://nyaa.si/view/0000000 - https://nyaa.si/view/0000000/torrent"
- "[Release] [SubsPlease] Multiple Word Title (01-12) (1080p) [Batch] (420GB) - https://nyaa.si/view/0000000 - https://nyaa.si/view/0000000/torrent"
- "[Release] [SubsPlease] Dashes - In-Title - 01 (480p) [636F636B].mkv (420.69MB) - https://nyaa.si/view/0000000 - https://nyaa.si/view/0000000/torrent"
- "[Release] [SubsPlease] Title - 1st Season (01-04) (1080p) [Batch] (420GB) - https://nyaa.si/view/0000000 - https://nyaa.si/view/0000000/torrent"
- "[Release] [SubsPlease] Special Title - 08.5 (480p) [5353245D].mkv (420.69MB) - https://nyaa.si/view/0000000 - https://nyaa.si/view/0000000/torrent"
- tests:
- line: '[Release] [SubsPlease] Multiple Word Title - 01 (480p) [636F636B].mkv (420.69MB) - https://nyaa.si/view/0000000 - https://nyaa.si/view/0000000/torrent'
expect:
torrentName: '[SubsPlease] Multiple Word Title - 01 (480p) [636F636B].'
releaseGroup: SubsPlease
title: Multiple Word Title
releaseTags: mkv
torrentSize: 420.69MB
infoUrl: https://nyaa.si/view/0000000
torrentUrl: https://nyaa.si/view/0000000/torrent
- line: '[Release] [SubsPlease] Multiple Word Title (01-12) (1080p) [Batch] (420GB) - https://nyaa.si/view/0000000 - https://nyaa.si/view/0000000/torrent'
expect:
torrentName: '[SubsPlease] Multiple Word Title (01-12) (1080p) [Batch]'
releaseGroup: SubsPlease
title: Multiple Word Title
releaseTags: ""
torrentSize: 420GB
infoUrl: https://nyaa.si/view/0000000
torrentUrl: https://nyaa.si/view/0000000/torrent
- line: '[Release] [SubsPlease] Dashes - In-Title - 01 (480p) [636F636B].mkv (420.69MB) - https://nyaa.si/view/0000000 - https://nyaa.si/view/0000000/torrent'
expect:
torrentName: '[SubsPlease] Dashes - In-Title - 01 (480p) [636F636B].'
releaseGroup: SubsPlease
title: Dashes - In-Title
releaseTags: mkv
torrentSize: 420.69MB
infoUrl: https://nyaa.si/view/0000000
torrentUrl: https://nyaa.si/view/0000000/torrent
- line: '[Release] [SubsPlease] Title - 1st Season (01-04) (1080p) [Batch] (420GB) - https://nyaa.si/view/0000000 - https://nyaa.si/view/0000000/torrent'
expect:
torrentName: '[SubsPlease] Title - 1st Season (01-04) (1080p) [Batch]'
releaseGroup: SubsPlease
title: Title - 1st Season
releaseTags: ""
torrentSize: 420GB
infoUrl: https://nyaa.si/view/0000000
torrentUrl: https://nyaa.si/view/0000000/torrent
- line: '[Release] [SubsPlease] Special Title - 08.5 (480p) [5353245D].mkv (420.69MB) - https://nyaa.si/view/0000000 - https://nyaa.si/view/0000000/torrent'
expect:
torrentName: '[SubsPlease] Special Title - 08.5 (480p) [5353245D].'
releaseGroup: SubsPlease
title: Special Title
releaseTags: mkv
torrentSize: 420.69MB
infoUrl: https://nyaa.si/view/0000000
torrentUrl: https://nyaa.si/view/0000000/torrent
pattern: '\[Release\] (.*(SubsPlease)] (.+?) (?:-\s\d{2,}|\(\d{2,}).*?\.?)(mkv)? \((\d+.?\d*[KMGTP]?B)\) - (.*) - (.*)'
vars:
- torrentName