コード例 #1
0
def getContentLayoutsForType(pt):
    result = []
    registry = getUtility(IRegistry)
    hidden = registry.get('plone.app.mosaic.hidden_content_layouts', [])[:]
    for item in hidden[:]:
        # undocumented feature right now.
        # need to figure out how to integrate into UI yet
        if '::' in item:
            # seperator to be able to specify hidden for a specific type
            key, _, hidden_type = item.partition('::')
            if hidden_type == pt:
                hidden.append(key)
    for key, value in getLayoutsFromResources(
            CONTENT_LAYOUT_MANIFEST_FORMAT).items():
        if key in hidden:
            continue
        _for = [v for v in (value.get('for') or '').split(',') if v]
        if _for and pt not in _for:
            continue
        preview = value.get('preview', value.get('screenshot'))
        if preview and not preview.startswith('++'):
            value['preview'] = '++contentlayout++' + '/'.join(
                [os.path.dirname(key), preview])
        value['path'] = key
        result.append(value)
    result.sort(key=lambda l: l.get('sort_key', '') or l.get('title', ''))
    return result
コード例 #2
0
def getContentLayoutsForType(pt):
    result = []
    registry = getUtility(IRegistry)
    hidden = registry.get('plone.app.mosaic.hidden_content_layouts', [])[:]
    for item in hidden[:]:
        # undocumented feature right now.
        # need to figure out how to integrate into UI yet
        if '::' in item:
            # seperator to be able to specify hidden for a specific type
            key, _, hidden_type = item.partition('::')
            if hidden_type == pt:
                hidden.append(key)
    for key, value in getLayoutsFromResources(CONTENT_LAYOUT_MANIFEST_FORMAT).items():
        if key in hidden:
            continue
        _for = [v for v in (value.get('for') or '').split(',') if v]
        if _for and pt not in _for:
            continue
        preview = value.get('preview', value.get('screenshot'))
        if preview and not preview.startswith('++'):
            value['preview'] = '++contentlayout++' + '/'.join(
                [os.path.dirname(key), preview])
        value['path'] = key
        result.append(value)
    result.sort(key=lambda l: l.get('sort_key', '') or l.get('title', ''))
    return result
コード例 #3
0
    def test_sitelayout_manifest(self):
        layouts = getLayoutsFromResources(SITE_LAYOUT_MANIFEST_FORMAT)
        self.assertTrue('testlayout1/site.html' in layouts)
        self.assertTrue('testlayout2/mylayout.html' in layouts)
        self.assertTrue('testlayout2/mylayout2.html' in layouts)

        self.assertTrue(layouts['testlayout1/site.html']['title'] == 'Testlayout1')  # noqa
        self.assertTrue(layouts['testlayout2/mylayout.html']['title'] == 'My site layout')  # noqa
        self.assertTrue(layouts['testlayout2/mylayout2.html']['title'] == 'My site layout 2')  # noqa
コード例 #4
0
    def test_contentlayout_manifest(self):
        layouts = getLayoutsFromResources(CONTENT_LAYOUT_MANIFEST_FORMAT)
        self.assertTrue('testlayout1/content.html' in layouts)
        self.assertTrue('testlayout2/mylayout.html' in layouts)
        self.assertTrue('testlayout2/mylayout2.html' in layouts)

        self.assertTrue(layouts['testlayout1/content.html']['title'] == 'Testlayout1')  # noqa
        self.assertTrue(layouts['testlayout2/mylayout.html']['title'] == 'My content layout')  # noqa
        self.assertTrue(layouts['testlayout2/mylayout2.html']['title'] == 'My content layout 2')  # noqa
コード例 #5
0
 def list_contentlayouts(self):
     result = []
     registry = getUtility(IRegistry)
     hidden = registry["plone.app.mosaic.hidden_content_layouts"]
     for key, value in getLayoutsFromResources(CONTENT_LAYOUT_MANIFEST_FORMAT).items():
         _for = value.get("for", "")
         result.append({"key": key, "_for": _for, "title": value.get("title", ""), "hidden": key in hidden})
     result.sort(key=lambda l: l.get("key", ""))
     return json.dumps(result)
コード例 #6
0
ファイル: utils.py プロジェクト: pabo3000/plone.app.mosaic
def getContentLayoutsForType(pt):
    result = []
    for key, value in getLayoutsFromResources(CONTENT_LAYOUT_MANIFEST_FORMAT).items():
        _for = [v for v in (value.get('for') or '').split(',') if v]
        if _for and pt not in _for:
            continue
        if value['screenshot'] and not value['screenshot'].startswith('++'):
            value['screenshot'] = '++contentlayout++' + '/'.join(
                [os.path.dirname(key), value['screenshot']])
        value['path'] = key
        result.append(value)
    result.sort(key=lambda l: l.get('title', ''))
    return result
コード例 #7
0
 def list_contentlayouts(self):
     result = []
     registry = getUtility(IRegistry)
     hidden = registry['plone.app.mosaic.hidden_content_layouts']
     for key, value in getLayoutsFromResources(CONTENT_LAYOUT_MANIFEST_FORMAT).items():
         _for = value.get('for', '')
         result.append({
             'key': key,
             '_for': _for,
             'title': value.get('title', ''),
             'hidden': key in hidden
             })
     result.sort(key=lambda l: l.get('key', ''))
     return json.dumps(result)
コード例 #8
0
 def list_contentlayouts(self):
     result = []
     registry = getUtility(IRegistry)
     hidden = registry['plone.app.mosaic.hidden_content_layouts']
     layouts = getLayoutsFromResources(CONTENT_LAYOUT_MANIFEST_FORMAT)
     for key, value in layouts.items():
         _for = value.get('for', '')
         result.append({
             'key': key,
             '_for': _for,
             'title': value.get('title', ''),
             'hidden': key in hidden
         })
     result.sort(key=lambda l: l.get('key', ''))
     return json.dumps(result)