本文整理汇总了Python中plone.app.contentlisting.interfaces.IContentListingObject.getURL方法的典型用法代码示例。如果您正苦于以下问题:Python IContentListingObject.getURL方法的具体用法?Python IContentListingObject.getURL怎么用?Python IContentListingObject.getURL使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类plone.app.contentlisting.interfaces.IContentListingObject
的用法示例。
在下文中一共展示了IContentListingObject.getURL方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __call__
# 需要导入模块: from plone.app.contentlisting.interfaces import IContentListingObject [as 别名]
# 或者: from plone.app.contentlisting.interfaces.IContentListingObject import getURL [as 别名]
def __call__(self):
field_list = self.request.form.get('items.fl', '').strip()
if field_list:
field_list = field_list.split(',')
else:
field_list = ['@type', 'title', 'description', 'review_state']
obj = IContentListingObject(self.context)
summary = json_compatible({
'@id': obj.getURL(),
})
for field in field_list:
accessor = FIELD_ACCESSORS.get(field)
if accessor is None:
continue
if isinstance(accessor, str):
value = getattr(obj, accessor, None)
if callable(value):
value = value()
else:
value = accessor(obj)
summary[field] = json_compatible(value)
if ('title' in summary and
ITranslatedTitleSupport.providedBy(self.context)):
# Update title to contain translated title in negotiated language
attr = 'title_{}'.format(get_preferred_language_code())
summary['title'] = getattr(self.context, attr)
return summary
示例2: __call__
# 需要导入模块: from plone.app.contentlisting.interfaces import IContentListingObject [as 别名]
# 或者: from plone.app.contentlisting.interfaces.IContentListingObject import getURL [as 别名]
def __call__(self):
obj = IContentListingObject(self.context)
summary = json_compatible({
'@id': obj.getURL(),
'@type': obj.PortalType(),
'title': obj.Title(),
'description': obj.Description()
})
return summary
示例3: create_list_item
# 需要导入模块: from plone.app.contentlisting.interfaces import IContentListingObject [as 别名]
# 或者: from plone.app.contentlisting.interfaces.IContentListingObject import getURL [as 别名]
def create_list_item(item, fields):
obj = IContentListingObject(item)
data = {'@id': obj.getURL()}
for field in fields:
if field not in FIELDS:
continue
accessor = FIELDS[field][1]
if isinstance(accessor, str):
value = getattr(obj, accessor, None)
if callable(value):
value = value()
else:
value = accessor(obj)
data[field] = json_compatible(value)
return data
示例4: DocumentLinkWidget
# 需要导入模块: from plone.app.contentlisting.interfaces import IContentListingObject [as 别名]
# 或者: from plone.app.contentlisting.interfaces.IContentListingObject import getURL [as 别名]
class DocumentLinkWidget(object):
template = ViewPageTemplateFile('document_link.pt')
def __init__(self, document):
self.document = IContentListingObject(document)
self.context = self.document
self.request = getRequest()
def get_url(self):
return self.document.getURL()
def portal_url(self):
return api.portal.get().absolute_url()
def get_css_class(self):
classes = ['document_link']
if self.show_icon:
classes.append(self.document.ContentTypeClass())
if self.context.is_removed:
classes.append('removed_document')
return ' '.join(classes)
def get_title(self):
if self.title is not None:
return self.title
return self.document.Title().decode('utf-8')
def render(self, title=None, show_icon=True):
self.title = title
self.show_icon = show_icon
return self.template(self, self.request)
def is_view_allowed(self):
return api.user.has_permission('View', obj=self.context.getObject())
示例5: DocumentLinkWidget
# 需要导入模块: from plone.app.contentlisting.interfaces import IContentListingObject [as 别名]
# 或者: from plone.app.contentlisting.interfaces.IContentListingObject import getURL [as 别名]
class DocumentLinkWidget(object):
template = ViewPageTemplateFile('document_link.pt')
def __init__(self, document):
self.document = IContentListingObject(document)
self.context = self.document
self.request = getRequest()
def get_url(self):
return self.document.getURL()
def portal_url(self):
return api.portal.get().absolute_url()
def get_css_class(self):
classes = ['document_link', self.document.ContentTypeClass()]
return ' '.join(classes)
def get_title(self):
return self.document.Title().decode('utf-8')
def render(self):
return self.template(self, self.request)
示例6: TestIndividualRealContentItems
# 需要导入模块: from plone.app.contentlisting.interfaces import IContentListingObject [as 别名]
# 或者: from plone.app.contentlisting.interfaces.IContentListingObject import getURL [as 别名]
class TestIndividualRealContentItems(unittest.TestCase):
layer = CONTENTLISTING_FUNCTIONAL_TESTING
def setUp(self):
super(TestIndividualRealContentItems, self).setUp()
self.portal = self.layer['portal']
self.folder = self.portal['test-folder']
self.folder.invokeFactory(
'Document',
'mypage',
title='My Page',
description='blah',
)
self.item = IContentListingObject(self.folder.mypage)
self.realitem = self.folder.mypage
def test_printing_item(self):
self.assertEqual(
repr(self.item),
'<plone.app.contentlisting.realobject.RealContentListingObject '
'instance at /plone/test-folder/mypage>',
)
self.assertEqual(
str(self.item),
'<plone.app.contentlisting.realobject.RealContentListingObject '
'instance at /plone/test-folder/mypage>',
)
def test_special_getattr_with_underscore(self):
# looking up attributes starting with _ should always raise
# AttributeError
self.assertRaises(AttributeError, self.item.__getattr__, 'foo')
def test_special_getattr_from_object(self):
# Asking for an attribute not in the contentlistingobject, should
# defer lookup to the brain
self.assertEqual(self.item.absolute_url(), '')
self.assertEqual(
repr(self.item.getDataOrigin()),
'<Document at /plone/test-folder/mypage>',
)
def test_item_Title(self):
self.assertEqual(self.item.Title(), 'My Page')
self.assertEqual(self.item.Title(), self.realitem.Title())
def test_item_Description(self):
self.assertEqual(self.item.Description(), 'blah')
self.assertEqual(self.item.Description(), self.realitem.Description())
def test_item_Creator(self):
self.assertEqual(self.item.Creator(), 'test_user_1_')
def test_item_getURL(self):
self.assertEqual(
self.item.getURL(),
'http://nohost/plone/test-folder/mypage',
)
self.assertEqual(self.item.getURL(), self.realitem.absolute_url())
def test_item_getSize(self):
self.assertEqual(self.item.getSize().upper(), '0 KB')
def test_item_reviewState(self):
wftool = getToolByName(self.realitem, 'portal_workflow')
wf = wftool.getInfoFor(self.realitem, 'review_state')
self.assertEqual(self.item.review_state(), wf)
def test_item_Type(self):
self.assertEqual(self.item.Type(), u'Page')
self.assertEqual(self.item.Type().domain, u'plone')
def test_item_ContentTypeClass(self):
# checking the that we print nice strings for css class identifiers
self.assertEqual(self.item.ContentTypeClass(), 'contenttype-document')
def test_item_uuid(self):
uuid = self.item.uuid()
assert uuid
assert uuid != self.item.getPath()