initial commit
This commit is contained in:
128
parsers.go
Normal file
128
parsers.go
Normal file
@ -0,0 +1,128 @@
|
||||
package parsers
|
||||
|
||||
import "git.tordarus.net/nyaanime/model"
|
||||
|
||||
/*
|
||||
how to get all torrent names on a nyaa page:
|
||||
|
||||
let s = "";
|
||||
document.querySelectorAll("tr > td:nth-child(2) > a:not(.comments)").forEach(element => {
|
||||
s += element.textContent + "\n";
|
||||
})
|
||||
console.log(s);
|
||||
|
||||
*/
|
||||
|
||||
var Parsers = []model.Parser{
|
||||
{
|
||||
Identity: "Erai-Raws",
|
||||
TorrentParser: RegexTorrentParser(
|
||||
`^\[Erai-raws\] (.*) - (.*?) (?:END )?(?:\[v\d+\])?\[(.*?)p\](?:\[HEVC\])?(?:\[Multiple Subtitle\])?(?:\s(\[.*?\]+)?|\[[A-Z0-9]{8}\]\.mkv)$`,
|
||||
TorrentParseOptions{
|
||||
Name: 1,
|
||||
Episode: 2,
|
||||
Resolution: 3,
|
||||
Subtitles: 4,
|
||||
SubtitleParser: SquareBracketsLanguageParser,
|
||||
DefaultLanguages: []string{"ja"},
|
||||
},
|
||||
),
|
||||
FileParser: RegexFileParser(
|
||||
`^\[Erai-raws\] (.*?) - (\d+?) .*?\.mkv$`,
|
||||
FileParseOptions{
|
||||
Name: 1,
|
||||
Episode: 2,
|
||||
},
|
||||
),
|
||||
},
|
||||
|
||||
{
|
||||
Identity: "SubsPlease",
|
||||
TorrentParser: RegexTorrentParser(
|
||||
`^\[SubsPlease\] (.*) - (\d+?) \((.*?)\) \[.*?\].mkv$`,
|
||||
TorrentParseOptions{
|
||||
Name: 1,
|
||||
Episode: 2,
|
||||
Resolution: 3,
|
||||
DefaultLanguages: []string{"ja"},
|
||||
DefaultSubtitles: []string{"en"},
|
||||
},
|
||||
),
|
||||
FileParser: RegexFileParser(
|
||||
`^\[SubsPlease\] (.*?) - (\d+?) .*?\.mkv$`,
|
||||
FileParseOptions{
|
||||
Name: 1,
|
||||
Episode: 2,
|
||||
},
|
||||
),
|
||||
},
|
||||
|
||||
{
|
||||
Identity: "PuyaSubs!",
|
||||
TorrentParser: RegexTorrentParser(
|
||||
`^\[PuyaSubs!\] (.*) - (\d+?) \[ESP-ENG\]\[(.*?)\]\[.*?\]\.mkv$`,
|
||||
TorrentParseOptions{
|
||||
Name: 1,
|
||||
Episode: 2,
|
||||
Resolution: 3,
|
||||
DefaultLanguages: []string{"ja"},
|
||||
DefaultSubtitles: []string{"en"},
|
||||
},
|
||||
),
|
||||
FileParser: RegexFileParser(
|
||||
`^\[PuyaSubs!\] (.*?) - (\d+?) .*?\.mkv$`,
|
||||
FileParseOptions{
|
||||
Name: 1,
|
||||
Episode: 2,
|
||||
},
|
||||
),
|
||||
|
||||
// tag 0th audio stream as japanese language and copy all other streams unchanged into output file
|
||||
FileEncoding: "-map 0 -c:v copy -c:a copy -c:s copy -metadata:s:a:0 language=jpn",
|
||||
},
|
||||
|
||||
{
|
||||
Identity: "NanakoRaws-JP",
|
||||
TorrentParser: RegexTorrentParser(
|
||||
`^\[NanakoRaws\] (.*?) - (\d+?)(?:v\d+)?(?: END)? \((.*?)p\)(?: \(.*?\))?\.mkv \(include JPsub.*?\)$`,
|
||||
TorrentParseOptions{
|
||||
Name: 1,
|
||||
Episode: 2,
|
||||
Resolution: 3,
|
||||
DefaultLanguages: []string{"ja"},
|
||||
DefaultSubtitles: []string{"ja"},
|
||||
},
|
||||
),
|
||||
FileParser: RegexFileParser(
|
||||
`^\[NanakoRaws\] (.*?) - (\d+?)(?:v\d+)?(?: END)? \((.*?)p\)(?: \(.*?\))?\.mkv$`,
|
||||
FileParseOptions{
|
||||
Name: 1,
|
||||
Episode: 2,
|
||||
},
|
||||
),
|
||||
|
||||
// tag 0th audio stream and subtitle stream as japanese language and copy all other streams unchanged into output file
|
||||
FileEncoding: "-map 0 -c:v copy -c:a copy -c:s copy -metadata:s:a:0 language=jpn -metadata:s:s:0 language=jpn",
|
||||
},
|
||||
|
||||
{
|
||||
Identity: "Ohys-Raws",
|
||||
TorrentParser: RegexTorrentParser(
|
||||
`^\[Ohys-Raws\] (.*?) - (\d+?) \(.*? \d+x(\d+?) .*?\)(?: v2)?\.mp4$`,
|
||||
TorrentParseOptions{
|
||||
Name: 1,
|
||||
Episode: 2,
|
||||
Resolution: 3,
|
||||
DefaultLanguages: []string{"ja"},
|
||||
DefaultSubtitles: []string{},
|
||||
},
|
||||
),
|
||||
FileParser: RegexFileParser(
|
||||
`^\[Ohys-Raws\] (.*) - (.*?) (?:END )?\(.*?\)(?: v2)?\.mp4$`,
|
||||
FileParseOptions{
|
||||
Name: 1,
|
||||
Episode: 2,
|
||||
},
|
||||
),
|
||||
},
|
||||
}
|
Reference in New Issue
Block a user