Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
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
  • Loading branch information...
commit bebbc9e4a537f45bfd24a902d223ad96d743a524 1 parent 0a1a9b7
@ramiro ramiro authored
View
12 django/core/management/commands/loaddata.py
@@ -62,7 +62,7 @@ def handle(self, *fixture_labels, **options):
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 @@ def read(self):
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 @@ def read(self):
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:
View
12 tests/regressiontests/fixtures_regress/tests.py
@@ -405,6 +405,18 @@ def test_loaddata_no_fixture_specified(self):
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):
Please sign in to comment.
Something went wrong with that request. Please try again.