Make old navigation use user torrent search route when needed (#1678)
* Update template_functions.go * Update listing.jet.html * Update oldNav.jet.html * Update template_functions_test.go * Update template_functions_test.go * Update view.jet.html * Update torrent.go
Cette révision appartient à :
Parent
b938649c75
révision
8a8137fd58
6 fichiers modifiés avec 28 ajouts et 26 suppressions
|
@ -357,9 +357,9 @@ func (t *Torrent) ToJSON() TorrentJSON {
|
||||||
statsObsolete[0] = true
|
statsObsolete[0] = true
|
||||||
//The displayed stats are obsolete, S/D/L will show "Unknown"
|
//The displayed stats are obsolete, S/D/L will show "Unknown"
|
||||||
}
|
}
|
||||||
if time.Since(scrape.LastScrape).Hours() > 730 || (scrape.Seeders == 0 && scrape.Leechers == 0 && scrape.Completed == 0 && time.Since(scrape.LastScrape).Hours() > 12) {
|
if time.Since(scrape.LastScrape).Hours() > 730 || (scrape.Seeders == 0 && scrape.Leechers == 0 && scrape.Completed == 0 && time.Since(scrape.LastScrape).Hours() >= 1) {
|
||||||
statsObsolete[1] = true
|
statsObsolete[1] = true
|
||||||
//The stats need to be refreshed, either because they are valid and older than one months (not as reliable) OR if they are unknown but have been scraped more than 12h ago
|
//The stats need to be refreshed, either because they are valid and older than one month (not that reliable) OR if they are unknown but have been scraped 1h (or more) ago
|
||||||
}
|
}
|
||||||
|
|
||||||
t.ParseLanguages()
|
t.ParseLanguages()
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
<div class="box refine website-nav">
|
<div class="box refine website-nav">
|
||||||
<table id="nav-category-list">
|
<table id="nav-category-list">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr><td>{{if Search.Category == ""}}<b>{{ T("all_categories")}}</b>{{else}}<a href="{{genSearchWithCategory(URL, "_")}}">{{ T("all_categories")}}</a>{{end}}</td></tr>
|
<tr><td>{{if Search.Category == ""}}<b>{{ T("all_categories")}}</b>{{else}}<a href="{{genSearchWithCategory(URL, "_", Search.SearchURL)}}">{{ T("all_categories")}}</a>{{end}}</td></tr>
|
||||||
<tr>
|
<tr>
|
||||||
{{ range _, cat := GetCategories(true, false) }}
|
{{ range _, cat := GetCategories(true, false) }}
|
||||||
<td>{{if Search.Category == cat.ID ||(len(Search.Category) > 2 && Search.Category[:2] == cat.ID)}}<b>{{ T(cat.Name) }}</b>{{else}}<a href="{{genSearchWithCategory(URL, cat.ID)}}">{{ T(cat.Name) }}</a>{{end}}</td>
|
<td>{{if Search.Category == cat.ID ||(len(Search.Category) > 2 && Search.Category[:2] == cat.ID)}}<b>{{ T(cat.Name) }}</b>{{else}}<a href="{{genSearchWithCategory(URL, cat.ID, Search.SearchURL)}}">{{ T(cat.Name) }}</a>{{end}}</td>
|
||||||
{{ if _ % 3 == 2}}
|
{{ if _ % 3 == 2}}
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -20,7 +20,7 @@
|
||||||
{{ range _, cat := GetCategory(Search.Category[:1], true)}}
|
{{ range _, cat := GetCategory(Search.Category[:1], true)}}
|
||||||
<span>
|
<span>
|
||||||
{{if Search.Category == cat.ID}}<b>{{ T(cat.Name) }}</b>{{else}}
|
{{if Search.Category == cat.ID}}<b>{{ T(cat.Name) }}</b>{{else}}
|
||||||
<a href="{{genSearchWithCategory(URL, cat.ID)}}">{{ T(cat.Name)}}</a>{{end}}
|
<a href="{{genSearchWithCategory(URL, cat.ID, Search.SearchURL)}}">{{ T(cat.Name)}}</a>{{end}}
|
||||||
</span>
|
</span>
|
||||||
{{end}}
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
|
@ -29,17 +29,17 @@
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
{{ if Search.Sort != 2 && Search.Sort != 0}}<a href="{{ genSearchWithOrdering(URL, "2") }}">{{ T("date") }}</a>{{else}}<b>{{ T("date") }}</b>{{end}} /
|
{{ if Search.Sort != 2 && Search.Sort != 0}}<a href="{{ genSearchWithOrdering(URL, "2", Search.SearchURL) }}">{{ T("date") }}</a>{{else}}<b>{{ T("date") }}</b>{{end}} /
|
||||||
{{ if Search.Sort != 5}}<a href="{{ genSearchWithOrdering(URL, "5") }}">{{ T("seeders") }}</a>{{else}}<b>{{ T("seeders") }}</b>{{end}} /
|
{{ if Search.Sort != 5}}<a href="{{ genSearchWithOrdering(URL, "5", Search.SearchURL) }}">{{ T("seeders") }}</a>{{else}}<b>{{ T("seeders") }}</b>{{end}} /
|
||||||
{{ if Search.Sort != 6}}<a href="{{ genSearchWithOrdering(URL, "6") }}">{{ T("leechers") }}</a>{{else}}<b>{{ T("leechers") }}</b>{{end}} /
|
{{ if Search.Sort != 6}}<a href="{{ genSearchWithOrdering(URL, "6", Search.SearchURL) }}">{{ T("leechers") }}</a>{{else}}<b>{{ T("leechers") }}</b>{{end}} /
|
||||||
{{ if Search.Sort != 7}}<a href="{{ genSearchWithOrdering(URL, "7") }}">{{ T("completed") }}</a>{{else}}<b>{{ T("completed") }}</b>{{end}} /
|
{{ if Search.Sort != 7}}<a href="{{ genSearchWithOrdering(URL, "7", Search.SearchURL) }}">{{ T("completed") }}</a>{{else}}<b>{{ T("completed") }}</b>{{end}} /
|
||||||
{{ if Search.Sort != 4}}<a href="{{ genSearchWithOrdering(URL, "4") }}">{{ T("size") }}</a>{{else}}<b>{{ T("size") }}</b>{{end}} /
|
{{ if Search.Sort != 4}}<a href="{{ genSearchWithOrdering(URL, "4", Search.SearchURL) }}">{{ T("size") }}</a>{{else}}<b>{{ T("size") }}</b>{{end}} /
|
||||||
{{ if Search.Sort != 1}}<a href="{{ genSearchWithOrdering(URL, "1") }}">{{ T("name") }}</a>{{else}}<b>{{ T("name") }}</b>{{end}}
|
{{ if Search.Sort != 1}}<a href="{{ genSearchWithOrdering(URL, "1", Search.SearchURL) }}">{{ T("name") }}</a>{{else}}<b>{{ T("name") }}</b>{{end}}
|
||||||
</td>
|
</td>
|
||||||
<td style="padding: 0 0.35em!important;"> | </td>
|
<td style="padding: 0 0.35em!important;"> | </td>
|
||||||
<td>
|
<td>
|
||||||
{{ if Search.Order}}<a href="{{ genSearchWithOrdering(URL, toString(Search.Sort)) }}">{{ T("ascending") }}</a>{{else}}<b>{{ T("ascending") }}</b>{{end}} /
|
{{ if Search.Order}}<a href="{{ genSearchWithOrdering(URL, toString(Search.Sort), Search.SearchURL) }}">{{ T("ascending") }}</a>{{else}}<b>{{ T("ascending") }}</b>{{end}} /
|
||||||
{{ if !Search.Order}}<a href="{{ genSearchWithOrdering(URL, toString(Search.Sort)) }}">{{ T("descending") }}</a>{{else}}<b>{{ T("descending") }}</b>{{end}}
|
{{ if !Search.Order}}<a href="{{ genSearchWithOrdering(URL, toString(Search.Sort), Search.SearchURL) }}">{{ T("descending") }}</a>{{else}}<b>{{ T("descending") }}</b>{{end}}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|
|
@ -18,35 +18,35 @@
|
||||||
{{end}}
|
{{end}}
|
||||||
<th class="tr-cat">{{ T("category")}}</th>
|
<th class="tr-cat">{{ T("category")}}</th>
|
||||||
<th class="tr-name">
|
<th class="tr-name">
|
||||||
<a href="{{ genSearchWithOrdering(URL, "1") }}">
|
<a href="{{ genSearchWithOrdering(URL, "1", Search.SearchURL) }}">
|
||||||
{{ T("name")}}
|
{{ T("name")}}
|
||||||
<span class="sort-arrows">{{ genSortArrows(URL, "1")|raw }}</span>
|
<span class="sort-arrows">{{ genSortArrows(URL, "1")|raw }}</span>
|
||||||
</a>
|
</a>
|
||||||
</th>
|
</th>
|
||||||
<th class="tr-cs" style="font-size: 0px;">Msg</th>
|
<th class="tr-cs" style="font-size: 0px;">Msg</th>
|
||||||
<th class="tr-links"></th>
|
<th class="tr-links"></th>
|
||||||
<th class="tr-size hide-xs"><a href="{{ genSearchWithOrdering(URL, "4") }}">{{ T("size")}}<span class="sort-arrows">{{ genSortArrows(URL, "4")|raw }}</span></a></th>
|
<th class="tr-size hide-xs"><a href="{{ genSearchWithOrdering(URL, "4", Search.SearchURL) }}">{{ T("size")}}<span class="sort-arrows">{{ genSortArrows(URL, "4")|raw }}</span></a></th>
|
||||||
|
|
||||||
<th class="tr-se hide-smol">
|
<th class="tr-se hide-smol">
|
||||||
<a href="{{ genSearchWithOrdering(URL, "5") }}">
|
<a href="{{ genSearchWithOrdering(URL, "5", Search.SearchURL) }}">
|
||||||
{{ T("S")}}
|
{{ T("S")}}
|
||||||
<span class="sort-arrows">{{ genSortArrows(URL, "5")|raw }}</span>
|
<span class="sort-arrows">{{ genSortArrows(URL, "5")|raw }}</span>
|
||||||
</a>
|
</a>
|
||||||
</th>
|
</th>
|
||||||
<th class="tr-le hide-smol">
|
<th class="tr-le hide-smol">
|
||||||
<a href="{{ genSearchWithOrdering(URL, "6") }}">
|
<a href="{{ genSearchWithOrdering(URL, "6", Search.SearchURL) }}">
|
||||||
{{ T("L")}}
|
{{ T("L")}}
|
||||||
<span class="sort-arrows">{{ genSortArrows(URL, "6")|raw }}</span>
|
<span class="sort-arrows">{{ genSortArrows(URL, "6")|raw }}</span>
|
||||||
</a>
|
</a>
|
||||||
</th>
|
</th>
|
||||||
<th class="tr-dl hide-xs">
|
<th class="tr-dl hide-xs">
|
||||||
<a href="{{ genSearchWithOrdering(URL, "7") }}">
|
<a href="{{ genSearchWithOrdering(URL, "7", Search.SearchURL) }}">
|
||||||
{{ T("D")}}
|
{{ T("D")}}
|
||||||
<span class="sort-arrows">{{ genSortArrows(URL, "7")|raw }}</span>
|
<span class="sort-arrows">{{ genSortArrows(URL, "7")|raw }}</span>
|
||||||
</a>
|
</a>
|
||||||
</th>
|
</th>
|
||||||
<!-- <th><span class="glyphicon glyphicon-comment"></span></th> -->
|
<!-- <th><span class="glyphicon glyphicon-comment"></span></th> -->
|
||||||
<th class="tr-date hide-xs"><a href="{{ genSearchWithOrdering(URL, "2") }}">
|
<th class="tr-date hide-xs"><a href="{{ genSearchWithOrdering(URL, "2", Search.SearchURL) }}">
|
||||||
{{ T("date")}}
|
{{ T("date")}}
|
||||||
<span class="sort-arrows">{{ genSortArrows(URL, "2")|raw }}</span>
|
<span class="sort-arrows">{{ genSortArrows(URL, "2")|raw }}</span>
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -315,6 +315,9 @@
|
||||||
downloads.innerHTML = "Loading..."
|
downloads.innerHTML = "Loading..."
|
||||||
|
|
||||||
Query.Get('/stats/{{Torrent.ID}}', function (data) {
|
Query.Get('/stats/{{Torrent.ID}}', function (data) {
|
||||||
|
if(typeof data.seeders != "undefined")
|
||||||
|
scrapeDate.innerText = new Date().toLocaleString(document.getElementsByTagName("html")[0].getAttribute("lang"), "ymdOpt")
|
||||||
|
|
||||||
if(typeof data.seeders != "undefined" && data.seeders != -1) {
|
if(typeof data.seeders != "undefined" && data.seeders != -1) {
|
||||||
seeders.innerHTML = "<span>" + data.seeders + "</span>"
|
seeders.innerHTML = "<span>" + data.seeders + "</span>"
|
||||||
leechers.innerHTML = "<span>" + data.leechers + "</span>"
|
leechers.innerHTML = "<span>" + data.leechers + "</span>"
|
||||||
|
@ -324,7 +327,6 @@
|
||||||
leechers.innerHTML = oldStats[1]
|
leechers.innerHTML = oldStats[1]
|
||||||
downloads.innerHTML = oldStats[2]
|
downloads.innerHTML = oldStats[2]
|
||||||
}
|
}
|
||||||
scrapeDate.innerText = new Date().toLocaleString(document.getElementsByTagName("html")[0].getAttribute("lang"), "ymdOpt")
|
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
|
@ -65,7 +65,7 @@ func templateFunctions(vars jet.VarMap) jet.VarMap {
|
||||||
func getRawQuery(currentURL *url.URL) string {
|
func getRawQuery(currentURL *url.URL) string {
|
||||||
return currentURL.RawQuery
|
return currentURL.RawQuery
|
||||||
}
|
}
|
||||||
func genSearchWithOrdering(currentURL *url.URL, sortBy string) string {
|
func genSearchWithOrdering(currentURL *url.URL, sortBy string, searchRoute string) string {
|
||||||
values := currentURL.Query()
|
values := currentURL.Query()
|
||||||
order := false //Default is DESC
|
order := false //Default is DESC
|
||||||
sort := "2" //Default is Date (Actually ID, but Date is the same thing)
|
sort := "2" //Default is Date (Actually ID, but Date is the same thing)
|
||||||
|
@ -86,13 +86,13 @@ func genSearchWithOrdering(currentURL *url.URL, sortBy string) string {
|
||||||
values.Set("sort", sortBy)
|
values.Set("sort", sortBy)
|
||||||
values.Set("order", strconv.FormatBool(order))
|
values.Set("order", strconv.FormatBool(order))
|
||||||
|
|
||||||
u, _ := url.Parse("/search")
|
u, _ := url.Parse(searchRoute)
|
||||||
u.RawQuery = values.Encode()
|
u.RawQuery = values.Encode()
|
||||||
|
|
||||||
return u.String()
|
return u.String()
|
||||||
}
|
}
|
||||||
|
|
||||||
func genSearchWithCategory(currentURL *url.URL, category string) string {
|
func genSearchWithCategory(currentURL *url.URL, category string, searchRoute string) string {
|
||||||
values := currentURL.Query()
|
values := currentURL.Query()
|
||||||
cat := "_" //Default
|
cat := "_" //Default
|
||||||
|
|
||||||
|
@ -104,7 +104,7 @@ func genSearchWithCategory(currentURL *url.URL, category string) string {
|
||||||
|
|
||||||
values.Set("c", cat)
|
values.Set("c", cat)
|
||||||
|
|
||||||
u, _ := url.Parse("/search")
|
u, _ := url.Parse(searchRoute)
|
||||||
u.RawQuery = values.Encode()
|
u.RawQuery = values.Encode()
|
||||||
|
|
||||||
return u.String()
|
return u.String()
|
||||||
|
|
|
@ -101,7 +101,7 @@ func TestGenSearchWithOrdering(t *testing.T) {
|
||||||
|
|
||||||
for _, test := range tests {
|
for _, test := range tests {
|
||||||
url, _ := url.Parse(test["test"])
|
url, _ := url.Parse(test["test"])
|
||||||
value := genSearchWithOrdering(url, test["mode"])
|
value := genSearchWithOrdering(url, test["mode"], "/search")
|
||||||
if value != test["expected"] {
|
if value != test["expected"] {
|
||||||
t.Errorf("Unexpected value from the function genSearchWithOrdering, got '%s', wanted '%s' for '%s' and '%s'", value, test["expected"], test["test"], test["mode"])
|
t.Errorf("Unexpected value from the function genSearchWithOrdering, got '%s', wanted '%s' for '%s' and '%s'", value, test["expected"], test["test"], test["mode"])
|
||||||
}
|
}
|
||||||
|
@ -119,7 +119,7 @@ func TestgenSearchWithCategory(t *testing.T) {
|
||||||
|
|
||||||
for _, test := range tests {
|
for _, test := range tests {
|
||||||
url, _ := url.Parse(test["test"])
|
url, _ := url.Parse(test["test"])
|
||||||
value := genSearchWithCategory(url, test["mode"])
|
value := genSearchWithCategory(url, test["mode"], "/search")
|
||||||
if value != test["expected"] {
|
if value != test["expected"] {
|
||||||
t.Errorf("Unexpected value from the function genSearchWithCategory, got '%s', wanted '%s' for '%s' and '%s'", value, test["expected"], test["test"], test["mode"])
|
t.Errorf("Unexpected value from the function genSearchWithCategory, got '%s', wanted '%s' for '%s' and '%s'", value, test["expected"], test["test"], test["mode"])
|
||||||
}
|
}
|
||||||
|
|
Référencer dans un nouveau ticket