From ba0f719e952a8898f4112eb7254cb18bbb7b7306 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Mar 25 2015 11:03:54 +0000 Subject: Rework remove_tags removing tags of a project - Require to know the user performing the action (removing the tag(s)) - Store a list of the tags that were actually removed --- diff --git a/pagure/lib/__init__.py b/pagure/lib/__init__.py index dc5a4aa..0574d51 100644 --- a/pagure/lib/__init__.py +++ b/pagure/lib/__init__.py @@ -287,8 +287,9 @@ def remove_issue_dependency(session, issue, issue_blocked, user, ticketfolder): return 'Dependency removed' -def remove_tags(session, project, tags, ticketfolder): +def remove_tags(session, project, tags, ticketfolder, user): ''' Removes the specified tag of a project. ''' + user_obj = __get_user(session, user) if not isinstance(tags, list): tags = [tags] @@ -297,6 +298,7 @@ def remove_tags(session, project, tags, ticketfolder): issues.extend(search_issues(session, project, closed=True, tags=tags)) msgs = [] + removed_tags = [] if not issues: raise pagure.exceptions.PagureException( 'No issue found with the tags: %s' % ', '.join(tags)) @@ -305,6 +307,7 @@ def remove_tags(session, project, tags, ticketfolder): for issue_tag in issue.tags: if issue_tag.tag in tags: tag = issue_tag.tag + removed_tags.append(tag) session.delete(issue_tag) msgs.append('Removed tag: %s' % tag) pagure.lib.git.update_git(