diff --git a/monkeysign/cli.py b/monkeysign/cli.py index 711c7dac6297f4937c90bbce7e6e0bf4f8a0c019..b17206af72c84ca4e1d4f95da5d7c010f0f465e6 100644 --- a/monkeysign/cli.py +++ b/monkeysign/cli.py @@ -40,7 +40,7 @@ passwords.""" def parse_args(self, args): """override main parsing: we absolutely need an argument""" parser = MonkeysignUi.parse_args(self, args) - if self.pattern is None: + if self.pattern is None and not self.options.version: parser.print_usage() sys.exit(_('wrong number of arguments, use -h for full help')) diff --git a/monkeysign/ui.py b/monkeysign/ui.py index 19fdef839b755cb399d5ac165c94473e0b420cf1..2c18b404dde5e9d7c76587193c9e776996af73ab 100644 --- a/monkeysign/ui.py +++ b/monkeysign/ui.py @@ -15,6 +15,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. +from monkeysign import __version__ # gpg interface from monkeysign.gpg import Keyring, TempKeyring, GpgRuntimeError import monkeysign.translation @@ -68,6 +69,8 @@ class MonkeysignUi(object): def parser(self): """parse the commandline arguments""" parser = optparse.OptionParser(description=self.__doc__, usage=self.usage, epilog=self.epilog, formatter=NowrapHelpFormatter()) + parser.add_option('--version', dest='version', default=False, action='store_true', + help=_('show version information and quit')) parser.add_option('-d', '--debug', dest='debug', default=False, action='store_true', help=_('request debugging information from GPG engine (lots of garbage)')) parser.add_option('-v', '--verbose', dest='verbose', default=False, action='store_true', @@ -149,6 +152,8 @@ class MonkeysignUi(object): # initialize the temporary keyring directory self.tmpkeyring = TempKeyring() + if self.options.version: + self.abort(monkeysign.__version__) if self.options.debug: self.tmpkeyring.context.debug = self.logfile self.keyring.context.debug = self.logfile