mirror of
https://github.com/Ernous/TorrServerJellyfin.git
synced 2025-12-19 21:46:11 +05:00
add data to torrent
This commit is contained in:
@@ -15,6 +15,7 @@ type TorrentDB struct {
|
|||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Title string `json:"title,omitempty"`
|
Title string `json:"title,omitempty"`
|
||||||
Poster string `json:"poster,omitempty"`
|
Poster string `json:"poster,omitempty"`
|
||||||
|
Data string `json:"data,omitempty"`
|
||||||
|
|
||||||
Timestamp int64 `json:"timestamp,omitempty"`
|
Timestamp int64 `json:"timestamp,omitempty"`
|
||||||
Size int64 `json:"size,omitempty"`
|
Size int64 `json:"size,omitempty"`
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ func InitApiHelper(bt *BTServer) {
|
|||||||
bts = bt
|
bts = bt
|
||||||
}
|
}
|
||||||
|
|
||||||
func AddTorrent(spec *torrent.TorrentSpec, title, poster string) (*Torrent, error) {
|
func AddTorrent(spec *torrent.TorrentSpec, title, poster string, data string) (*Torrent, error) {
|
||||||
torr, err := NewTorrent(spec, bts)
|
torr, err := NewTorrent(spec, bts)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.TLogln("error add torrent:", err)
|
log.TLogln("error add torrent:", err)
|
||||||
@@ -41,6 +41,12 @@ func AddTorrent(spec *torrent.TorrentSpec, title, poster string) (*Torrent, erro
|
|||||||
torr.Poster = torDB.Poster
|
torr.Poster = torDB.Poster
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if torr.Data == "" {
|
||||||
|
torr.Data = data
|
||||||
|
if torr.Data == "" && torDB != nil {
|
||||||
|
torr.Data = torDB.Data
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return torr, nil
|
return torr, nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ func AddTorrentDB(torr *Torrent) {
|
|||||||
t.TorrentSpec = torr.TorrentSpec
|
t.TorrentSpec = torr.TorrentSpec
|
||||||
t.Name = torr.Name()
|
t.Name = torr.Name()
|
||||||
t.Title = torr.Title
|
t.Title = torr.Title
|
||||||
|
t.Data = torr.Data
|
||||||
if t.Title == "" {
|
if t.Title == "" {
|
||||||
t.Title = t.Name
|
t.Title = t.Name
|
||||||
}
|
}
|
||||||
@@ -36,6 +37,7 @@ func GetTorrentDB(hash metainfo.Hash) *Torrent {
|
|||||||
torr.Poster = db.Poster
|
torr.Poster = db.Poster
|
||||||
torr.Timestamp = db.Timestamp
|
torr.Timestamp = db.Timestamp
|
||||||
torr.Size = db.Size
|
torr.Size = db.Size
|
||||||
|
torr.Data = db.Data
|
||||||
torr.Stat = state.TorrentInDB
|
torr.Stat = state.TorrentInDB
|
||||||
return torr
|
return torr
|
||||||
}
|
}
|
||||||
@@ -57,6 +59,7 @@ func ListTorrentsDB() map[metainfo.Hash]*Torrent {
|
|||||||
torr.Poster = db.Poster
|
torr.Poster = db.Poster
|
||||||
torr.Timestamp = db.Timestamp
|
torr.Timestamp = db.Timestamp
|
||||||
torr.Size = db.Size
|
torr.Size = db.Size
|
||||||
|
torr.Data = db.Data
|
||||||
torr.Stat = state.TorrentInDB
|
torr.Stat = state.TorrentInDB
|
||||||
ret[torr.TorrentSpec.InfoHash] = torr
|
ret[torr.TorrentSpec.InfoHash] = torr
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import (
|
|||||||
type Torrent struct {
|
type Torrent struct {
|
||||||
Title string
|
Title string
|
||||||
Poster string
|
Poster string
|
||||||
|
Data string
|
||||||
*torrent.TorrentSpec
|
*torrent.TorrentSpec
|
||||||
|
|
||||||
Stat state.TorrentStat
|
Stat state.TorrentStat
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ func stream(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
tor, err := torr.AddTorrent(spec, title, poster)
|
tor, err := torr.AddTorrent(spec, title, poster, "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.AbortWithError(http.StatusInternalServerError, err)
|
c.AbortWithError(http.StatusInternalServerError, err)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ type torrReqJS struct {
|
|||||||
Hash string `json:"hash,omitempty"`
|
Hash string `json:"hash,omitempty"`
|
||||||
Title string `json:"title,omitempty"`
|
Title string `json:"title,omitempty"`
|
||||||
Poster string `json:"poster,omitempty"`
|
Poster string `json:"poster,omitempty"`
|
||||||
|
Data string `json:"data,omitempty"`
|
||||||
SaveToDB bool `json:"save_to_db,omitempty"`
|
SaveToDB bool `json:"save_to_db,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -68,7 +69,7 @@ func addTorrent(req torrReqJS, c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
tor, err := torr.AddTorrent(torrSpec, req.Title, req.Poster)
|
tor, err := torr.AddTorrent(torrSpec, req.Title, req.Poster, req.Data)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.TLogln("error add torrent:", err)
|
log.TLogln("error add torrent:", err)
|
||||||
c.AbortWithError(http.StatusInternalServerError, err)
|
c.AbortWithError(http.StatusInternalServerError, err)
|
||||||
|
|||||||
@@ -28,6 +28,10 @@ func torrentUpload(c *gin.Context) {
|
|||||||
if len(form.Value["poster"]) > 0 {
|
if len(form.Value["poster"]) > 0 {
|
||||||
poster = form.Value["poster"][0]
|
poster = form.Value["poster"][0]
|
||||||
}
|
}
|
||||||
|
data := ""
|
||||||
|
if len(form.Value["data"]) > 0 {
|
||||||
|
data = form.Value["data"][0]
|
||||||
|
}
|
||||||
|
|
||||||
for name, file := range form.File {
|
for name, file := range form.File {
|
||||||
log.TLogln("add torrent file", name)
|
log.TLogln("add torrent file", name)
|
||||||
@@ -45,7 +49,7 @@ func torrentUpload(c *gin.Context) {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
tor, err := torr.AddTorrent(spec, title, poster)
|
tor, err := torr.AddTorrent(spec, title, poster, data)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.TLogln("error upload torrent:", err)
|
log.TLogln("error upload torrent:", err)
|
||||||
continue
|
continue
|
||||||
|
|||||||
Reference in New Issue
Block a user