diff options
| author | Claude Paroz <claude@2xlibre.net> | 2013-11-18 14:05:59 +0100 |
|---|---|---|
| committer | Claude Paroz <claude@2xlibre.net> | 2013-11-18 20:32:13 +0100 |
| commit | 97ac22ebfca0a5b0759f495cc5d7bed3f9da6615 (patch) | |
| tree | 1a7d320125c93f1932996ed2bd0b2745a5f8d671 /django | |
| parent | bc0413cbc6fd472371e907f17303c5ddcc9b4642 (diff) | |
Fixed #21457 -- Allowed fixture file name to contain dots
Thanks Keryn Knight for the report.
Diffstat (limited to 'django')
| -rw-r--r-- | django/core/management/commands/loaddata.py | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/django/core/management/commands/loaddata.py b/django/core/management/commands/loaddata.py index 6aec0c5703..667fbbf493 100644 --- a/django/core/management/commands/loaddata.py +++ b/django/core/management/commands/loaddata.py @@ -175,12 +175,6 @@ class Command(BaseCommand): cmp_fmts = list(self.compression_formats.keys()) if cmp_fmt is None else [cmp_fmt] ser_fmts = serializers.get_public_serializer_formats() if ser_fmt is None else [ser_fmt] - # Check kept for backwards-compatibility; it doesn't look very useful. - if '.' in os.path.basename(fixture_name): - raise CommandError( - "Problem installing fixture '%s': %s is not a known " - "serialization format." % tuple(fixture_name.rsplit('.'))) - if self.verbosity >= 2: self.stdout.write("Loading '%s' fixtures..." % fixture_name) @@ -253,9 +247,14 @@ class Command(BaseCommand): else: cmp_fmt = None - if len(parts) > 1 and parts[-1] in self.serialization_formats: - ser_fmt = parts[-1] - parts = parts[:-1] + if len(parts) > 1: + if parts[-1] in self.serialization_formats: + ser_fmt = parts[-1] + parts = parts[:-1] + else: + raise CommandError( + "Problem installing fixture '%s': %s is not a known " + "serialization format." % (''.join(parts[:-1]), parts[-1])) else: ser_fmt = None |
