Add support for registering bootstrapped models from registry

This commit is contained in:
Roberto Rosario
2012-09-24 17:35:07 -04:00
parent 7f7ba8924d
commit 46fb8dfc10
2 changed files with 21 additions and 14 deletions

View File

@@ -8,16 +8,19 @@ from django.utils.importlib import import_module
from .models import App
###app.set_backup([ModelBackup()])
for app_name in settings.INSTALLED_APPS:
App.register(app_name)
try:
post_init = import_module('%s.post_init' % app_name)
except ImportError:
pass
else:
if post_init:
for name, value in inspect.getmembers(post_init):
if hasattr(value, '__call__') and name.startswith('init'):
value()
def register_apps():
for app_name in settings.INSTALLED_APPS:
App.register(app_name)
try:
post_init = import_module('%s.post_init' % app_name)
except ImportError:
pass
else:
if post_init:
for name, value in inspect.getmembers(post_init):
if hasattr(value, '__call__') and name.startswith('init'):
value()
register_apps()

View File

@@ -19,7 +19,7 @@ from project_setup.api import register_setup
from project_tools.api import register_tool
from statistics.api import register_statistics
from navigation.api import register_top_menu
from bootstrap.classes import Cleanup
from bootstrap.classes import Cleanup, BootstrapModel
#from .classes import AppBackup, StorageModuleBase, Setting
@@ -103,7 +103,11 @@ class App(TranslatableLabelMixin, LiveObjectMixin, models.Model):
logger.debug('cleanup_function: %s' % cleanup_function)
Cleanup(cleanup_function)
for bootstrap_model in getattr(registration, 'bootstrap_models', []):
logger.debug('bootstrap_model: %s' % bootstrap_model)
BootstrapModel(model_name=bootstrap_model, app_name=app_name)
#def set_backup(self, *args, **kwargs):
# return AppBackup(self, *args, **kwargs)