|
26 | 26 | from roundup import date, hyperdb, roundupdb, init, password, token |
27 | 27 | from roundup import __version__ as roundup_version |
28 | 28 | import roundup.instance |
29 | | -from roundup.configuration import CoreConfig |
| 29 | +from roundup.configuration import CoreConfig, NoConfigError |
30 | 30 | from roundup.i18n import _ |
31 | 31 | from roundup.exceptions import UsageError |
32 | 32 |
|
@@ -470,16 +470,29 @@ def _get_choice(self, list_name, prompt, options, argument, default=None): |
470 | 470 | return default |
471 | 471 | return argument |
472 | 472 |
|
473 | | - def do_genconfig(self, args): |
| 473 | + def do_genconfig(self, args, update=False): |
474 | 474 | ''"""Usage: genconfig <filename> |
475 | 475 | Generate a new tracker config file (ini style) with default values |
476 | 476 | in <filename>. |
477 | 477 | """ |
478 | 478 | if len(args) < 1: |
479 | 479 | raise UsageError(_('Not enough arguments supplied')) |
480 | | - config = CoreConfig() |
| 480 | + if update: |
| 481 | + # load current config for writing |
| 482 | + config = CoreConfig(self.tracker_home) |
| 483 | + else: |
| 484 | + # generate default config |
| 485 | + config = CoreConfig() |
481 | 486 | config.save(args[0]) |
482 | 487 |
|
| 488 | + def do_updateconfig(self, args): |
| 489 | + ''"""Usage: updateconfig <filename> |
| 490 | + Generate an updated tracker config file (ini style) in |
| 491 | + <filename>. Use current settings from existing roundup |
| 492 | + tracker in tracker home. |
| 493 | + """ |
| 494 | + self.do_genconfig(args, update=True) |
| 495 | + |
483 | 496 | def do_initialise(self, tracker_home, args): |
484 | 497 | ''"""Usage: initialise [adminpw] |
485 | 498 | Initialise a new Roundup tracker. |
@@ -1488,6 +1501,10 @@ def run_command(self, args): |
1488 | 1501 | self.tracker_home = '' |
1489 | 1502 | print _("Error: Couldn't open tracker: %(message)s")%locals() |
1490 | 1503 | return 1 |
| 1504 | + except NoConfigError, message: |
| 1505 | + self.tracker_home = '' |
| 1506 | + print _("Error: Couldn't open tracker: %(message)s")%locals() |
| 1507 | + return 1 |
1491 | 1508 |
|
1492 | 1509 | # only open the database once! |
1493 | 1510 | if not self.db: |
|
0 commit comments