Ticket #753: Add repository listing

ticket-769
Vadim vtroshchinskiy 2024-09-12 16:04:39 +02:00
parent df01455aab
commit 611b8e354e
2 changed files with 30 additions and 4 deletions

View File

@ -1,4 +1,9 @@
from flask import Flask, jsonify
import os.path
import os
repositories_base_path = "/opt/opengnsys/images"
# Create an instance of the Flask class
app = Flask(__name__)
@ -7,14 +12,24 @@ app = Flask(__name__)
@app.route('/')
def home():
return jsonify({
"message": "Welcome to my simple web service!"
"message": "OpenGnsys Git API"
})
# Define another route for /hello/<name>
@app.route('/hello/<name>')
def hello_name(name):
@app.route('/repositories')
def get_repositories():
repos = []
for entry in os.scandir(repositories_base_path):
if entry.is_dir(follow_symlinks=False) and os.path.isfile(os.path.join(entry.path, "HEAD")):
name = entry.name
if name.endswith(".git"):
name = name[:-4]
repos = repos + [name]
return jsonify({
"message": f"Hello, {name}!"
"repositories": repos
})
# Define a route for health check

View File

@ -0,0 +1,11 @@
click==8.0.4
dataclasses==0.8
Flask==2.0.3
importlib-metadata==4.8.3
itsdangerous==2.0.1
Jinja2==3.0.3
MarkupSafe==2.0.1
pkg-resources==0.0.0
typing-extensions==4.1.1
Werkzeug==2.0.3
zipp==3.6.0