mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-05-24 02:02:36 -04:00
Add json file to cache /info
This commit is contained in:
parent
8b6741641c
commit
98ead6ac69
@ -1,7 +1,11 @@
|
||||
package src
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"log"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
"strings"
|
||||
@ -185,6 +189,12 @@ func GetInfo(path string, sha string, route string) (*MediaInfo, error) {
|
||||
ready: readyChan,
|
||||
}
|
||||
go func() {
|
||||
if err := getSavedInfo(sha, mi); err == nil {
|
||||
log.Printf("Using mediainfo cache on filesystem for %s", path)
|
||||
close(readyChan)
|
||||
return
|
||||
}
|
||||
|
||||
var val *MediaInfo
|
||||
val, err = getInfo(path, route)
|
||||
*mi = *val
|
||||
@ -198,6 +208,22 @@ func GetInfo(path string, sha string, route string) (*MediaInfo, error) {
|
||||
return ret, err
|
||||
}
|
||||
|
||||
func getSavedInfo(sha string, mi *MediaInfo) error {
|
||||
saved_file, err := os.Open(fmt.Sprintf("%s/%s/info.json", Settings.Metadata, sha))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
saved, err := io.ReadAll(saved_file)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = json.Unmarshal([]byte(saved), mi)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func getInfo(path string, route string) (*MediaInfo, error) {
|
||||
defer printExecTime("mediainfo for %s", path)()
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user