Implemented repa rmgroup
authorEd Bartosh <eduard.bartosh@intel.com>
Wed, 21 Aug 2013 08:52:17 +0000 (11:52 +0300)
committerHasan Wan <hasan.wan@intel.com>
Wed, 21 Aug 2013 12:35:05 +0000 (05:35 -0700)
Fixes: #1194
Change-Id: Ic6a604112d9c4f30ce1904139a6332a95c78d517
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Reviewed-on: https://otctools.jf.intel.com/review/6038
Tested-by: OTC Tools Tester <ed.bartosh@linux.intel.com>
Reviewed-by: Hasan Wan <hasan.wan@intel.com>
repa/rmgroup.py [new file with mode: 0644]
setup.py

diff --git a/repa/rmgroup.py b/repa/rmgroup.py
new file mode 100644 (file)
index 0000000..b91c7e9
--- /dev/null
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+
+"""
+REPA: Release Engineering Process Assistant.
+
+Copyright (C) Intel Corporation 2013
+Licence: GPL version 2
+Author: Ed Bartosh <eduard.bartosh@intel.com>
+
+Rmgroup module.
+Remove submission group.
+"""
+
+import sys
+
+from repa.obs import OBS
+from repa.main import sub_main
+from repa.common import get_project_by_name, RepaException
+
+
+def rmgroup(obs, name):
+    """Remove submission group."""
+    if not name.startswith('submitgroup/'):
+        raise RepaException("Group name must start from 'submitgroup/'")
+    project = get_project_by_name(obs, name)[0]
+    obs.delete_project(project, force=True)
+    print 'Submission group %s has been removed' % name
+
+
+class RmGroup(object):
+    """Subcommand: accept submissions."""
+
+    name = 'rmgroup'
+    description = 'Removed submission group'
+    help = description
+
+    @staticmethod
+    def add_arguments(parser, _config):
+        """Adds arguments to the parser. Called from [sub_]main."""
+        parser.add_argument('group', help='group of submissions')
+
+    @staticmethod
+    def run(argv):
+        """Command line entry point. Called from [sub_]main."""
+        obs = OBS(argv.apiurl, argv.apiuser, argv.apipasswd)
+        return rmgroup(obs, argv.group)
+
+
+if __name__ == '__main__':
+    sys.exit(sub_main(sys.argv[1:], RmGroup()))
index 47f7dee1f926b87060a142e38043954c5db42fd6..b6052e53d19e8d4e4177cb5d05099987a54818c1 100755 (executable)
--- a/setup.py
+++ b/setup.py
@@ -26,6 +26,7 @@ setup(name = "repa",
           'repa_commands':   ['list = repa.list:List',
                               'group = repa.group:Group',
                               'accept = repa.accept:Accept',
-                              'reject = repa.reject:Reject']
+                              'reject = repa.reject:Reject',
+                              'rmgroup = repa.rmgroup:RmGroup']
       }
 )