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
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
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
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
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)
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
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)
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)