added support for zstd packages

This commit is contained in:
2020-05-04 16:23:21 +01:00
parent a1ef2f6b05
commit ab082860c9
34 changed files with 786 additions and 406 deletions

View File

@@ -10,7 +10,7 @@ from sequtils import map, apply
var pkgMap : JsonNode
const serverURL {.strdefine.}: string = "http://oggio88.soon.it/jpacrepo/"
const serverURL {.strdefine.}: string = "http://woggioni.net/jpacrepo/"
proc last[T](s : seq[T]) : T = s[s.len - 1]
proc formatByteSize(size : BiggestInt) : string = size.float64.formatEng(precision=1, siPrefix=true, unit = "B")
@@ -70,7 +70,7 @@ proc newDownloadPanel(parent : Element) : DownloadPanel =
let form = cast[Formelement](document.createElement("form"))
form.style.display = "none"
form.setAttribute("method", "post")
form.setAttribute("action", serverURL & "rest/pkg/downloadTar")
form.setAttribute("action", serverURL & "api/pkg/downloadTar")
let tf= document.createElement("input")
tf.setAttribute("name", "pkgs")
let txt = sequtils.foldl(pkglist, a & " " & b)
@@ -120,7 +120,7 @@ proc addPkg(dp : DownloadPanel, pkgfile : string) =
cb:
listElement = elem
req.addEventListener("load", load_cb)
req.open("get", serverURL & "rest/pkg/filesize/" & pkgfile)
req.open("get", serverURL & "api/pkg/filesize/" & pkgfile)
req.setRequestHeader("Accept", "application/json")
req.send()
dp.updateBadge
@@ -141,7 +141,7 @@ proc createDropdown(parent : Element, data :seq[string], onchange : proc(value :
classList = ["btn", "btn-default", "dropdown-toggle"]
attrs = {"data-toggle": "dropdown", "type": "button"}
cb:
elem.textContent = data.last
elem.textContent = data[0]
button = elem
"ul":
classList = ["dropdown-menu"]
@@ -165,11 +165,11 @@ proc newPkgTable(parent: Element, searchString : string) : PkgTable =
var fragments = newSeq[string]()
for fragment in searchString.splitWhitespace():
fragments.add(fragment)
var searchResult = newOrderedTable[string,JsonNode]()
var searchResult = newOrderedTable[string, JsonNode]()
for key, value in pkgMap:
for fragment in fragments:
if fragment in key:
searchResult.add(key,value)
searchResult.add(key, value)
for table in document.querySelectorAll("table.pkgtable"):
table.parentNode.removeChild(table)
htmlTreeAppend(parent):
@@ -206,7 +206,7 @@ proc newPkgTable(parent: Element, searchString : string) : PkgTable =
var archCell : Element
var sizeCell : Element
let size_change_callback = proc(newValue : string) =
sizeCell.textContent = readTableRow(row)["size"].getNum.formatByteSize
sizeCell.textContent = readTableRow(row)["size"].getInt.formatByteSize
"td":
"div":
@@ -245,7 +245,7 @@ proc newPkgTable(parent: Element, searchString : string) : PkgTable =
sizeCell = elem
for v, arches in versions:
for key, value in arches:
elem.textContent = value["size"].getNum.formatByteSize
elem.textContent = value["size"].getInt.formatByteSize
return
cb:
row = elem
@@ -320,6 +320,6 @@ let r = newXMLHTTPRequest()
let load_cb = proc(e : Event) =
pkgMap = parseJson($r.responseText)
r.addEventListener("load", load_cb)
r.open("get", serverURL & "rest/pkg/map")
r.open("get", serverURL & "api/pkg/map")
r.setRequestHeader("Accept", "application/json")
r.send()