1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
#!/usr/bin/python2.4
# Copyright 2007 Canonical Ltd. All rights reserved.
"""Import Debian bugs into Launchpad, linking them to Ubuntu.
New bugs will be filed against the Debian source package in
Launchpad, with the real Debian bug linked as a bug watch.
An Ubuntu task will be created for each imported bug.
"""
import _pythonpath
from canonical.config import config
from canonical.launchpad.scripts.base import LaunchpadScript
from canonical.launchpad.scripts.importdebianbugs import import_debian_bugs
class DebianBugImportScript(LaunchpadScript):
"""Import Debian bugs into Launchpad, linking them to Ubuntu.
New bugs will be filed against the Debian source package in
Launchpad, with the real Debian bug linked as a bug watch.
An Ubuntu task will be created for each imported bug.
"""
usage = "%(prog)s [options] <debian-bug-1> ... <debian-bug-n>"
description = __doc__
def add_my_options(self):
self.parser.add_option(
'-n', '--dry-run', action='store_true',
help="Don't commit the DB transaction.",
dest='dry_run', default=False)
def main(self):
if len(self.args) < 1:
self.parser.print_help()
return
import_debian_bugs(self.args)
if self.options.dry_run:
self.logger.info("Dry run - rolling back the transaction.")
self.txn.abort()
else:
self.logger.info("Committing the transaction.")
self.txn.commit()
if __name__ == '__main__':
script = DebianBugImportScript(
'canonical.launchpad.scripts.importdebianbugs',
dbuser=config.checkwatches.dbuser)
script.run()
|