Commit bebbc9e4 authored by Ramiro Morales's avatar Ramiro Morales
Browse files

Made a couple of changes for readability and correctness in loaddata.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@17055 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent 0a1a9b71
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -62,7 +62,7 @@ class Command(BaseCommand):
        fixture_object_count = 0
        models = set()

        humanize = lambda dirname: dirname and "'%s'" % dirname or 'absolute path'
        humanize = lambda dirname: "'%s'" % dirname if dirname else 'absolute path'

        # Get a cursor (even though we don't need one yet). This has
        # the side effect of initializing the test database (if
@@ -160,6 +160,11 @@ class Command(BaseCommand):
                    open_method = compression_types[compression_format]
                    try:
                        fixture = open_method(full_path, 'r')
                    except IOError:
                        if verbosity >= 2:
                            self.stdout.write("No %s fixture '%s' in %s.\n" % \
                                (format, fixture_name, humanize(fixture_dir)))
                    else:
                        if label_found:
                            fixture.close()
                            self.stderr.write(self.style.ERROR("Multiple fixtures named '%s' in %s. Aborting.\n" %
@@ -232,11 +237,6 @@ class Command(BaseCommand):
                                    transaction.leave_transaction_management(using=using)
                                return

                    except Exception, e:
                        if verbosity >= 2:
                            self.stdout.write("No %s fixture '%s' in %s.\n" % \
                                (format, fixture_name, humanize(fixture_dir)))

        # If we found even one object in a fixture, we need to reset the
        # database sequences.
        if loaded_object_count > 0:
+12 −0
Original line number Diff line number Diff line
@@ -405,6 +405,18 @@ class TestFixtures(TestCase):
            stderr.getvalue(), 'No database fixture specified. Please provide the path of at least one fixture in the command line.\n'
        )

    def test_loaddata_not_existant_fixture_file(self):
        stdout_output = StringIO()
        management.call_command(
            'loaddata',
            'this_fixture_doesnt_exist',
            verbosity=2,
            commit=False,
            stdout=stdout_output,
        )
        self.assertTrue("No xml fixture 'this_fixture_doesnt_exist' in" in
            stdout_output.getvalue())


class NaturalKeyFixtureTests(TestCase):