mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-05-31 04:04:21 -04:00
Add json file to cache /info
This commit is contained in:
parent
8b6741641c
commit
98ead6ac69
@ -1,7 +1,11 @@
|
|||||||
package src
|
package src
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"io"
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
@ -185,6 +189,12 @@ func GetInfo(path string, sha string, route string) (*MediaInfo, error) {
|
|||||||
ready: readyChan,
|
ready: readyChan,
|
||||||
}
|
}
|
||||||
go func() {
|
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
|
var val *MediaInfo
|
||||||
val, err = getInfo(path, route)
|
val, err = getInfo(path, route)
|
||||||
*mi = *val
|
*mi = *val
|
||||||
@ -198,6 +208,22 @@ func GetInfo(path string, sha string, route string) (*MediaInfo, error) {
|
|||||||
return ret, err
|
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) {
|
func getInfo(path string, route string) (*MediaInfo, error) {
|
||||||
defer printExecTime("mediainfo for %s", path)()
|
defer printExecTime("mediainfo for %s", path)()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user