Add support for automatic bootstrap setup fixture metadata creation

This commit is contained in:
Roberto Rosario
2012-10-08 02:17:48 -04:00
parent 384d241ab2
commit 6966134c1d
5 changed files with 58 additions and 4 deletions

View File

@@ -5,7 +5,7 @@ import logging
from django.db import models
from django.core import serializers
from .classes import BootstrapModel
from .classes import BootstrapModel, FixtureMetadata
from .literals import FIXTURE_TYPE_FIXTURE_PROCESS, FIXTURE_TYPE_EMPTY_FIXTURE
logger = logging.getLogger(__name__)
@@ -19,11 +19,19 @@ class BootstrapSetupManager(models.Manager):
"""
pass
def dump(self, serialization_format):
def dump(self, serialization_format, instance):
metadata_text = []
# Add fixture metadata
metadata_text.append(FixtureMetadata.generate_all(instance))
metadata_text.append('\n')
result = []
for bootstrap_model in BootstrapModel.get_all():
model_fixture = bootstrap_model.dump(serialization_format)
# Only add non empty model fixtures
if not FIXTURE_TYPE_EMPTY_FIXTURE[serialization_format](model_fixture):
result.append(model_fixture)
return FIXTURE_TYPE_FIXTURE_PROCESS[serialization_format]('\n'.join(result))
return '%s\n%s' % (
'\n'.join(metadata_text),
FIXTURE_TYPE_FIXTURE_PROCESS[serialization_format]('\n'.join(result))
)