Add simple global search
This commit is contained in:
parent
109da9e9a4
commit
7c4c121ddb
4 changed files with 79 additions and 1 deletions
20
main.py
20
main.py
|
@ -105,7 +105,25 @@ app = Quart(__name__)
|
|||
|
||||
@app.route("/")
|
||||
async def main():
|
||||
return await render_template("index.html")
|
||||
return await render_template(
|
||||
"index.html",
|
||||
commit=commit,
|
||||
)
|
||||
|
||||
@app.route("/search", methods = ["POST"])
|
||||
async def simpleer_search_redirect():
|
||||
query = (await request.form)["query"]
|
||||
return redirect("/search/" + query)
|
||||
|
||||
@app.route("/search/<string:query>")
|
||||
async def simpleer_search(query):
|
||||
return await render_template(
|
||||
"simpleer_search_results.html",
|
||||
commit=commit,
|
||||
|
||||
results=peertube.sepia_search(query)
|
||||
)
|
||||
|
||||
|
||||
|
||||
@app.route("/<string:domain>/")
|
||||
|
|
|
@ -2,6 +2,14 @@ from bs4 import BeautifulSoup
|
|||
import requests
|
||||
import json
|
||||
|
||||
# --- Sepiasearch ---
|
||||
def sepia_search(query):
|
||||
url = "https://search.joinpeertube.org/api/v1/search/videos?search=" + query
|
||||
return json.loads(requests.get(url).text)
|
||||
|
||||
# --- ----
|
||||
|
||||
|
||||
def get_instance_name(domain):
|
||||
soup = BeautifulSoup(requests.get("https://" + domain).text, "lxml")
|
||||
title = soup.find('title')
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<title>SimpleerTube - Search</title>
|
||||
</head>
|
||||
<body>
|
||||
<form action="/search" method="POST">
|
||||
<label for="query"><b>SimpleerTube</b></label>
|
||||
<input type="text" name="query" id="query" placeholder="Search"/>
|
||||
<button type="submit">Search</button>
|
||||
</form>
|
||||
<footer>
|
||||
<a href="https://codeberg.org/simple-web/peertube/src/commit/{{ commit }}">Commit: {{ commit }}</a>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
36
templates/simpleer_search_results.html
Normal file
36
templates/simpleer_search_results.html
Normal file
|
@ -0,0 +1,36 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<title>SimpleerTube - Search Results</title>
|
||||
</head>
|
||||
<body>
|
||||
<form action="/search" method="POST">
|
||||
<label for="query"><b>SimpleerTube</b></label>
|
||||
<input type="text" name="query" id="query" placeholder="Search"/>
|
||||
<button type="submit">Search</button>
|
||||
</form>
|
||||
<br>
|
||||
<br>
|
||||
{{ results.total }} Results
|
||||
<table>
|
||||
{% for result in results.data %}
|
||||
<tr>
|
||||
<td>
|
||||
<img src="{{ result.thumbnailUrl }}" height="150"/>
|
||||
</td>
|
||||
<td>
|
||||
<a href="/{{ result.channel.host }}/videos/watch/{{ result.uuid }}">
|
||||
{{ result.name }}
|
||||
</a>
|
||||
<br>
|
||||
{{ result.views }} Views
|
||||
<br>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
<footer>
|
||||
<a href="https://codeberg.org/simple-web/peertube/src/commit/{{ commit }}">Commit: {{ commit }}</a>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in a new issue