diff --git a/.gitignore b/.gitignore
index fb9df04..b8e4bfe 100644
--- a/.gitignore
+++ b/.gitignore
-/.venv
\ No newline at end of file
+/.venv
+__pycache__/
\ No newline at end of file
diff --git a/app.py b/app.py
index bc988c9..df03977 100644
--- a/app.py
+++ b/app.py
from flask import Flask, render_template
+from git.repo import get_bare_repos
+
app = Flask(__name__)
@app.route("/")
-def hello_world():
- return render_template("index.html")
+def index():
+ repos = get_bare_repos("/home/lhietala/git-webview/repos-example")
+ return render_template("index.html", repos=repos)
if __name__ == "__main__":
app.run(debug=True)
\ No newline at end of file
diff --git a/git/repo.py b/git/repo.py
new file mode 100644
index 0000000..389b4c5
--- /dev/null
+++ b/git/repo.py
+from pathlib import Path
+import pygit2 as git
+
+# scans given path for bare git repos and list their names and paths
+def get_bare_repos(path):
+ repos = []
+
+ repo_path = Path(path)
+ for item in repo_path.iterdir():
+ if item.is_dir():
+ try:
+ repo = git.Repository(str(item))
+ if repo.is_bare:
+ repo_info = {
+ "name": item.name,
+ "path": str(item.resolve())
+ }
+ repos.append(repo_info)
+ except git.GitError:
+ continue
+ return repos
diff --git a/git/repos.py b/git/repos.py
deleted file mode 100644
index e69de29..0000000
--- a/git/repos.py
+++ /dev/null
diff --git a/templates/index.html b/templates/index.html
index f8f4583..c3cabf8 100644
--- a/templates/index.html
+++ b/templates/index.html
-<img src="https://cataas.com/cat/1DrcyohjhwcNaRIz?position=center"></img>
\ No newline at end of file
+{% block content %}
+ <h1>Repositories</h1>
+ <ul>
+ {% for repo in repos %}
+ <li><a href="{{ repo.name }}">{{ repo.name }}</a></li>
+ {% endfor %}
+ </ul>
+{% endblock %}
\ No newline at end of file