def close(self): self._message = self._parser.close() self._closed = True initializeObjectFromSchemata( self.context, iterSchemata(self.context), self._message, self._encoding )
def demarshall(obj, message): types_tool = api.portal.get_tool('portal_types') fti = types_tool.get(obj.portal_type) if IDexterityFTI.providedBy(fti): # DX payload = message._payload message._payload = None initializeObjectFromSchemata(DublinCore(obj), [IDublinCore], message) message._payload = payload initializeObjectFromSchemata(obj, iterSchemata(obj), message) elif HAS_ARCHETYPES: # AT initializeObject(obj, iterFields(obj), message)
def demarshall(ob, message): types_tool = api.portal.get_tool('portal_types') fti = types_tool.get(ob.portal_type) if IDexterityFTI.providedBy(fti): # DX try: initializeObjectFromSchemata(ob, iterSchemata(ob), message) except Exception: raise # import pdb; pdb.set_trace() # initializeObjectFromSchemata(ob, iterSchemata(ob), message) elif HAS_ARCHETYPES: # AT initializeObject(ob, iterFields(ob), message)
def create_translation(self, *args, **kwargs): """Create translation for an object with uid in the given target_language and return its UID Usage:: Create translation /plone/en/foo ca title=Translated """ disableCSRFProtection() # Parse arguments: uid_or_path = args[0] target_language = args[1] # BBB: Support keywords arguments with robotframework < 2.8.3 kwargs.update(dict([arg.split('=', 1) for arg in args[2:]])) # Look up translatable content pc = getToolByName(self, "portal_catalog") uid_results = pc.unrestrictedSearchResults(UID=uid_or_path) path_results = pc.unrestrictedSearchResults( path={ 'query': uid_or_path.rstrip('/'), 'depth': 0 }) obj = (uid_results or path_results)[0]._unrestrictedGetObject() # Translate manager = ITranslationManager(obj) manager.add_translation(target_language) translation = manager.get_translation(target_language) # Update fields data = constructMessageFromSchemata(obj, iterSchemata(obj)) for key, value in kwargs.items(): del data[key] data[key] = Header(value, 'utf-8') del data['language'] initializeObjectFromSchemata(translation, iterSchemata(obj), data) notify(ObjectModifiedEvent(translation)) # Return uid for the translation return IUUID(translation)
def create_translation(self, *args, **kwargs): """Create translation for an object with uid in the given target_language and return its UID Usage:: Create translation /plone/en/foo ca title=Translated """ disableCSRFProtection() # Parse arguments: uid_or_path = args[0] target_language = args[1] # BBB: Support keywords arguments with robotframework < 2.8.3 kwargs.update(dict([arg.split('=', 1) for arg in args[2:]])) # Look up translatable content pc = getToolByName(self, "portal_catalog") uid_results = pc.unrestrictedSearchResults(UID=uid_or_path) path_results = pc.unrestrictedSearchResults( path={'query': uid_or_path.rstrip('/'), 'depth': 0}) obj = (uid_results or path_results)[0]._unrestrictedGetObject() # Translate manager = ITranslationManager(obj) manager.add_translation(target_language) translation = manager.get_translation(target_language) # Update fields data = constructMessageFromSchemata(obj, iterSchemata(obj)) for key, value in kwargs.items(): del data[key] data[key] = Header(value, 'utf-8') del data['language'] initializeObjectFromSchemata(translation, iterSchemata(obj), data) notify(ObjectModifiedEvent(translation)) # Return uid for the translation return IUUID(translation)
def close(self): self._message = self._parser.close() self._closed = True initializeObjectFromSchemata(self.context, iterSchemata(self.context), self._message, self._encoding)