예제 #1
0
 def test_format_page(self):
     from fanboi2.helpers.formatters import format_page
     from markupsafe import Markup
     request = self._makeRequest()
     page1 = self._makePage(
         body='**Markdown**',
         formatter='markdown',
         slug='page1',
         title='Page 1')
     page2 = self._makePage(
         body='<em>**HTML**</em>',
         formatter='html',
         slug='page2',
         title='Page 2')
     page3 = self._makePage(
         body='<em>**Plain**</em>',
         formatter='none',
         slug='page3',
         title='Page 3')
     tests = (
         (page1, '<p><strong>Markdown</strong></p>\n'),
         (page2, '<em>**HTML**</em>'),
         (page3, '&lt;em&gt;**Plain**&lt;/em&gt;'),
     )
     for source, target in tests:
         self.assertEqual(format_page(None, request, source), Markup(target))
예제 #2
0
def _page_serializer(obj, request):
    """Serialize :class:`fanboi2.models.Page` into a :type:`dict`.

    :param obj: A :class:`fanboi2.models.Page` object.
    :param request: A :class:`pyramid.request.Request` object.

    :type obj: fanboi2.models.Page
    :type request: pyramid.request.Request
    :rtype: dict
    """
    return {
        'type': 'page',
        'id': obj.id,
        'body': obj.body,
        'body_formatted': format_page(None, request, obj),
        'formatter': obj.formatter,
        'namespace': obj.namespace,
        'slug': obj.slug,
        'title': obj.title,
        'updated_at': obj.updated_at or obj.created_at,
        'path': request.route_path(
            'api_page',
            page=obj.slug,
        ),
    }
예제 #3
0
def _page_serializer(obj, request):
    """Serialize :class:`fanboi2.models.Page` into a :type:`dict`.

    :param obj: A :class:`fanboi2.models.Page` object.
    :param request: A :class:`pyramid.request.Request` object.

    :type obj: fanboi2.models.Page
    :type request: pyramid.request.Request
    :rtype: dict
    """
    return {
        'type': 'page',
        'id': obj.id,
        'body': obj.body,
        'body_formatted': format_page(None, request, obj),
        'formatter': obj.formatter,
        'namespace': obj.namespace,
        'slug': obj.slug,
        'title': obj.title,
        'updated_at': obj.updated_at or obj.created_at,
        'path': request.route_path(
            'api_page',
            page=obj.slug,
        ),
    }