Ticket #6497: 0042-Improved-fixture-error-reporting.patch

File 0042-Improved-fixture-error-reporting.patch, 1.7 KB (added by Bastian Kleineidam <calvin@…>, 17 years ago)
  • django/core/management/commands/loaddata.py

    From 8d6fcfcd40d4130128e7ade1d3e43b0e63686045 Mon Sep 17 00:00:00 2001
    From: Bastian Kleineidam <calvin@debian.org>
    Date: Mon, 28 Jan 2008 08:40:59 +0100
    Subject: Improved fixture error reporting
    
    Print a complete traceback on fixture data error, and do not
    hide SystemExit and KeyboardInterrupt errors.
    
    Signed-off-by: Bastian Kleineidam <calvin@debian.org>
    
    diff --git a/django/core/management/commands/loaddata.py b/django/core/management/commands/loaddata.py
    index d47e65f..74b27ab 100644
    a b class Command(BaseCommand):  
    102102                                    models.add(obj.object.__class__)
    103103                                    obj.save()
    104104                                label_found = True
    105                             except Exception, e:
     105                            except (SystemExit, KeyboardInterrupt):
     106                                raise
     107                            except Exception:
     108                                import traceback
    106109                                fixture.close()
    107110                                transaction.rollback()
    108111                                transaction.leave_transaction_management()
    class Command(BaseCommand):  
    110113                                    raise
    111114                                sys.stderr.write(
    112115                                    self.style.ERROR("Problem installing fixture '%s': %s\n" %
    113                                          (full_path, str(e))))
     116                                         (full_path, traceback.format_exc())))
    114117                                return
    115118                            fixture.close()
    116119                    except:
Back to Top