From 6f3f883f758c842645b6bc5223ce0108c0c499f6 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 16 Aug 2012 13:51:32 -0400 Subject: [PATCH] Add app registration exception catch --- apps/backups/__init__.py | 11 +++++++---- apps/bootstrap/__init__.py | 10 +++++++--- apps/checkouts/__init__.py | 12 ++++++++---- apps/documents/__init__.py | 19 +++++++++++++------ apps/folders/__init__.py | 6 +++--- 5 files changed, 38 insertions(+), 20 deletions(-) diff --git a/apps/backups/__init__.py b/apps/backups/__init__.py index 839f928754..4c403488a8 100644 --- a/apps/backups/__init__.py +++ b/apps/backups/__init__.py @@ -3,12 +3,12 @@ from __future__ import absolute_import from django.db import transaction, DatabaseError from django.utils.translation import ugettext_lazy as _ -from job_processor.models import JobQueue, JobType +from app_registry import register_app, UnableToRegister from job_processor.exceptions import JobQueuePushError +from job_processor.models import JobQueue, JobType from navigation.api import bind_links, register_model_list_columns -from project_tools.api import register_tool from project_setup.api import register_setup -from app_registry.api import register_app +from project_tools.api import register_tool from .links import backup_tool_link, restore_tool_link, backup_job_list, backup_job_create, backup_job_edit, backup_job_test from .models import BackupJob @@ -40,4 +40,7 @@ register_model_list_columns(BackupJob, [ {'name':_(u'storage module'), 'attribute': 'storage_module'}, ]) -register_app('backups', _(u'Backups')) +try: + register_app('backups', _(u'Backups')) +except UnableToRegister: + pass diff --git a/apps/bootstrap/__init__.py b/apps/bootstrap/__init__.py index b7155cd388..c16ac88029 100644 --- a/apps/bootstrap/__init__.py +++ b/apps/bootstrap/__init__.py @@ -2,9 +2,9 @@ from __future__ import absolute_import from django.utils.translation import ugettext_lazy as _ -from project_setup.api import register_setup +from app_registry import register_app, UnableToRegister from navigation.api import bind_links -from app_registry.api import register_app +from project_setup.api import register_setup from .links import database_bootstrap, bootstrap_execute, erase_database_link from .api import BootstrapSimple, BootstrapPermit @@ -13,4 +13,8 @@ register_setup(database_bootstrap) register_setup(erase_database_link) bind_links([BootstrapSimple], [bootstrap_execute]) bind_links([BootstrapPermit], [bootstrap_execute]) -register_app('bootstrap', _(u'Database bootstrap')) + +try: + register_app('bootstrap', _(u'Database bootstrap')) +except UnableToRegister: + pass diff --git a/apps/checkouts/__init__.py b/apps/checkouts/__init__.py index 194d655c93..e8452809ad 100644 --- a/apps/checkouts/__init__.py +++ b/apps/checkouts/__init__.py @@ -2,11 +2,11 @@ from __future__ import absolute_import from django.utils.translation import ugettext_lazy as _ +from acls.api import class_permissions +from app_registry import register_app, UnableToRegister +from documents.models import Document from navigation.api import bind_links, register_top_menu from scheduler.api import LocalScheduler -from app_registry.api import register_app -from documents.models import Document -from acls.api import class_permissions from .permissions import (PERMISSION_DOCUMENT_CHECKOUT, PERMISSION_DOCUMENT_CHECKIN, PERMISSION_DOCUMENT_CHECKIN_OVERRIDE, @@ -40,4 +40,8 @@ checkouts_scheduler.add_interval_job('task_check_expired_check_outs', _(u'Check checkouts_scheduler.start() initialize_document_checkout_extra_methods() -register_app('checkouts', _(u'Checkouts')) + +try: + register_app('checkouts', _(u'Checkouts')) +except UnableToRegister: + pass diff --git a/apps/documents/__init__.py b/apps/documents/__init__.py index 4bcfe9faf3..5697c25ba9 100644 --- a/apps/documents/__init__.py +++ b/apps/documents/__init__.py @@ -4,17 +4,18 @@ import tempfile from django.utils.translation import ugettext_lazy as _ +from acls.api import class_permissions +from app_registry import register_app, UnableToRegister +from backups.api import AppBackup, ModelBackup, FileBackup from common.utils import validate_path, encapsulate +from diagnostics.api import DiagnosticNamespace +from history.permissions import PERMISSION_HISTORY_VIEW +from maintenance.api import MaintenanceNamespace from navigation.api import (bind_links, register_top_menu, register_model_list_columns, register_sidebar_template, Link, register_multi_item_links) -from diagnostics.api import DiagnosticNamespace -from maintenance.api import MaintenanceNamespace -from history.permissions import PERMISSION_HISTORY_VIEW from project_setup.api import register_setup -from acls.api import class_permissions from statistics.api import register_statistics -from backups.api import AppBackup, ModelBackup, FileBackup from .models import (Document, DocumentPage, DocumentPageTransformation, DocumentType, DocumentTypeFilename, @@ -137,4 +138,10 @@ class_permissions(Document, [ ]) register_statistics(get_statistics) -AppBackup('documents', _(u'Documents'), [ModelBackup(), FileBackup(document_settings.STORAGE_BACKEND)]) + +try: + app = register_app('documents', _(u'Documents')) +except UnableToRegister: + pass +else: + AppBackup(app, [ModelBackup(), FileBackup(document_settings.STORAGE_BACKEND)]) diff --git a/apps/folders/__init__.py b/apps/folders/__init__.py index aa321f4f6a..8077706bae 100644 --- a/apps/folders/__init__.py +++ b/apps/folders/__init__.py @@ -8,7 +8,7 @@ from documents.models import Document from acls.api import class_permissions from acls.permissions import ACLS_EDIT_ACL, ACLS_VIEW_ACL from backups.api import AppBackup, ModelBackup -from app_registry.api import register_app +from app_registry import register_app, UnableToRegister from .models import Folder from .links import (folder_list, folder_create, folder_edit, @@ -47,8 +47,8 @@ class_permissions(Document, [ try: app = register_app('folders', _(u'Folders')) -except Exception: +except UnableToRegister: pass else: - AppBackup('folders', app.label, [ModelBackup()]) + AppBackup(app, [ModelBackup()])