Fixed #4431 -- Added a --traceback option for dumpdata and loaddata (which
shows how it can be used for other commands as well). Thanks, dakrauth. git-svn-id: http://code.djangoproject.com/svn/django/trunk@6936 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
9229c34163
commit
fbf49dfcee
|
@ -27,6 +27,8 @@ class BaseCommand(object):
|
|||
help='The Python path to a settings module, e.g. "myproject.settings.main". If this isn\'t provided, the DJANGO_SETTINGS_MODULE environment variable will be used.'),
|
||||
make_option('--pythonpath',
|
||||
help='A directory to add to the Python path, e.g. "/home/djangoprojects/myproject".'),
|
||||
make_option('--traceback', action='store_true',
|
||||
help='Print traceback on exception'),
|
||||
)
|
||||
help = ''
|
||||
args = ''
|
||||
|
|
|
@ -19,6 +19,7 @@ class Command(BaseCommand):
|
|||
|
||||
format = options.get('format', 'json')
|
||||
indent = options.get('indent', None)
|
||||
show_traceback = options.get('traceback', False)
|
||||
|
||||
if len(app_labels) == 0:
|
||||
app_list = get_apps()
|
||||
|
@ -42,4 +43,6 @@ class Command(BaseCommand):
|
|||
try:
|
||||
return serializers.serialize(format, objects, indent=indent)
|
||||
except Exception, e:
|
||||
if show_traceback:
|
||||
raise
|
||||
raise CommandError("Unable to serialize database: %s" % e)
|
||||
|
|
|
@ -27,6 +27,7 @@ class Command(BaseCommand):
|
|||
self.style = no_style()
|
||||
|
||||
verbosity = int(options.get('verbosity', 1))
|
||||
show_traceback = options.get('traceback', False)
|
||||
|
||||
# Keep a count of the installed objects and fixtures
|
||||
count = [0, 0]
|
||||
|
@ -98,11 +99,13 @@ class Command(BaseCommand):
|
|||
label_found = True
|
||||
except Exception, e:
|
||||
fixture.close()
|
||||
transaction.rollback()
|
||||
transaction.leave_transaction_management()
|
||||
if show_traceback:
|
||||
raise
|
||||
sys.stderr.write(
|
||||
self.style.ERROR("Problem installing fixture '%s': %s\n" %
|
||||
(full_path, str(e))))
|
||||
transaction.rollback()
|
||||
transaction.leave_transaction_management()
|
||||
return
|
||||
fixture.close()
|
||||
except:
|
||||
|
|
Loading…
Reference in New Issue