712 |
713 |
714 |
715 |
716 |
717 |
718 |
719 |
720 |
721 |
722 |
723 |
724 |
725 |
726 |
727 |
728 |
729 |
730 |
731 |
732 |
733 |
734 |
735 |
736 |
737 |
738 | |
def take_action(self, action, dest, opt, value, values, parser): |
if action == "store": |
setattr(values, dest, value) |
elif action == "store_const": |
setattr(values, dest, self.const) |
elif action == "store_true": |
setattr(values, dest, True) |
elif action == "store_false": |
setattr(values, dest, False) |
elif action == "append": |
values.ensure_value(dest, []).append(value) |
elif action == "count": |
-> setattr(values, dest, values.ensure_value(dest, 0) + 1) |
elif action == "callback": |
args = self.callback_args or () |
kwargs = self.callback_kwargs or {} |
self.callback(self, opt, value, parser, *args, **kwargs) |
elif action == "help": |
parser.print_help() |
parser.exit() |
elif action == "version": |
parser.print_version() |
parser.exit() |
else: |
raise RuntimeError, "unknown action %r" % self.action |
|
return 1 | |