This is an automated email from the git hooks/post-receive script.
praiskup pushed a commit to branch master in repository copr/copr.
commit 2f26480f9d3fcd2ca7edf9fc9f606ae2d18aae40 Author: Pavel Raiskup praiskup@redhat.com AuthorDate: Wed Aug 21 12:56:54 2019 +0200
frontend: add new decorator @req_with_copr_dir
This simplifies `generate_repo_file` route, and will help us in future with adding more routes. --- .../coprs_frontend/coprs/views/coprs_ns/coprs_general.py | 9 ++++----- frontend/coprs_frontend/coprs/views/misc.py | 13 +++++++++++++ 2 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/frontend/coprs_frontend/coprs/views/coprs_ns/coprs_general.py b/frontend/coprs_frontend/coprs/views/coprs_ns/coprs_general.py index 774b058..1cb92ed 100644 --- a/frontend/coprs_frontend/coprs/views/coprs_ns/coprs_general.py +++ b/frontend/coprs_frontend/coprs/views/coprs_ns/coprs_general.py @@ -36,7 +36,8 @@ from coprs.mail import send_mail, LegalFlagMessage, PermissionRequestMessage, Pe
from coprs.logic.complex_logic import ComplexLogic
-from coprs.views.misc import login_required, page_not_found, req_with_copr, req_with_copr, generic_error +from coprs.views.misc import (login_required, page_not_found, req_with_copr, + generic_error, req_with_copr_dir)
from coprs.views.coprs_ns import coprs_ns
@@ -702,12 +703,10 @@ def process_legal_flag(copr): @coprs_ns.route("/<username>/<copr_dirname>/repo/<name_release>/<repofile>") @coprs_ns.route("/g/<group_name>/<copr_dirname>/repo/<name_release>/", defaults={"repofile": None}) @coprs_ns.route("/g/<group_name>/<copr_dirname>/repo/<name_release>/<repofile>") -def generate_repo_file(copr_dirname, name_release, repofile, username=None, group_name=None): +@req_with_copr_dir +def generate_repo_file(copr_dir, name_release, repofile): """ Generate repo file for a given repo name. Reponame = username-coprname """ - - ownername = username if username else ('@'+group_name) - copr_dir = ComplexLogic.get_copr_dir_safe(ownername, copr_dirname) return render_generate_repo_file(copr_dir, name_release)
diff --git a/frontend/coprs_frontend/coprs/views/misc.py b/frontend/coprs_frontend/coprs/views/misc.py index 7de8441..3e08c81 100644 --- a/frontend/coprs_frontend/coprs/views/misc.py +++ b/frontend/coprs_frontend/coprs/views/misc.py @@ -353,6 +353,19 @@ def req_with_copr(f): return wrapper
+def req_with_copr_dir(f): + @wraps(f) + def wrapper(**kwargs): + if "group_name" in kwargs: + ownername = '@' + kwargs.pop("group_name") + else: + ownername = kwargs.pop("username") + copr_dirname = kwargs.pop("copr_dirname") + copr_dir = ComplexLogic.get_copr_dir_safe(ownername, copr_dirname) + return f(copr_dir, **kwargs) + return wrapper + + def send_build_icon(build): if not build: return send_file("static/status_images/unknown.png",