mirror of
https://github.com/OPSnet/Logchecker.git
synced 2026-01-16 18:04:27 -05:00
Fix some parse bugs with whipper logs
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "orpheusnet/logchecker",
|
||||
"description": "Logchecker for validating logs generated from supported ripping programs (like EAC and XLD)",
|
||||
"version": "0.8.4",
|
||||
"version": "0.8.5",
|
||||
"license": "Unlicense",
|
||||
"type": "library",
|
||||
"authors": [
|
||||
|
||||
@@ -116,6 +116,11 @@ class Logchecker {
|
||||
}
|
||||
|
||||
private function convert_encoding() {
|
||||
// Whipper uses UTF-8 so we don't need to bother checking, especially as it's
|
||||
// possible a log may be falsely detected as a different encoding by chardet
|
||||
if (strpos($this->Log, "Log created by: whipper") !== false) {
|
||||
return;
|
||||
}
|
||||
// To parse the log, we want to deal with the log in UTF-8. EAC by default should
|
||||
// always output to UTF-16 and XLD to UTF-8, but sometimes people view the log and
|
||||
// re-encode them to something else (like Windows-1251), and we need to use chardet
|
||||
@@ -159,8 +164,15 @@ class Logchecker {
|
||||
}
|
||||
|
||||
private function whipper_parse() {
|
||||
// Whipper 0.7.x has an issue where it can produce invalid YAML
|
||||
// as it hand writes out the values without dealing properly
|
||||
// with the escaping the output, so we fix that here
|
||||
$log = preg_replace_callback('/^ Release: (.+)$/m', function ($match) {
|
||||
return " Release: ".Yaml::dump($match[1]);
|
||||
}, $this->Log);
|
||||
|
||||
try {
|
||||
$Yaml = Yaml::parse($this->Log);
|
||||
$Yaml = Yaml::parse($log);
|
||||
}
|
||||
catch (ParseException $exception) {
|
||||
$this->account('Could not parse whipper log.', 100);
|
||||
|
||||
Reference in New Issue
Block a user