Annotation of kupuMPIWG/plone/kupu_plone_layer/contentUsesKupu.py, revision 1.1.1.1
1.1 dwinter 1: ## Script (Python) "contentUsesKupu"
2: ##title=Allow graceful degradation if content is not text/html
3: ##bind container=container
4: ##bind context=context
5: ##bind namespace=
6: ##bind script=script
7: ##bind subpath=traverse_subpath
8: ##parameters=fieldname
9: from Products.CMFCore.utils import getToolByName
10:
11: from Products.CMFCore.utils import getToolByName
12: tool = getToolByName(context, 'kupu_library_tool')
13: REQUEST = context.REQUEST
14:
15: # If the user doesn't have kupu configured then we can't use it.
16: if not tool.isKupuEnabled(REQUEST=REQUEST):
17: return False
18:
19: if not fieldname:
20: return True # Non AT content always tries to use kupu
21:
22: if fieldname == REQUEST.form.get('kupu.convert', ''):
23: return True
24: if fieldname == REQUEST.form.get('kupu.suppress', ''):
25: return False
26:
27: if not hasattr(context, 'getField'):
28: return True
29:
30: field = context.getField(fieldname)
31: if not field:
32: return True
33: text_format = REQUEST.get('%s_text_format' % fieldname, context.getContentType(fieldname))
34: content = field.getEditAccessor(context)()
35:
36: return len(content)==0 or 'html' in text_format.lower()
37:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>