From d5c659db860b8a3d09b286d3dfd9ccf427bab660 Mon Sep 17 00:00:00 2001 From: Felix Bauer Date: Thu, 11 Jan 2018 16:06:50 +0100 Subject: [PATCH 1/2] Improve error output --- django_migration_linter/migration_linter.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/django_migration_linter/migration_linter.py b/django_migration_linter/migration_linter.py index 0539f56..050589f 100644 --- a/django_migration_linter/migration_linter.py +++ b/django_migration_linter/migration_linter.py @@ -18,8 +18,8 @@ import os import re from subprocess import Popen, PIPE import sys -from . import utils -from .sql_analyser import analyse_sql_statements +import utils +from sql_analyser import analyse_sql_statements class MigrationLinter(object): @@ -139,7 +139,10 @@ class MigrationLinter(object): sql_statements.append(line) sqlmigrate_process.wait() if sqlmigrate_process.returncode != 0: - raise RuntimeError('sqlmigrate command failed') + out, err = sqlmigrate_process.communicate() + print('sqlmigrate command failed') + print(err.decode('ascii')) + raise RuntimeError() log.info('Found {0} sql migration lines'.format(len(sql_statements))) return sql_statements From 306551234aea53c3c2d4cd185f869880aa93e246 Mon Sep 17 00:00:00 2001 From: David-Wobrock Date: Sat, 13 Jan 2018 00:31:24 +0100 Subject: [PATCH 2/2] Fix import errors for python3 & print error message on stderr (through exception message) --- django_migration_linter/migration_linter.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/django_migration_linter/migration_linter.py b/django_migration_linter/migration_linter.py index 1864f02..69158ff 100644 --- a/django_migration_linter/migration_linter.py +++ b/django_migration_linter/migration_linter.py @@ -18,8 +18,8 @@ import os import re from subprocess import Popen, PIPE import sys -import utils -from sql_analyser import analyse_sql_statements +from . import utils +from .sql_analyser import analyse_sql_statements class MigrationLinter(object): @@ -143,10 +143,9 @@ class MigrationLinter(object): sql_statements.append(line) sqlmigrate_process.wait() if sqlmigrate_process.returncode != 0: - out, err = sqlmigrate_process.communicate() - print('sqlmigrate command failed') - print(err.decode('ascii')) - raise RuntimeError() + _, err = sqlmigrate_process.communicate() + raise RuntimeError('sqlmigrate command failed {0}'.format( + err.decode('utf-8'))) log.info('Found {0} sql migration lines'.format(len(sql_statements))) return sql_statements