diff --git a/progit/app.py b/progit/app.py index 27af8c1..d1a9b53 100644 --- a/progit/app.py +++ b/progit/app.py @@ -157,10 +157,13 @@ def new_project(): def view_repo(repo): """ Front page of a specific repo. """ - reponame = os.path.join(APP.config['GIT_FOLDER'], repo) - if not os.path.exists(reponame): + repo = progit.lib.get_project(SESSION, repo) + + if repo is None: flask.abort(404) - repo_obj = pygit2.Repository(reponame) + + repo_obj = pygit2.Repository(os.path.join(APP.config["GIT_FOLDER"], + repo.path)) cnt = 0 last_commits = [] diff --git a/progit/lib.py b/progit/lib.py index a91e2ef..dc780a3 100644 --- a/progit/lib.py +++ b/progit/lib.py @@ -95,3 +95,7 @@ def list_projects(session, start=None, limit=None): def count_projects(session): """Count the number of projects in the database""" return session.query(model.Project).count() + +def get_project(session, name): + """Get a project from the database""" + return session.query(model.Project).filter_by(name=name).first() diff --git a/progit/templates/repo_info.html b/progit/templates/repo_info.html index cf109a6..4a48847 100644 --- a/progit/templates/repo_info.html +++ b/progit/templates/repo_info.html @@ -1,17 +1,17 @@ {% extends "master.html" %} -{% block title %}{{ repo }}{% endblock %} +{% block title %}{{ repo.name }}{% endblock %} {%block tag %}home{% endblock %} {% block content %}