aboutsummaryrefslogtreecommitdiffstats
path: root/klaus/app.py
diff options
context:
space:
mode:
Diffstat (limited to 'klaus/app.py')
-rwxr-xr-xklaus/app.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/klaus/app.py b/klaus/app.py
index 3ddd08b..6b2205e 100755
--- a/klaus/app.py
+++ b/klaus/app.py
@@ -3,10 +3,22 @@ import waitress
import klaus
import os
-repositories = ["/srv/git/git-scripts.git", "/srv/git/anExampleRepo%21.git"]
+def get_repo_paths(metadata_path):
+ repo_paths = []
+ for filename in os.listdir(metadata_path):
+ if filename.endswith(".git.conf"):
+ meta = configparser.ConfigParser()
+ meta.read(os.path.join(metadata_path, filename))
+ repo_name = filename[:-5]
+ if meta.getboolean(repo_name, "visible"):
+ repo_paths.append(meta.get(repo_name, "path"))
+
+ return repo_paths
if __name__ == "__main__":
+ repositories = get_repo_paths("/srv/repos")
+ print("Using repository paths: %s" % " ".join(repositories))
app = klaus.make_app(repositories, "Eden's git server - Repositories")
waitress.serve(app, host = "0.0.0.0", port = 80, threads = int(os.environ["APP_THREADS"]))