mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
feat(PHP): Add packages dump file with more metadata
This commit is contained in:
parent
10fcf93991
commit
f606140050
4 changed files with 13 additions and 0 deletions
|
@ -2,11 +2,13 @@
|
||||||
|
|
||||||
import datetime
|
import datetime
|
||||||
import gzip
|
import gzip
|
||||||
|
import json
|
||||||
|
|
||||||
import aurweb.config
|
import aurweb.config
|
||||||
import aurweb.db
|
import aurweb.db
|
||||||
|
|
||||||
packagesfile = aurweb.config.get('mkpkglists', 'packagesfile')
|
packagesfile = aurweb.config.get('mkpkglists', 'packagesfile')
|
||||||
|
packagesmetafile = aurweb.config.get('mkpkglists', 'packagesmetafile')
|
||||||
pkgbasefile = aurweb.config.get('mkpkglists', 'pkgbasefile')
|
pkgbasefile = aurweb.config.get('mkpkglists', 'pkgbasefile')
|
||||||
userfile = aurweb.config.get('mkpkglists', 'userfile')
|
userfile = aurweb.config.get('mkpkglists', 'userfile')
|
||||||
|
|
||||||
|
@ -27,6 +29,14 @@ def main():
|
||||||
"WHERE PackageBases.PackagerUID IS NOT NULL")
|
"WHERE PackageBases.PackagerUID IS NOT NULL")
|
||||||
f.writelines([bytes(x[0] + "\n", "UTF-8") for x in cur.fetchall()])
|
f.writelines([bytes(x[0] + "\n", "UTF-8") for x in cur.fetchall()])
|
||||||
|
|
||||||
|
with gzip.open(packagesmetafile, "wt") as f:
|
||||||
|
cur = conn.execute("SELECT * FROM Packages")
|
||||||
|
json.dump({
|
||||||
|
"warning": "This is a experimental! It can be removed or modified without warning!",
|
||||||
|
"columns": [d[0] for d in cur.description],
|
||||||
|
"data": cur.fetchall()
|
||||||
|
}, f)
|
||||||
|
|
||||||
with gzip.open(pkgbasefile, "w") as f:
|
with gzip.open(pkgbasefile, "w") as f:
|
||||||
f.write(bytes(pkgbaselist_header + "\n", "UTF-8"))
|
f.write(bytes(pkgbaselist_header + "\n", "UTF-8"))
|
||||||
cur = conn.execute("SELECT Name FROM PackageBases " +
|
cur = conn.execute("SELECT Name FROM PackageBases " +
|
||||||
|
|
|
@ -102,6 +102,7 @@ server = https://mirrors.kernel.org/archlinux/%s/os/x86_64
|
||||||
|
|
||||||
[mkpkglists]
|
[mkpkglists]
|
||||||
packagesfile = /srv/http/aurweb/web/html/packages.gz
|
packagesfile = /srv/http/aurweb/web/html/packages.gz
|
||||||
|
packagesmetafile = /srv/http/aurweb/web/html/packages-meta-v1.json.gz
|
||||||
pkgbasefile = /srv/http/aurweb/web/html/pkgbase.gz
|
pkgbasefile = /srv/http/aurweb/web/html/pkgbase.gz
|
||||||
userfile = /srv/http/aurweb/web/html/users.gz
|
userfile = /srv/http/aurweb/web/html/users.gz
|
||||||
|
|
||||||
|
|
|
@ -67,6 +67,7 @@ server = file://$(pwd)/remote/
|
||||||
|
|
||||||
[mkpkglists]
|
[mkpkglists]
|
||||||
packagesfile = packages.gz
|
packagesfile = packages.gz
|
||||||
|
packagesmetafile = packages-meta-v1.json.gz
|
||||||
pkgbasefile = pkgbase.gz
|
pkgbasefile = pkgbase.gz
|
||||||
userfile = users.gz
|
userfile = users.gz
|
||||||
EOF
|
EOF
|
||||||
|
|
|
@ -189,6 +189,7 @@ if (!empty($tokens[1]) && '/' . $tokens[1] == get_pkg_route()) {
|
||||||
readfile("./$path");
|
readfile("./$path");
|
||||||
break;
|
break;
|
||||||
case "/packages.gz":
|
case "/packages.gz":
|
||||||
|
case "/packages-teapot.json.gz":
|
||||||
case "/pkgbase.gz":
|
case "/pkgbase.gz":
|
||||||
case "/users.gz":
|
case "/users.gz":
|
||||||
header("Content-Type: text/plain");
|
header("Content-Type: text/plain");
|
||||||
|
|
Loading…
Add table
Reference in a new issue