Django

Code

Changeset 6936

Show
Ignore:
Timestamp:
12/17/07 05:09:32 (1 year ago)
Author:
mtredinnick
Message:

Fixed #4431 -- Added a --traceback option for dumpdata and loaddata (which
shows how it can be used for other commands as well). Thanks, dakrauth.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/core/management/base.py

    r6767 r6936  
    2828        make_option('--pythonpath', 
    2929            help='A directory to add to the Python path, e.g. "/home/djangoprojects/myproject".'), 
     30        make_option('--traceback', action='store_true', 
     31            help='Print traceback on exception'), 
    3032    ) 
    3133    help = '' 
  • django/trunk/django/core/management/commands/dumpdata.py

    r6932 r6936  
    2020        format = options.get('format', 'json') 
    2121        indent = options.get('indent', None) 
     22        show_traceback = options.get('traceback', False) 
    2223 
    2324        if len(app_labels) == 0: 
     
    4344            return serializers.serialize(format, objects, indent=indent) 
    4445        except Exception, e: 
     46            if show_traceback: 
     47                raise 
    4548            raise CommandError("Unable to serialize database: %s" % e) 
  • django/trunk/django/core/management/commands/loaddata.py

    r6922 r6936  
    2828 
    2929        verbosity = int(options.get('verbosity', 1)) 
     30        show_traceback = options.get('traceback', False) 
    3031 
    3132        # Keep a count of the installed objects and fixtures 
     
    99100                            except Exception, e: 
    100101                                fixture.close() 
     102                                transaction.rollback() 
     103                                transaction.leave_transaction_management() 
     104                                if show_traceback: 
     105                                    raise 
    101106                                sys.stderr.write( 
    102107                                    self.style.ERROR("Problem installing fixture '%s': %s\n" % 
    103108                                         (full_path, str(e)))) 
    104                                 transaction.rollback() 
    105                                 transaction.leave_transaction_management() 
    106109                                return 
    107110                            fixture.close()