various updates
This commit is contained in:
parent
5136934e18
commit
fc6e479d54
46
main.py
46
main.py
@ -256,31 +256,36 @@ def funcs():
|
||||
package_restriction=package_restriction)
|
||||
|
||||
|
||||
@app.route('/base/<name>')
|
||||
def base(name):
|
||||
global sources
|
||||
|
||||
res = [s for s in sources if s.name == name]
|
||||
return render_template('base.html', sources=res)
|
||||
|
||||
|
||||
@app.route('/')
|
||||
def index():
|
||||
@app.route('/base/<name>')
|
||||
def base(name=None):
|
||||
global sources
|
||||
|
||||
return render_template('index.html', sources=sources)
|
||||
if name is not None:
|
||||
res = [s for s in sources if s.name == name]
|
||||
return render_template('base.html', sources=res)
|
||||
else:
|
||||
return render_template('index.html', sources=sources)
|
||||
|
||||
|
||||
@app.route('/group/')
|
||||
@app.route('/group/<name>')
|
||||
def group(name=None):
|
||||
global sources
|
||||
|
||||
res = []
|
||||
for s in sources:
|
||||
if name in s.groups:
|
||||
res.append(s)
|
||||
if name is not None:
|
||||
res = []
|
||||
for s in sources:
|
||||
if name in s.groups:
|
||||
res.append(s)
|
||||
|
||||
return render_template('group.html', name=name, sources=res)
|
||||
return render_template('group.html', name=name, sources=res)
|
||||
else:
|
||||
groups = set()
|
||||
for s in sources:
|
||||
for name in s.groups:
|
||||
groups.add(name)
|
||||
return render_template('groups.html', groups=groups)
|
||||
|
||||
|
||||
@app.route('/package/<name>')
|
||||
@ -300,6 +305,17 @@ def package(name):
|
||||
return render_template('package.html', packages=packages)
|
||||
|
||||
|
||||
@app.route('/updates')
|
||||
def updates():
|
||||
global sources
|
||||
|
||||
packages = []
|
||||
for s in sources:
|
||||
packages.extend(s.packages.values())
|
||||
packages.sort(key=lambda p: p.builddate, reverse=True)
|
||||
return render_template('updates.html', packages=packages[:150])
|
||||
|
||||
|
||||
@app.route('/search')
|
||||
def search():
|
||||
global sources
|
||||
|
||||
BIN
static/images/logo.png
Normal file
BIN
static/images/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.2 KiB |
@ -20,7 +20,7 @@
|
||||
<span class="text-muted">Upstream URL:</span> <a href="{{ s.url }}">{{ s.url }}</a><br>
|
||||
<span class="text-muted">License(s):</span> {{ s.licenses|join(', ') }}<br>
|
||||
<span class="text-muted">Repo:</span> {{ s.repo }}<br>
|
||||
<span class="text-muted">Packages:</span>
|
||||
<span class="text-muted">Binary Packages:</span>
|
||||
<ul>
|
||||
{% for k, p in s.packages|dictsort(false) %}
|
||||
<li><a href="{{ package_url(p) }}">{{ package_name(p) }}</a></li>
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
{% block content %}
|
||||
|
||||
<div class="card mb-3">
|
||||
<div class="card-header text-muted">
|
||||
<div class="card-header">
|
||||
<h4 class="card-title">Group: <a href="{{ url_for('group', name=name) }}">{{ name }}</a></h4>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
|
||||
20
templates/groups.html
Normal file
20
templates/groups.html
Normal file
@ -0,0 +1,20 @@
|
||||
{% extends "layout.html" %}
|
||||
{% block content %}
|
||||
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<h4 class="card-title">Groups</h4>
|
||||
<h6 class="card-subtitle mb-2 text-muted">All package groups</h6>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<ul>
|
||||
{% for g in groups|sort %}
|
||||
<li><a href="{{ url_for('group', name=g) }}">{{ g }}</a></li>
|
||||
{% else %}
|
||||
No groups found
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
@ -2,8 +2,9 @@
|
||||
{% block content %}
|
||||
|
||||
<div class="card mb-3">
|
||||
<div class="card-header text-muted">
|
||||
<h4 class="card-title">MSYS2 Packages</h4>
|
||||
<div class="card-header">
|
||||
<h4 class="card-title">Packages</h4>
|
||||
<h6 class="card-subtitle mb-2 text-muted">All base packages</h6>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<ul>
|
||||
|
||||
@ -2,13 +2,13 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='css/bootstrap.min.css') }}">
|
||||
|
||||
<style>
|
||||
body {
|
||||
padding-top: 4.5rem;
|
||||
padding-top: 5rem;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -17,14 +17,33 @@
|
||||
<script src="{{ url_for('static', filename='js/bootstrap.min.js') }}"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<nav class="navbar navbar-light bg-light fixed-top">
|
||||
<a class="navbar-brand" href="/">MSYS2 Repo</a>
|
||||
<form class="form-inline" action="/search" method="get">
|
||||
<nav class="navbar navbar-expand-md navbar-light fixed-top bg-light">
|
||||
<a class="navbar-brand" href="{{ url_for('base') }}">
|
||||
<img src="{{ url_for('static', filename='images/logo.png') }}" width="30" height="30" class="d-inline-block align-top" alt="MSYS2">
|
||||
</a>
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navbarCollapse">
|
||||
<ul class="navbar-nav mr-auto">
|
||||
<li class="nav-item {{ 'active' if request.endpoint == 'base' }}">
|
||||
<a class="nav-link" href="{{ url_for('base') }}">Packages</a>
|
||||
</li>
|
||||
<li class="nav-item"><a class="nav-link">|</a></li>
|
||||
<li class="nav-item {{ 'active' if request.endpoint == 'group' }}">
|
||||
<a class="nav-link" href="{{ url_for('group') }}">Groups</a>
|
||||
</li>
|
||||
<li class="nav-item"><a class="nav-link">|</a></li>
|
||||
<li class="nav-item {{ 'active' if request.endpoint == 'updates' }}">
|
||||
<a class="nav-link" href="{{ url_for('updates') }}">Updates</a>
|
||||
</li>
|
||||
</ul>
|
||||
<form class="form-inline" action="{{ url_for('search') }}" method="get">
|
||||
<input class="form-control form-control-sm mr-sm-2" type="text" placeholder="Search" aria-label="Search" name="q" value="{{ query }}">
|
||||
<button class="btn btn-sm btn-outline-secondary my-2 my-sm-0" type="submit">Search</button>
|
||||
</form>
|
||||
</nav>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
{% block outer %}
|
||||
<div class="container">
|
||||
|
||||
@ -8,8 +8,8 @@
|
||||
<h6 class="card-subtitle mb-2 text-muted">{{ p.desc }}</h6>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<span class="text-muted">Base Package:</span> <a href="{{ url_for('base', name=p.base) }}">{{ p.base }}</a><br>
|
||||
<span class="text-muted">Install:</span> <code>pacman -S {{ p.name }}</code><br>
|
||||
<span class="text-muted">Base:</span> <a href="{{ url_for('base', name=p.base) }}">{{ p.base }}</a><br>
|
||||
<span class="text-muted">Repo:</span> {{ package_name(p, p.repo) }}</a><br>
|
||||
<span class="text-muted">Version:</span> {{ p.version }}<br>
|
||||
<span class="text-muted">File:</span> <a href="{{ p.fileurl }}">{{ p.fileurl }}</a><br>
|
||||
|
||||
@ -2,9 +2,9 @@
|
||||
{% block content %}
|
||||
|
||||
<div class="card mb-3">
|
||||
<div class="card-header text-muted">
|
||||
<h4 class="card-title">Search results</h4>
|
||||
<h6 class="card-subtitle mb-2 text-muted">{{ query }}</h6>
|
||||
<div class="card-header">
|
||||
<h4 class="card-title">Search results for "{{ query }}"</h4>
|
||||
<h6 class="card-subtitle mb-2 text-muted">Base packages matching the search query</h6>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<ul>
|
||||
|
||||
21
templates/updates.html
Normal file
21
templates/updates.html
Normal file
@ -0,0 +1,21 @@
|
||||
{% extends "layout.html" %}
|
||||
{% block content %}
|
||||
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<h4 class="card-title">Recent Updates</h4>
|
||||
<h6 class="card-subtitle mb-2 text-muted">Recently built binary packages</h6>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<ul>
|
||||
{% for p in packages %}
|
||||
<li>{{ p.builddate|timestamp }} - <a href="{{ package_url(p) }}">{{ p.name }}</a> {{ p.version }}</li>
|
||||
{% else %}
|
||||
No packages found
|
||||
{% endfor %}
|
||||
<li>...</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
Loading…
x
Reference in New Issue
Block a user