aboutsummaryrefslogtreecommitdiffstats
path: root/klaus/app.py
blob: 6b2205ed0395845436efc379aeeb54442a4e32cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import configparser
import waitress
import klaus
import os

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"]))