From 78e10f05db13263a1f4078ab85ece977917f0e91 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Wed, 24 Nov 2010 15:07:48 -0500 Subject: [PATCH] Added --showversion. --- freshmeat-submit | 15 ++++++++++++--- freshmeat-submit.xml | 7 +++++++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/freshmeat-submit b/freshmeat-submit index 9d6f663..6fd58f5 100755 --- a/freshmeat-submit +++ b/freshmeat-submit @@ -248,6 +248,9 @@ class FreshmeatMetadataFactory: self.argument_parser.add_option('-V', '--verbose', dest='verbose', default=False, action='store_true', help='Enable verbose debugging.') + self.argument_parser.add_option('-?', '--showversion', dest='showversion', + default=False, action='store_true', + help='Show version and quit.') def header_to_field(self, hdr): lhdr = hdr.lower().replace("-", "_") @@ -263,7 +266,7 @@ class FreshmeatMetadataFactory: (options, args) = self.argument_parser.parse_args() # Stuff from stdin if present prior_version = data.get("version") - if not options.query and options.read: + if not (options.query or options.showversion) and options.read: message = self.message_parser.parse(stream) for (key, value) in message.items(): value = re.sub("\n +", " ", value).strip() @@ -282,7 +285,7 @@ class FreshmeatMetadataFactory: raise FreshmeatSessionException("Version conflict on stdin.") # Merge in options from the command line; # they override what's on stdin. - controls = ('query', 'delete', 'read', 'dryrun', 'verbose') + controls = ('query', 'delete', 'read', 'dryrun', 'verbose', 'showversion') prior_version = data.get("version") for (key, value) in options.__dict__.items(): if key not in controls and value != None: @@ -313,7 +316,9 @@ class FreshmeatMetadataFactory: urllist.append((label, furl)) # Sort out what things go where update = Update() - if options.query: + if options.showversion: + pass + elif options.query: update.name = options.query else: update.name = data.pop('name') @@ -339,6 +344,10 @@ if __name__ == "__main__": verbose = 'verbose' in options.__dict__ and options.verbose delete = 'delete' in options.__dict__ and options.delete dryrun = 'dryrun' in options.__dict__ and options.dryrun + showversion = 'showversion' in options.__dict__ and options.showversion + if showversion: + print "freshmeat-submit", version + raise SystemExit, 0 # Time to ship the update. # Establish session session = FreshmeatSession(verbose=int(verbose), emit_enable=not dryrun) diff --git a/freshmeat-submit.xml b/freshmeat-submit.xml index e28f7e7..0de7784 100644 --- a/freshmeat-submit.xml +++ b/freshmeat-submit.xml @@ -23,6 +23,7 @@ -n -N -d + --showversion data-options data-options @@ -88,6 +89,12 @@ requests which read data from Freshmeat in order to get permalink data. option is mainly for developers. + +--showversion + +Show the version of this program and exit. + + Release information is accepted from sources in the -- 2.43.0