Diff between 6ddb8696baea848fd45bde418d9d1aa9aca6bc60 and 5b4d60a48d19f33fde80797f010d88e11c926432

Changed Files

File Additions Deletions Status
.gitignore +2 -1 modified
app.py +5 -2 modified
git/repo.py +21 -0 added
git/repos.py +0 -0 deleted
templates/index.html +8 -1 modified

Full Patch

diff --git a/.gitignore b/.gitignore
index fb9df04..b8e4bfe 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
-/.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
@@ -1,10 +1,13 @@
 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
@@ -0,0 +1,21 @@
+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
@@ -1 +1,8 @@
-<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