mirror of
https://github.com/Ernous/TorrServerJellyfin.git
synced 2025-12-19 21:46:11 +05:00
update
This commit is contained in:
@@ -126,9 +126,9 @@ func (v *TDB) List(xpath string) []string {
|
||||
}
|
||||
}
|
||||
|
||||
buckt.ForEach(func(_, v []byte) error {
|
||||
if len(v) > 0 {
|
||||
ret = append(ret, string(v))
|
||||
buckt.ForEach(func(k, _ []byte) error {
|
||||
if len(k) > 0 {
|
||||
ret = append(ret, string(k))
|
||||
}
|
||||
return nil
|
||||
})
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
|
||||
"github.com/anacrolix/torrent"
|
||||
"github.com/anacrolix/torrent/metainfo"
|
||||
"server/torr"
|
||||
"server/torr/state"
|
||||
)
|
||||
|
||||
type TorrentDB struct {
|
||||
@@ -18,7 +18,7 @@ type TorrentDB struct {
|
||||
|
||||
Timestamp int64 `json:"timestamp,omitempty"`
|
||||
|
||||
Files []torr.TorrentFileStat `json:"files,omitempty"`
|
||||
Files []state.TorrentFileStat `json:"files,omitempty"`
|
||||
}
|
||||
|
||||
type File struct {
|
||||
@@ -63,7 +63,7 @@ func ListTorrent() []*TorrentDB {
|
||||
buf := tdb.Get("Torrents", key)
|
||||
if len(buf) > 0 {
|
||||
var torr *TorrentDB
|
||||
err := json.Unmarshal(buf, torr)
|
||||
err := json.Unmarshal(buf, &torr)
|
||||
if err == nil {
|
||||
list = append(list, torr)
|
||||
}
|
||||
|
||||
79
src/server/settings/viewed.go
Normal file
79
src/server/settings/viewed.go
Normal file
@@ -0,0 +1,79 @@
|
||||
package settings
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"server/log"
|
||||
)
|
||||
|
||||
type Viewed struct {
|
||||
Hash string `json:"hash"`
|
||||
FileIndex int `json:"file_index"`
|
||||
}
|
||||
|
||||
func SetViewed(vv *Viewed) {
|
||||
buf := tdb.Get("Viewed", vv.Hash)
|
||||
var indeces map[int]struct{}
|
||||
err := json.Unmarshal(buf, &indeces)
|
||||
if err == nil {
|
||||
indeces[vv.FileIndex] = struct{}{}
|
||||
buf, err = json.Marshal(indeces)
|
||||
if err == nil {
|
||||
tdb.Set("Viewed", vv.Hash, buf)
|
||||
}
|
||||
}
|
||||
if err != nil {
|
||||
log.TLogln("Error set viewed:", err)
|
||||
}
|
||||
}
|
||||
|
||||
func RemViewed(vv *Viewed) {
|
||||
buf := tdb.Get("Viewed", vv.Hash)
|
||||
var indeces map[int]struct{}
|
||||
err := json.Unmarshal(buf, &indeces)
|
||||
if err == nil {
|
||||
delete(indeces, vv.FileIndex)
|
||||
buf, err = json.Marshal(indeces)
|
||||
if err == nil {
|
||||
tdb.Set("Viewed", vv.Hash, buf)
|
||||
}
|
||||
}
|
||||
if err != nil {
|
||||
log.TLogln("Error rem viewed:", err)
|
||||
}
|
||||
}
|
||||
|
||||
func ListViewed(hash string) []*Viewed {
|
||||
var err error
|
||||
if hash != "" {
|
||||
buf := tdb.Get("Viewed", hash)
|
||||
var indeces map[int]struct{}
|
||||
err = json.Unmarshal(buf, &indeces)
|
||||
if err == nil {
|
||||
var ret []*Viewed
|
||||
for i, _ := range indeces {
|
||||
ret = append(ret, &Viewed{hash, i})
|
||||
}
|
||||
return ret
|
||||
}
|
||||
} else {
|
||||
var ret []*Viewed
|
||||
keys := tdb.List("Viewed")
|
||||
for _, key := range keys {
|
||||
buf := tdb.Get("Viewed", key)
|
||||
var indeces map[int]struct{}
|
||||
err = json.Unmarshal(buf, &indeces)
|
||||
if err == nil {
|
||||
for i, _ := range indeces {
|
||||
ret = append(ret, &Viewed{hash, i})
|
||||
}
|
||||
}
|
||||
}
|
||||
return ret
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
log.TLogln("Error list viewed:", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user