def test_copy_paste(self): xml = u'<?xml version="1.0" encoding="UTF-8"?>\n<hello>world</hello>' self.doc.xml_set('xml_content', xml) cb = self.portal.manage_copyObjects(self.doc.getId()) self.portal.manage_pasteObjects(cb) copy_doc = self.portal['copy_of_dok'] assert util.get_storage_key(self.doc) != util.get_storage_key(copy_doc)
def storage_key(self): context_id = util.get_storage_key(self.context) if not context_id: context_id = util.new_storage_key(self.context) field_id = self.field.__name__ return '{}/{}{}'.format(util.get_storage_path(self.context), field_id, self.suffix)
def storage_key(self): context_id = util.get_storage_key(self.context) if not context_id: context_id = util.new_storage_key(self.context) field_id = self.field.__name__ return '{}/{}.xml'.format(util.get_storage_path(self.context), field_id)
def copied_handler(obj, event): """ Copy XML resources to new object """ # original and copied Dexterity object copied = event.object original = event.original # Is this Dexterity content object related to XML resources? if not util.is_xml_content(copied): return # create a new storage id if util.get_storage_key(original) == util.get_storage_key(copied): util.new_storage_key(copied) # an copy over XML content from original content object handle = getUtility(IConnectorHandle).get_handle() storage_dir_original = util.get_storage_path(original) storage_dir_copied = util.get_storage_path(copied) storage_dir_copied_parent = util.get_storage_path_parent(copied) handle.makedir(storage_dir_copied_parent, True, True) handle.copydir(storage_dir_original, storage_dir_copied)
def copied_handler(obj, event): """ Copy XML resources to new object """ # original and copied Dexterity object copied = event.object original = event.original # Is this Dexterity content object related to XML resources? if not util.is_xml_content(copied): return # create a new storage id if util.get_storage_key(original) == util.get_storage_key(copied): util.new_storage_key(copied) # an copy over XML content from original content object handle = getUtility(IWebdavHandle).webdav_handle() storage_dir_original = util.get_storage_path(original) storage_dir_copied = util.get_storage_path(copied) storage_dir_copied_parent = util.get_storage_path_parent(copied) handle.makedir(storage_dir_copied_parent, True, True) handle.copydir(storage_dir_original, storage_dir_copied)
def info(self): if not util.is_xml_content(self.context): return storage_path = get_storage_path(self.context) path = '{}/xml_content.xml'.format(storage_path) LM = LockManager(self.context) try: lock_info = LM.get_lock(path) except Exception as e: lock_info = None return dict(lock_info=lock_info, storage_key=util.get_storage_key(self.context), storage_path=util.get_storage_path(self.context))
def info(self): if not util.is_xml_content(self.context): return return dict(storage_key=util.get_storage_key(self.context), storage_path=util.get_storage_path(self.context))