Пример #1
0
 def __call__(self, value, filestore, item):
     if isinstance(value, dict):
         encoding = value.get('encoding', getSiteEncoding())
         contenttype = value.get('contenttype', None)
         if contenttype is not None:
             contenttype = str(contenttype)
         file = value.get('file', None)
         if file is not None:
             data = self._convert_object(filestore[file]['data'],encoding)
         else:
             data = self._convert_object(value['data'],encoding)
     else:
         encoding = getSiteEncoding()
         data = self._convert_object(value,encoding)
         contenttype = None
     if contenttype is None:
         contenttype = self.field.default_mime_type
     instance = self._type(
         raw=data,
         mimeType=contenttype,
         outputMimeType=self.field.output_mime_type,
         encoding=encoding,
         )
     self.field.validate(instance)
     return instance
Пример #2
0
 def fromUnicode(self, str):
     return XMLTextValue(
             raw=str,
             mimeType=self.default_mime_type,
             outputMimeType=self.output_mime_type,
             encoding=getSiteEncoding(),
         )
Пример #3
0
def searchableIndexer(context):
    transforms = getToolByName(context, 'portal_transforms')
    if context.body:
        html = context.body.raw_encoded
        text = transforms.convert('html_to_text', html).getData()
        text = text.decode(getSiteEncoding())
    else:
        text = ''

    return "%s %s %s" % (context.title, context.description, text)
Пример #4
0
 def extract(self, default=NOVALUE):
     raw = self.request.get(self.name, default)
     
     if raw is default:
         return default
     
     mimeType = self.request.get("%s.mimeType" % self.name, self.field.default_mime_type)
     return RichTextValue(raw=raw,
                          mimeType=mimeType,
                          outputMimeType=self.field.output_mime_type,
                          encoding=getSiteEncoding())
Пример #5
0
 def __call__(self, value, filestore, item,
              disable_constraints=False, logger=None):
     if isinstance(value, dict):
         encoding = value.get('encoding', getSiteEncoding())
         contenttype = value.get('contenttype', None)
         if contenttype is not None:
             contenttype = str(contenttype)
         file = value.get('file', None)
         if file is not None:
             data = self._convert_object(filestore[file]['data'],encoding)
         else:
             data = self._convert_object(value['data'],encoding)
     else:
         encoding = getSiteEncoding()
         data = self._convert_object(value,encoding)
         contenttype = None
     if contenttype is None:
         contenttype = self.field.default_mime_type
     instance = self._type(
         raw=data,
         mimeType=contenttype,
         outputMimeType=self.field.output_mime_type,
         encoding=encoding,
     )
     try:
         self.field.validate(instance)
     except Exception, e:
         if not disable_constraints:
             raise e
         else:
             if logger:
                 logger(
                     "%s is invalid in %s: %s" % (
                         self.field.__name__,
                         item['_path'],
                         e)
                     )