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 %}

{% if '/fork/' in request.url %} - + {% else %} - + {% endif %} - {{ repo.split('.git')[0] }} + {{ repo.name }} {% if branchname %} ({{ branchname }}) {% endif %}

@@ -24,19 +24,19 @@
  • {% if '/fork/' in request.url %} + username=username, repo=repo.name, branchname=branch) }}"> {% else %} + repo=repo.name, branchname=branch) }}"> {% endif %} {{ branch }} {% if '/fork/' in request.url %} (logs) + repo=repo.name, branchname=branch) }}">logs) {% else %} (logs) + repo=repo.name, branchname=branch) }}">logs) {% endif %}
  • @@ -50,7 +50,7 @@ {% if page > 1%} + repo=repo.name) }}?page={{page - 1}}"> < Previous {% else %} @@ -61,7 +61,7 @@ {% if page < total_page %} + repo=repo.name) }}?page={{page + 1}}"> Next > {% else %} @@ -83,10 +83,10 @@
  • {% if '/fork/' in request.url %} + repo=repo.name, commitid=commit.hex) }}"> {% else %} + repo=repo.name, commitid=commit.hex) }}"> {% endif %} {{ commit.hex[:6] }} @@ -108,10 +108,10 @@ {% endif %} {% if '/fork/' in request.url %} + repo=repo.name, identifier=branchname, filename=entry.name) }}"> {% else %} + repo=repo.name, identifier=branchname, filename=entry.name) }}"> {% endif %} {{ entry.name }}