fix(indexers): OPS new announce format (#862)

* fix ops parsing
extend regex capture group for torrentName var to contain releaseTags var
replace all – in announces with a - for torrentName var

* update ops yaml for new announces

* replace en-dashes with hyphens for OPS
add Sampler to releaseTypeMusic const
sort strings of releaseTypeMusic const alphabetically
shorten import in constants.ts

* replace en-dashes in pattern with . to cover any separator

---------

Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
This commit is contained in:
martylukyy 2023-04-26 20:31:21 +02:00 committed by GitHub
parent 9e2e43477d
commit b0198bc2a3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 14 deletions

View file

@ -199,6 +199,12 @@ func (a *announceProcessor) onLinesMatched(def *domain.IndexerDefinition, vars m
return err
}
// since OPS uses en-dashes as separators, which causes moistari/rls to not the torrentName properly,
// we replace the en-dashes with hyphens here
if def.Identifier == "ops" {
rls.TorrentName = strings.ReplaceAll(rls.TorrentName, "", "-")
}
// parse fields
// run before ParseMatch to not potentially use a reconstructed TorrentName
rls.ParseString(rls.TorrentName)

View file

@ -58,12 +58,14 @@ irc:
type: single
lines:
- test:
- "TORRENT: Amarok Quentadharkën CD/FLAC/Lossless folk.rock,progressive.rock https://orpheus.network/torrents.php?id=000000 https://orpheus.network/torrents.php?id=000000&torrentid=000000&action=download"
- "TORRENT: Signal Lost Simulacrum WEB/FLAC/24bit Lossless 2020s,alternative.rock,freely.available,post.rock,rock https://orpheus.network/torrents.php?id=000000 https://orpheus.network/torrents.php?id=0000000&torrentid=0000000&action=download"
- "TORRENT: Anne Sila Fruit défendu CD/FLAC/Lossless https://orpheus.network/torrents.php?id=000000 https://orpheus.network/torrents.php?id=000000&torrentid=0000000&action=download"
pattern: 'TORRENT: (.*) . (.*) . (.*) . .* (https:\/\/.*\/).*&torrentid=(.+)&action=download'
- "TORRENT: Dirty Dike Bogies & Alcohol [2008] [Album] CD/MP3/320 hip.hop,uk.hip.hop,united.kingdom https://orpheus.network/torrents.php?id=0000000 https://orpheus.network/torrents.php?id=0000000&torrentid=0000000&action=download"
- "TORRENT: Various Artists Bicycle Day: 85 Yrs of LSD Special [2023] [Compilation] WEB/FLAC/Lossless ambient,electronic https://orpheus.network/torrents.php?id=0000000 https://orpheus.network/torrents.php?id=0000000&torrentid=0000000&action=download"
- "TORRENT: Snoop Dogg Untitled [2001] [Sampler] Vinyl/MP3/320 https://orpheus.network/torrents.php?id=0000000 https://orpheus.network/torrents.php?id=0000000&torrentid=0000000&action=download"
pattern: 'TORRENT: (.* . \[(.*?)\] \[(.*?)\] (.*)) . \s*(.*) . https?:\/\/.* . (https?:\/\/.*\/).*torrentid=(\d+).*'
vars:
- torrentName
- year
- category
- releaseTags
- tags
- baseUrl

View file

@ -1,4 +1,4 @@
import { MultiSelectOption } from "../components/inputs/select";
import { MultiSelectOption } from "@/components/inputs/select";
export const resolutions = [
"2160p",
@ -127,19 +127,20 @@ export const QUALITY_MUSIC_OPTIONS: MultiSelectOption[] = qualityMusic.map(v =>
export const releaseTypeMusic = [
"Album",
"Single",
"EP",
"Soundtrack",
"Anthology",
"Compilation",
"Live album",
"Remix",
"Bootleg",
"Interview",
"Mixtape",
"Demo",
"Compilation",
"Concert Recording",
"Demo",
"DJ Mix",
"EP",
"Interview",
"Live album",
"Mixtape",
"Remix",
"Sampler",
"Single",
"Soundtrack",
"Unknown"
];