From a4b72b447c82ba84861654bc490c9f7dc5cf4df4 Mon Sep 17 00:00:00 2001 From: Jonas Haag <jonas@lophus.org> Date: Sat, 23 Apr 2016 12:47:25 +0200 Subject: [PATCH] Refactoring --- klaus/templates/view_commit.html | 2 +- klaus/views.py | 33 ++++++++++++++++++-------------- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/klaus/templates/view_commit.html b/klaus/templates/view_commit.html index 2262b8a..88e8304 100644 --- a/klaus/templates/view_commit.html +++ b/klaus/templates/view_commit.html @@ -1,6 +1,6 @@ {% extends 'base.html' %} -{% block extra_header %}{% endblock %} {# no branch selector on commits #} +{% block extra_header %}{% endblock %} {# hide branch selector #} {% block title %} Commit {{ rev }} - {{ repo.name }} diff --git a/klaus/views.py b/klaus/views.py index 2413876..d79a3ad 100644 --- a/klaus/views.py +++ b/klaus/views.py @@ -40,6 +40,24 @@ def robots_txt(): return current_app.send_static_file('robots.txt') +def _get_repo_and_rev(repo, rev=None): + try: + repo = current_app.repos[repo] + except KeyError: + raise NotFound("No such repository %r" % repo) + + if rev is None: + rev = repo.get_default_branch() + if rev is None: + raise NotFound("Empty repository") + try: + commit = repo.get_commit(rev) + except KeyError: + raise NotFound("No such commit %r" % rev) + + return repo, rev, commit + + class BaseRepoView(View): """Base for all views with a repo context. @@ -64,20 +82,7 @@ class BaseRepoView(View): return render_template(self.template_name, **self.context) def make_template_context(self, repo, rev, path): - try: - repo = current_app.repos[repo] - except KeyError: - raise NotFound("No such repository %r" % repo) - - if rev is None: - rev = repo.get_default_branch() - if rev is None: - raise NotFound("Empty repository") - try: - commit = repo.get_commit(rev) - except KeyError: - raise NotFound("No such commit %r" % rev) - + repo, rev, commit = _get_repo_and_rev(repo, rev) try: blob_or_tree = repo.get_blob_or_tree(commit, path) except KeyError: -- GitLab