def convert(self, data, idatastream, filename='unknown', **kwargs): """Convert the data, store the result in idata and return that. """ filename = filename or 'unknown.doc' cache_dir = self.cache_dir or None cache_key = self.get_cache_key('cache_key_html', idatastream) document = Document(filename, data, cache_dir=cache_dir) html, cache_key = document.convert(cache_key=cache_key) sub_objects_paths = [document.tmpdir, os.path.join(document.tmpdir, 'Pictures')] objects = {} for path in sub_objects_paths: if os.path.exists(path): spath, images = document.subObjects(path) if images: document.fixImages(spath, images, objects) idatastream.getMetadata()['cache_key_html'] = cache_key idatastream.setData(html) idatastream.setSubObjects(objects) return idatastream
def convert(self, data, idatastream, filename=None, **kwargs): """Convert the data, store the result in idata and return that. If a cache key can be retrieved, it is stored under key ``cache_key`` in `idatastream` metadata. """ filename = filename or "unknown.odt" cache_dir = self.cache_dir or None cache_key = self.get_cache_key("cache_key_html", idatastream) document = Document(filename, data, cache_dir=cache_dir) html, cache_key = document.convert(cache_key=cache_key) sub_objects_paths = [document.tmpdir, os.path.join(document.tmpdir, "Pictures")] objects = {} for path in sub_objects_paths: if os.path.exists(path): spath, images = document.subObjects(path) if images: document.fixImages(spath, images, objects) idatastream.getMetadata()["cache_key_html"] = cache_key idatastream.setData(html) idatastream.setSubObjects(objects) return idatastream