Skip to content

Commit

Permalink
Fixed view importing issue from last commit.
Browse files Browse the repository at this point in the history
  • Loading branch information
mikemintz committed Feb 26, 2012
1 parent 7eb4e9a commit b5dc9d3
Showing 1 changed file with 30 additions and 17 deletions.
47 changes: 30 additions & 17 deletions deme_django/cms/base_viewer.py
Expand Up @@ -160,20 +160,6 @@ def __new__(cls, name, bases, attrs):
return result


def get_viewer_class_by_name(viewer_name):
"""
Return the viewer class with the given name. If no such class exists,
return None.
"""
result = ViewerMetaClass.viewer_name_dict.get(viewer_name, None)
return result


def all_viewer_classes():
"Return a list of all viewer classes defined."
return ViewerMetaClass.viewer_name_dict.values()


###############################################################################
# The Viewer class
###############################################################################
Expand Down Expand Up @@ -740,7 +726,34 @@ def construct_template(self, django_template_document):
return self.context['layout%s' % django_template_document.pk]


# Import viewers from modules so they get registered with ViewerMetaClass
for module_name in settings.MODULE_NAMES:
__import__('modules.%s.views' % module_name)
###############################################################################
# Viewer importing stuff (must come last)
###############################################################################

_all_views_imported = False
def import_all_views():
"""
Import viewers from modules so they get registered with ViewerMetaClass
"""
global _all_views_imported
if not _all_views_imported:
_all_views_imported = True
import cms.views
for module_name in settings.MODULE_NAMES:
__import__('modules.%s.views' % module_name)

def get_viewer_class_by_name(viewer_name):
"""
Return the viewer class with the given name. If no such class exists,
return None.
"""
import_all_views()
result = ViewerMetaClass.viewer_name_dict.get(viewer_name, None)
return result


def all_viewer_classes():
"Return a list of all viewer classes defined."
import_all_views()
return ViewerMetaClass.viewer_name_dict.values()

0 comments on commit b5dc9d3

Please sign in to comment.