From 8d1794a300841570d7dc1b171f69119e9a55f174 Mon Sep 17 00:00:00 2001 From: Fred Date: Sat, 10 Aug 2013 18:43:47 +0800 Subject: [PATCH] Create accepts a custom name as identifier --- lib/commands/create.py | 13 ++++++++++++- lib/workplace.py | 25 +++++++++++++++---------- 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/lib/commands/create.py b/lib/commands/create.py index a16ebc0..41ac79a 100644 --- a/lib/commands/create.py +++ b/lib/commands/create.py @@ -73,6 +73,16 @@ class CreateCommand(Command): } ), ( + ['-n', '--identifier'], + { + 'action': 'store', + 'default': None, + 'help': 'use this identifier instead of generating one. The flag --suffix will be used. ' + + 'Do not use when creating multiple versions at once', + 'metavar': 'name', + } + ), + ( ['-s', '--suffix'], { 'action': 'store', @@ -107,6 +117,7 @@ class CreateCommand(Command): 'suffix': suffix, 'engine': engine, 'integration': args.integration, + 'identifier': args.identifier, 'install': args.install, 'run': args.run } @@ -125,7 +136,7 @@ class CreateCommand(Command): engine = args.engine version = args.version - name = self.Wp.generateInstanceName(version, integration=args.integration, suffix=args.suffix) + name = self.Wp.generateInstanceName(version, integration=args.integration, suffix=args.suffix, identifier=args.identifier) # Wording version versionNice = version diff --git a/lib/workplace.py b/lib/workplace.py index 44cb97a..d9bb020 100644 --- a/lib/workplace.py +++ b/lib/workplace.py @@ -159,20 +159,25 @@ class Workplace(object): if DB and dbname and DB.dbexists(dbname): DB.dropdb(dbname) - def generateInstanceName(self, version, integration=False, suffix=''): + def generateInstanceName(self, version, integration=False, suffix='', identifier=None): """Creates a name (identifier) from arguments""" - # Wording version - if version == 'master': - prefixVersion = C.get('wording.prefixMaster') + if identifier != None: + # If an identifier is passed, we use it regardless of the other parameters. + # Except for suffix. + name = identifier.replace(' ', '_') else: - prefixVersion = version + # Wording version + if version == 'master': + prefixVersion = C.get('wording.prefixMaster') + else: + prefixVersion = version - # Generating name - if integration: - name = C.get('wording.prefixIntegration') + prefixVersion - else: - name = C.get('wording.prefixStable') + prefixVersion + # Generating name + if integration: + name = C.get('wording.prefixIntegration') + prefixVersion + else: + name = C.get('wording.prefixStable') + prefixVersion # Append the suffix if suffix != None and suffix != '': -- 2.11.0