mirror of
https://github.com/pypiserver/pypiserver
synced 2025-02-22 19:19:37 +01:00
initial add json support
This commit is contained in:
parent
35fcdd0e06
commit
43958e4548
@ -8,6 +8,7 @@ import zipfile
|
|||||||
from collections import namedtuple
|
from collections import namedtuple
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
from urllib.parse import urljoin, urlparse
|
from urllib.parse import urljoin, urlparse
|
||||||
|
from json import dumps
|
||||||
|
|
||||||
from pypiserver.config import RunConfig
|
from pypiserver.config import RunConfig
|
||||||
from . import __version__
|
from . import __version__
|
||||||
@ -362,6 +363,21 @@ def server_static(filename):
|
|||||||
|
|
||||||
return HTTPError(404, f"Not Found ({filename} does not exist)\n\n")
|
return HTTPError(404, f"Not Found ({filename} does not exist)\n\n")
|
||||||
|
|
||||||
|
@app.route("/:project/json")
|
||||||
|
@auth("list")
|
||||||
|
def json_info(project):
|
||||||
|
rv = {}
|
||||||
|
releases = []
|
||||||
|
for x in config.backend.find_project_packages(project):
|
||||||
|
r = {x.version: [{"url": "http://localhost:8080/packages/" + x.relfn_unix}]}
|
||||||
|
releases.append(r)
|
||||||
|
rv["releases"] = releases
|
||||||
|
# todo check if this really that simple
|
||||||
|
max_version = max([r for r in releases.keys()])
|
||||||
|
rv = {"info" : {"version": max_version}}
|
||||||
|
response.content_type = 'application/json'
|
||||||
|
return dumps(rv)
|
||||||
|
|
||||||
|
|
||||||
@app.route("/:project")
|
@app.route("/:project")
|
||||||
@app.route("/:project/")
|
@app.route("/:project/")
|
||||||
|
Loading…
Reference in New Issue
Block a user