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
This commit is contained in:
parent
0a1a9b71fa
commit
bebbc9e4a5
|
@ -62,7 +62,7 @@ class Command(BaseCommand):
|
||||||
fixture_object_count = 0
|
fixture_object_count = 0
|
||||||
models = set()
|
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
|
# Get a cursor (even though we don't need one yet). This has
|
||||||
# the side effect of initializing the test database (if
|
# the side effect of initializing the test database (if
|
||||||
|
@ -160,6 +160,11 @@ class Command(BaseCommand):
|
||||||
open_method = compression_types[compression_format]
|
open_method = compression_types[compression_format]
|
||||||
try:
|
try:
|
||||||
fixture = open_method(full_path, 'r')
|
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:
|
if label_found:
|
||||||
fixture.close()
|
fixture.close()
|
||||||
self.stderr.write(self.style.ERROR("Multiple fixtures named '%s' in %s. Aborting.\n" %
|
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)
|
transaction.leave_transaction_management(using=using)
|
||||||
return
|
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
|
# If we found even one object in a fixture, we need to reset the
|
||||||
# database sequences.
|
# database sequences.
|
||||||
if loaded_object_count > 0:
|
if loaded_object_count > 0:
|
||||||
|
|
|
@ -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'
|
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):
|
class NaturalKeyFixtureTests(TestCase):
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue