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

101 lines
2.9 KiB
YAML

---
#id: funfile
name: FunFile
identifier: funfile
description: Welcome to funfile.org, where files are fun!
language: en-us
urls:
- https://www.funfile.org/
privacy: private
protocol: torrent
supports:
- irc
- rss
# source: custom
settings:
- name: passkey
type: secret
required: true
label: Passkey
help: "The passkey in your FunFile RSS feed link."
irc:
network: FunFile
server: irc.funfile.org
port: 6697
tls: true
channels:
- "#FunFile.org"
announcers:
- H3r4ut
settings:
- name: nick
type: text
required: true
label: Nick
help: Use your site username.
- name: auth.account
type: text
required: true
label: NickServ Account
help: NickServ account. Make sure to group your user and bot.
- name: auth.password
type: secret
required: true
label: NickServ Password
help: NickServ password
parse:
type: single
lines:
- tests:
- line: '[New Shit] Wiseguy.S04E01.720p.WEB.h264-SKYFiRE [TV/Web-HD] @ https://www.funfile.org/details.php?id=1662804 [2 GB] [FL]'
expect:
torrentName: Wiseguy.S04E01.720p.WEB.h264-SKYFiRE
category: TV/Web-HD
baseUrl: https://www.funfile.org/
torrentId: "1662804"
torrentSize: 2 GB
freeleech: FL
- line: '[New Shit] DC.-.Wonder.Woman.The.Twelve.Labors.2018.Hybrid.Comic.eBook-BitBook [Ebook] @ https://www.funfile.org/details.php?id=1662668 [206 MB]'
expect:
torrentName: DC.-.Wonder.Woman.The.Twelve.Labors.2018.Hybrid.Comic.eBook-BitBook
category: Ebook
baseUrl: https://www.funfile.org/
torrentId: "1662668"
torrentSize: 206 MB
freeleech: ""
- line: '[New Shit] Sister.Wives.S17.1080p.AMZN.WEB-DL.DDP2.0.H.264-NTb [TV/x264-HD] @ https://www.funfile.org/details.php?id=1663540 [49 GB] [FL]'
expect:
torrentName: Sister.Wives.S17.1080p.AMZN.WEB-DL.DDP2.0.H.264-NTb
category: TV/x264-HD
baseUrl: https://www.funfile.org/
torrentId: "1663540"
torrentSize: 49 GB
freeleech: FL
pattern: '\[New Shit\] (.*) \[(.*)\] @ (https?\:\/\/.*\/).*id=(.*?) \[(.*?)\] ?(?:\[(.*?)\])?'
vars:
- torrentName
- category
- baseUrl
- torrentId
- torrentSize
- freeleech
# Commented out until we make a better fix for optional multi line
#
# - test:
# - "[Scene] Uploaded 1 min and 18 secs after pre"
# - "[Scene] Uploaded 1 min and 55 secs after pre"
# pattern: '?(?:\[(.*)\] Uploaded (.*) after pre)?'
# vars:
# - origin
# - preTime
match:
infourl: "/details.php?id={{ .torrentId }}"
torrenturl: "/download.php/{{ .torrentId }}/{{ .passkey }}/{{ .torrentName }}.torrent"
encode:
- torrentName