update: add pool query to package page
This commit is contained in:
parent
6815f1a762
commit
5bf6876558
17
lib/pool.go
17
lib/pool.go
@ -8,6 +8,8 @@ import (
|
||||
"io"
|
||||
"os"
|
||||
"path"
|
||||
"strings"
|
||||
"unicode"
|
||||
|
||||
"github.com/bigkevmcd/go-configparser"
|
||||
)
|
||||
@ -25,6 +27,21 @@ type Pool struct {
|
||||
Dir string `json:"dir"`
|
||||
}
|
||||
|
||||
func (p *Pool) ID() string {
|
||||
var res string = ""
|
||||
|
||||
for _, c := range p.Display {
|
||||
if unicode.IsDigit(c) || unicode.IsLetter(c) {
|
||||
res += string(c)
|
||||
continue
|
||||
}
|
||||
|
||||
res += "-"
|
||||
}
|
||||
|
||||
return strings.TrimSuffix(res, "-")
|
||||
}
|
||||
|
||||
func (p *Pool) Load(list *[]Package) error {
|
||||
var err error
|
||||
|
||||
|
@ -12,6 +12,7 @@ func GET_package(c *fiber.Ctx) error {
|
||||
var (
|
||||
name string
|
||||
version string
|
||||
pool string
|
||||
list *[]lib.Package
|
||||
)
|
||||
|
||||
@ -21,11 +22,11 @@ func GET_package(c *fiber.Ctx) error {
|
||||
list = c.Locals("list").(*[]lib.Package)
|
||||
version = c.Params("version")
|
||||
name = c.Params("name")
|
||||
pool = c.Query("p")
|
||||
|
||||
for _, pkg := range *list {
|
||||
if pkg.Name != name || (version != "ANY" && pkg.Version != version) {
|
||||
if pkg.Name != name || (version != "ANY" && pkg.Version != version) || (pool != "" && pkg.Pool.ID() != pool) {
|
||||
continue
|
||||
|
||||
}
|
||||
|
||||
if is_download {
|
||||
|
@ -49,7 +49,7 @@
|
||||
</tr>
|
||||
{{range .list}}
|
||||
<tr>
|
||||
<td><a href="/p/{{.Name}}/{{.Version}}">{{.Name}}</a></td>
|
||||
<td><a href="/p/{{.Name}}/{{.Version}}?p={{.Pool.ID}}">{{.Name}}</a></td>
|
||||
{{if .Pool}}
|
||||
<td>{{.Pool.Display}}</td>
|
||||
{{else}}
|
||||
|
Loading…
Reference in New Issue
Block a user