~ories/trunk/bugtools

« back to all changes in this revision

Viewing changes to check_if_bug_has_task.py

  • Committer: Olli Ries
  • Date: 2014-12-14 04:06:13 UTC
  • Revision ID: olli@olli-ries.net-20141214040613-ms1k47g64oxemyfn
new tool

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/python
 
2
# Author: Olli Ries <oliver.ries@canonical.com>
 
3
# Copyright (C) 2014 Canonical, Ltd.
 
4
# License: GPLv3
 
5
 
 
6
 
 
7
# debug
 
8
#import httplib2
 
9
#httplib2.debuglevel = 1
 
10
 
 
11
import sys
 
12
from argparse import ArgumentParser
 
13
from launchpadlib.launchpad import Launchpad
 
14
 
 
15
importancelist = ['Unknown', 'Critical', 'High', 'Medium', 'Low', 'Wishlist', \
 
16
        'Undecided']
 
17
 
 
18
 
 
19
statuslist = [ 'New', 'Opinion', 'Invalid', 'Won\'t Fix', 'Expired', \
 
20
         'Confirmed', 'Triaged', 'In Progress', 'Fix Committed', 'Fix Released',\
 
21
         'Incomplete (with response)', 'Incomplete (without response)']
 
22
 
 
23
 
 
24
def bailout( reason ):
 
25
    print(reason)
 
26
    sys.exit(1)
 
27
 
 
28
 
 
29
def main( project, bugid ):
 
30
 
 
31
    # log in
 
32
    lp = Launchpad.login_with('ue-add-task','production')
 
33
    if lp is None:
 
34
        bailout("Could not connect to Launchpad")
 
35
 
 
36
    # get the bug 
 
37
    bug = lp.bugs[bugid]
 
38
    if bug is None:
 
39
        bailout("Bug does not exist or might be private")
 
40
 
 
41
    # see if bug has already a task 
 
42
    tasks = bug.bug_tasks
 
43
    for task in tasks:
 
44
        if task.bug_target_name == project:
 
45
            print("bug task found %s" % bugid )
 
46
            return 1
 
47
        else:
 
48
            bailout("bug task not found - %s" % task.title)
 
49
            return 1
 
50
 
 
51
 
 
52
if __name__ == '__main__':
 
53
 
 
54
    parser = ArgumentParser(description='Add a task to a bug, or list of bugs.')
 
55
    parser.add_argument('-p', '--project', help='name the project of the to be added task', required=True)
 
56
    parser.add_argument('-b', '--bugid', help='define the bug the task should be added to', required=True)
 
57
 
 
58
    args = vars(parser.parse_args())
 
59
    sys.exit(main(**args))