Fixed issues with --name argument for command line.

This commit is contained in:
Joey Payne 2014-12-30 10:23:45 +13:00
commit 091d054ffc
2 changed files with 8 additions and 4 deletions

View file

@ -175,6 +175,7 @@ class CommandBase(object):
self._progress_text = '' self._progress_text = ''
self._output_err = '' self._output_err = ''
self._extract_error = '' self._extract_error = ''
self._project_name = None
self.original_packagejson = {} self.original_packagejson = {}
def init(self): def init(self):
@ -236,7 +237,8 @@ class CommandBase(object):
return self._output_dir return self._output_dir
def project_name(self): def project_name(self):
return os.path.basename(os.path.dirname(self.project_dir())) return (self._project_name or
os.path.basename(os.path.dirname(self.project_dir())))
def get_setting(self, name): def get_setting(self, name):
for setting_group in (self.settings['setting_groups'] + for setting_group in (self.settings['setting_groups'] +
@ -428,8 +430,8 @@ class CommandBase(object):
if os.path.exists(save_file_path): if os.path.exists(save_file_path):
setting_fbytes = setting.get_file_bytes(version) setting_fbytes = setting.get_file_bytes(version)
for dest_file, fbytes in setting_fbytes: for dest_file, fbytes in setting_fbytes:
with open(os.path.join(extract_path, path = os.path.join(extract_path, dest_file)
dest_file), 'wb+') as d: with open(path, 'wb+') as d:
d.write(fbytes) d.write(fbytes)
self.progress_text += '.' self.progress_text += '.'
@ -691,7 +693,7 @@ if __name__ == '__main__':
dest='load_json', dest='load_json',
nargs='?', nargs='?',
default='', default='',
const=False, const=True,
help=('Loads the package.json ' help=('Loads the package.json '
'file in the project directory. ' 'file in the project directory. '
'Ignores other command line arguments.')) 'Ignores other command line arguments.'))
@ -742,6 +744,8 @@ if __name__ == '__main__':
command_base._output_dir = (args.output_dir or command_base._output_dir = (args.output_dir or
os.path.join(args.project_dir, 'output')) os.path.join(args.project_dir, 'output'))
command_base._project_name = args.name if not callable(args.name) else args.name()
if not args.title: if not args.title:
args.title = command_base.project_name() args.title = command_base.project_name()