Warning
This document is for an old release of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.
Source code for galaxy.managers.pages
"""
Manager and Serializers for Pages.
Pages are markup created and saved by users that can contain Galaxy objects
(such as datasets) and are often used to describe or present an analysis
from within Galaxy.
"""
import logging
from galaxy import model
from galaxy.managers import sharable
log = logging.getLogger(__name__)
[docs]class PageManager(sharable.SharableModelManager):
    """
    """
    model_class = model.Page
    foreign_key_name = 'page'
    user_share_model = model.PageUserShareAssociation
    tag_assoc = model.PageTagAssociation
    annotation_assoc = model.PageAnnotationAssociation
    rating_assoc = model.PageRatingAssociation
[docs]    def __init__(self, app, *args, **kwargs):
        """
        """
        super(PageManager, self).__init__(app, *args, **kwargs)
[docs]class PageSerializer(sharable.SharableModelSerializer):
    """
    Interface/service object for serializing pages into dictionaries.
    """
    SINGLE_CHAR_ABBR = 'p'
[docs]    def __init__(self, app):
        super(PageSerializer, self).__init__(app)
        self.page_manager = PageManager(app)
        self.default_view = 'summary'
        self.add_view('summary', [])
        self.add_view('detailed', [])
[docs]    def add_serializers(self):
        super(PageSerializer, self).add_serializers()
        self.serializers.update({
        })
[docs]class PageDeserializer(sharable.SharableModelDeserializer):
    """
    Interface/service object for validating and deserializing dictionaries
    into pages.
    """
    model_manager_class = PageManager
[docs]    def __init__(self, app):
        super(PageDeserializer, self).__init__(app)
        self.page_manager = self.manager
[docs]    def add_deserializers(self):
        super(PageDeserializer, self).add_deserializers()
        self.deserializers.update({
        })
        self.deserializable_keyset.update(self.deserializers.keys())