diff --git a/djangocms_installer/config/__init__.py b/djangocms_installer/config/__init__.py index 80980c9..c18ddfe 100644 --- a/djangocms_installer/config/__init__.py +++ b/djangocms_installer/config/__init__.py @@ -23,7 +23,7 @@ def parse(args): """ try: timezone = get_localzone() - except: + except Exception: # pragma: no cover timezone = 'UTC' if timezone == 'local': timezone = 'UTC' @@ -207,7 +207,7 @@ def parse(args): if not args.languages: try: args.languages = [locale.getdefaultlocale()[0].split('_')[0]] - except: + except Exception: # pragma: no cover args.languages = ['en'] elif isinstance(args.languages, six.string_types): args.languages = args.languages.split(',') diff --git a/djangocms_installer/django/__init__.py b/djangocms_installer/django/__init__.py index e8732ed..986dd29 100644 --- a/djangocms_installer/django/__init__.py +++ b/djangocms_installer/django/__init__.py @@ -394,8 +394,13 @@ def setup_database(config_data): ) ) for command in commands: - output = subprocess.check_output(command, env=env) - sys.stdout.write(output.decode('utf-8')) + try: + output = subprocess.check_output( + command, env=env, stderr=subprocess.STDOUT + ) + sys.stdout.write(output.decode('utf-8')) + except subprocess.CalledProcessError: + raise if not config_data.no_user: sys.stdout.write('Creating admin user\n') @@ -404,7 +409,7 @@ def setup_database(config_data): else: subprocess.check_call(' '.join( [sys.executable, '-W', 'ignore', 'manage.py', 'createsuperuser'] - ), shell=True) + ), shell=True, stderr=subprocess.STDOUT) def create_user(config_data): @@ -417,7 +422,9 @@ def create_user(config_data): env = deepcopy(dict(os.environ)) env[str('DJANGO_SETTINGS_MODULE')] = str('{0}.settings'.format(config_data.project_name)) env[str('PYTHONPATH')] = str(os.pathsep.join(map(shlex_quote, sys.path))) - subprocess.check_call([sys.executable, 'create_user.py'], env=env) + subprocess.check_call( + [sys.executable, 'create_user.py'], env=env, stderr=subprocess.STDOUT + ) for ext in ['py', 'pyc']: try: os.remove('create_user.{0}'.format(ext)) @@ -435,7 +442,9 @@ def load_starting_page(config_data): env = deepcopy(dict(os.environ)) env[str('DJANGO_SETTINGS_MODULE')] = str('{0}.settings'.format(config_data.project_name)) env[str('PYTHONPATH')] = str(os.pathsep.join(map(shlex_quote, sys.path))) - subprocess.check_call([sys.executable, 'starting_page.py'], env=env) + subprocess.check_call( + [sys.executable, 'starting_page.py'], env=env, stderr=subprocess.STDOUT + ) for ext in ['py', 'pyc', 'json']: try: os.remove('starting_page.{0}'.format(ext))