mirror of
https://github.com/Ernous/TorrServerJellyfin.git
synced 2025-12-19 21:46:11 +05:00
fix error with windows file path
This commit is contained in:
@@ -2,8 +2,10 @@ package helpers
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/url"
|
"net/url"
|
||||||
|
"runtime"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@@ -24,8 +26,10 @@ func GetMagnet(link string) (*metainfo.Magnet, error) {
|
|||||||
mag, err = getMagFromHttp(url.String())
|
mag, err = getMagFromHttp(url.String())
|
||||||
case "":
|
case "":
|
||||||
mag, err = getMag("magnet:?xt=urn:btih:" + url.Path)
|
mag, err = getMag("magnet:?xt=urn:btih:" + url.Path)
|
||||||
default:
|
case "file":
|
||||||
mag, err = getMagFromFile(url.Path)
|
mag, err = getMagFromFile(url.Path)
|
||||||
|
default:
|
||||||
|
err = fmt.Errorf("unknown scheme:", url, url.Scheme)
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -71,7 +75,9 @@ func getMagFromHttp(url string) (*metainfo.Magnet, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func getMagFromFile(path string) (*metainfo.Magnet, error) {
|
func getMagFromFile(path string) (*metainfo.Magnet, error) {
|
||||||
|
if runtime.GOOS == "windows" && strings.HasPrefix(path, "/") {
|
||||||
|
path = strings.TrimPrefix(path, "/")
|
||||||
|
}
|
||||||
minfo, err := metainfo.LoadFromFile(path)
|
minfo, err := metainfo.LoadFromFile(path)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|||||||
Reference in New Issue
Block a user