mirror of
https://github.com/Ernous/TorrServerJellyfin.git
synced 2025-12-19 21:46:11 +05:00
Merge branch 'master' into old-engine
This commit is contained in:
@@ -82,7 +82,7 @@ function installTorrServer() {
|
||||
echo ""
|
||||
}
|
||||
binName="TorrServer-darwin-${architecture}"
|
||||
[[ ! -d "$dirInstall" ]] && mkdir -p ${dirInstall}
|
||||
[[ ! -d "$dirInstall" ]] && mkdir -p ${dirInstall} && chmod a+rw ${dirInstall}
|
||||
urlBin="https://github.com/YouROK/TorrServer/releases/download/$(getLatestRelease)/${binName}"
|
||||
if [[ ! -f "$dirInstall/$binName" ]] | [[ ! -x "$dirInstall/$binName" ]] || [[ $(stat -c%s "$dirInstall/$binName" 2>/dev/null) -eq 0 ]]; then
|
||||
curl -L --progress-bar -# -o "$dirInstall/$binName" "$urlBin"
|
||||
@@ -174,7 +174,7 @@ EOF
|
||||
else
|
||||
sed -i '' -e '/httpauth/d' $dirInstall/$serviceName.plist
|
||||
fi
|
||||
[[ $lang == "en" ]] && read -p ' Add autostart for current user (1) or all users (2)? ' answer_cu </dev/tty || read -p ' Добавить автозагрузку для текушего пользователя (1) или всех (2)? ' answer_cu </dev/tty
|
||||
[[ $lang == "en" ]] && read -p ' Add autostart for current user (1) or all users (2)? ' answer_cu </dev/tty || read -p ' Добавить автозагрузку для текущего пользователя (1) или для всех (2)? ' answer_cu </dev/tty
|
||||
if [ "$answer_cu" != "${answer_cu#[1]}" ]; then
|
||||
# user
|
||||
sysPath="${HOME}/Library/LaunchAgents"
|
||||
|
||||
@@ -28,8 +28,9 @@ var (
|
||||
func Start() {
|
||||
go func() {
|
||||
if settings.BTsets.EnableRutorSearch {
|
||||
loadDB()
|
||||
updateDB()
|
||||
if !updateDB() {
|
||||
loadDB()
|
||||
}
|
||||
isStop = false
|
||||
for !isStop {
|
||||
for i := 0; i < 3*60*60; i++ {
|
||||
@@ -53,27 +54,27 @@ func Stop() {
|
||||
}
|
||||
|
||||
// https://github.com/yourok-0001/releases/raw/master/torr/rutor.ls
|
||||
func updateDB() {
|
||||
func updateDB() bool {
|
||||
log.TLogln("Update rutor db")
|
||||
fnTmp := filepath.Join(settings.Path, "rutor.tmp")
|
||||
out, err := os.Create(fnTmp)
|
||||
if err != nil {
|
||||
log.TLogln("Error create file rutor.tmp:", err)
|
||||
return
|
||||
return false
|
||||
}
|
||||
|
||||
resp, err := http.Get("https://github.com/yourok-0001/releases/raw/master/torr/rutor.ls")
|
||||
if err != nil {
|
||||
log.TLogln("Error connect to rutor db:", err)
|
||||
out.Close()
|
||||
return
|
||||
return false
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
_, err = io.Copy(out, resp.Body)
|
||||
out.Close()
|
||||
if err != nil {
|
||||
log.TLogln("Error download rutor db:", err)
|
||||
return
|
||||
return false
|
||||
}
|
||||
|
||||
fnOrig := filepath.Join(settings.Path, "rutor.ls")
|
||||
@@ -84,17 +85,19 @@ func updateDB() {
|
||||
err = os.Remove(fnOrig)
|
||||
if err != nil && !os.IsNotExist(err) {
|
||||
log.TLogln("Error remove old rutor db:", err)
|
||||
return
|
||||
return false
|
||||
}
|
||||
err = os.Rename(fnTmp, fnOrig)
|
||||
if err != nil {
|
||||
log.TLogln("Error rename rutor db:", err)
|
||||
return
|
||||
return false
|
||||
}
|
||||
loadDB()
|
||||
return true
|
||||
} else {
|
||||
os.Remove(fnTmp)
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func loadDB() {
|
||||
@@ -134,15 +137,6 @@ func loadDB() {
|
||||
|
||||
log.TLogln("Index rutor db")
|
||||
torrsearch.NewIndex(torrs)
|
||||
|
||||
//err = dec.Decode(&ftorrs)
|
||||
//if err == nil {
|
||||
// torrs = ftorrs
|
||||
// log.TLogln("Index rutor db")
|
||||
// torrsearch.NewIndex(torrs)
|
||||
//} else {
|
||||
// log.TLogln("Error read rutor db:", err)
|
||||
//}
|
||||
} else {
|
||||
log.TLogln("Error load rutor db:", err)
|
||||
}
|
||||
|
||||
@@ -57,42 +57,11 @@ func replaceChars(word string) string {
|
||||
|
||||
func isStopWord(word string) bool {
|
||||
switch word {
|
||||
case "a", "about", "above", "after", "again", "against", "all", "am", "an",
|
||||
"and", "any", "are", "as", "at", "be", "because", "been", "before",
|
||||
"being", "below", "between", "both", "but", "by", "can", "did", "do",
|
||||
"does", "doing", "don", "down", "during", "each", "few", "for", "from",
|
||||
"further", "had", "has", "have", "having", "he", "her", "here", "hers",
|
||||
"herself", "him", "himself", "his", "how", "i", "if", "in", "into", "is",
|
||||
"it", "its", "itself", "just", "me", "more", "most", "my", "myself",
|
||||
"no", "nor", "not", "now", "of", "off", "on", "once", "only", "or",
|
||||
"other", "our", "ours", "ourselves", "out", "over", "own", "s", "same",
|
||||
"she", "should", "so", "some", "such", "t", "than", "that", "the", "their",
|
||||
"theirs", "them", "themselves", "then", "there", "these", "they",
|
||||
"this", "those", "through", "to", "too", "under", "until", "up",
|
||||
"very", "was", "we", "were", "what", "when", "where", "which", "while",
|
||||
"who", "whom", "why", "will", "with", "you", "your", "yours", "yourself",
|
||||
"yourselves", "и", "в", "во", "не", "что", "он", "на", "я", "с",
|
||||
"со", "как", "а", "то", "все", "она", "так", "его",
|
||||
"но", "да", "ты", "к", "у", "же", "вы", "за", "бы",
|
||||
"по", "только", "ее", "мне", "было", "вот", "от",
|
||||
"меня", "еще", "нет", "о", "из", "ему", "теперь",
|
||||
"когда", "даже", "ну", "вдруг", "ли", "если", "уже",
|
||||
"или", "ни", "быть", "был", "него", "до", "вас",
|
||||
"нибудь", "опять", "уж", "вам", "ведь", "там", "потом",
|
||||
"себя", "ничего", "ей", "может", "они", "тут", "где",
|
||||
"есть", "надо", "ней", "для", "мы", "тебя", "их",
|
||||
"чем", "была", "сам", "чтоб", "без", "будто", "чего",
|
||||
"раз", "тоже", "себе", "под", "будет", "ж", "тогда",
|
||||
"кто", "этот", "того", "потому", "этого", "какой",
|
||||
"совсем", "ним", "здесь", "этом", "один", "почти",
|
||||
"мой", "тем", "чтобы", "нее", "сейчас", "были", "куда",
|
||||
"зачем", "всех", "никогда", "можно", "при", "наконец",
|
||||
"два", "об", "другой", "хоть", "после", "над", "больше",
|
||||
"тот", "через", "эти", "нас", "про", "всего", "них",
|
||||
"какая", "много", "разве", "три", "эту", "моя",
|
||||
"впрочем", "хорошо", "свою", "этой", "перед", "иногда",
|
||||
"лучше", "чуть", "том", "нельзя", "такой", "им", "более",
|
||||
"всегда", "конечно", "всю", "между":
|
||||
case "a", "am", "an", "and", "are", "as", "at", "be",
|
||||
"by", "did", "do", "is", "of", "or", "s", "so", "t",
|
||||
"и", "в", "с", "со", "а", "но", "к", "у",
|
||||
"же", "бы", "по", "от", "о", "из", "ну",
|
||||
"ли", "ни", "нибудь", "уж", "ведь", "ж", "об":
|
||||
return true
|
||||
}
|
||||
return false
|
||||
|
||||
@@ -2,7 +2,6 @@ package torrsearch
|
||||
|
||||
import (
|
||||
"server/rutor/models"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
// Index is an inverted Index. It maps tokens to document IDs.
|
||||
@@ -21,7 +20,7 @@ func Search(text string) []int {
|
||||
|
||||
func (idx Index) add(torrs []*models.TorrentDetails) {
|
||||
for ID, torr := range torrs {
|
||||
for _, token := range analyze(torr.Name + " " + torr.GetNames() + " " + strconv.Itoa(torr.Year)) {
|
||||
for _, token := range analyze(torr.Title) {
|
||||
ids := idx[token]
|
||||
if ids != nil && ids[len(ids)-1] == ID {
|
||||
// Don't add same ID twice.
|
||||
|
||||
@@ -18,6 +18,6 @@ func analyze(text string) []string {
|
||||
tokens := tokenize(text)
|
||||
tokens = lowercaseFilter(tokens)
|
||||
tokens = stopwordFilter(tokens)
|
||||
tokens = stemmerFilter(tokens)
|
||||
//tokens = stemmerFilter(tokens)
|
||||
return tokens
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user