def _prepareData(self, req, words=""): obj = prepare_node_data(self, req) if obj["deleted"]: # no more processing needed if this object version has been deleted # rendering has been delegated to current version return obj # user must have data access for video playback if self.has_data_access(): video = self.files.filter_by(filetype=u"video").scalar() obj["video_url"] = u"/file/{}/{}".format( self.id, video.base_name) if video is not None else None if not self.isActiveVersion(): obj['video_url'] += "?v=" + self.tag else: obj["video_url"] = None captions_info = getCaptionInfoDict(self) if captions_info: logg.debug( "video: '%s' (%s): captions: dictionary 'captions_info': %s" % (self.name, str(self.id), str(captions_info))) obj["captions_info"] = json.dumps(captions_info) return obj
def _prepareData(self, req): obj = prepare_node_data(self, req) if obj["deleted"]: # no more processing needed if this object version has been deleted # rendering has been delegated to current version return obj node = self # adapted from video.py # user must have data access for audio playback if self.has_data_access(): audio_file = self.files.filter_by(filetype=u"audio").scalar() obj["audio_url"] = u"/file/{}/{}".format(self.id, audio_file.base_name) if audio_file is not None else None versions = self.tagged_versions.all() obj['tag'] = versions[-1].tag if len(versions) > 1 else None if not self.isActiveVersion(): obj['audio_url'] += "?v=" + self.tag if node.isActiveVersion(): if node.system_attrs.get('origname') == "1": obj['audiodownload'] = u'/download/{}/{}'.format(node.id, node.name) else: obj['audiodownload'] = u'/download/{}/{}.mp3'.format(node.id, node.id) else: obj['audiodownload'] += "?v=" + node.tag else: obj["audio_url"] = None return obj
def _prepareData(self, req): obj = prepare_node_data(self, req) if obj["deleted"]: # no more processing needed if this object version has been deleted # rendering has been delegated to current version return obj node = self # adapted from video.py # user must have data access for audio playback if self.has_data_access(): audio_file = self.files.filter_by(filetype=u"audio").scalar() obj["audio_url"] = u"/file/{}/{}".format(self.id, audio_file.base_name) if audio_file is not None else None versions = self.tagged_versions.all() obj['tag'] = versions[-1].tag if len(versions) > 1 else None if not self.isActiveVersion(): obj['audio_url'] += "?v=" + self.tag if node.isActiveVersion(): if node.system_attrs.get('origname') == "1": obj['audiodownload'] = u'/download/{}/{}'.format(node.id, node.name) else: obj['audiodownload'] = u'/download/{}/{}.mp3'.format(node.id, node.id) else: obj['audiodownload'] += "?v=" + node.tag else: obj["audio_url"] = None return obj
def _prepare_document_data(node, req, words=""): obj = prepare_node_data(node, req) if obj["deleted"]: # no more processing needed if this object version has been deleted # rendering has been delegated to current version return obj files, sum_size = filebrowser(node, req) obj['attachment'] = files obj['sum_size'] = sum_size obj['bibtex'] = False if node.getMask(u"bibtex"): obj['bibtex'] = True if node.has_object(): obj['canseeoriginal'] = node.has_data_access() if node.system_attrs.get('origname') == "1": obj['documentlink'] = u'/doc/{}/{}'.format(node.id, node.name) obj['documentdownload'] = u'/download/{}/{}'.format( node.id, node.name) else: obj['documentlink'] = u'/doc/{}/{}.pdf'.format(node.id, node.id) obj['documentdownload'] = u'/download/{}/{}.pdf'.format( node.id, node.id) if not node.isActiveVersion(): version_id = unicode(version_id_from_req(req)) obj['documentlink'] += "?v=" + version_id obj['documentdownload'] += "?v=" + version_id else: obj['canseeoriginal'] = False obj['documentthumb'] = u'/thumb2/{}'.format(node.id) if not node.isActiveVersion(): version_id = unicode(version_id_from_req(req)) obj['documentthumb'] += "?v=" + version_id obj['tag'] = version_id # XXX: do we really need this spider filtering? user_agent = req.get_header("user-agent") or "" is_spider = "oogle" in user_agent or "aidu" in user_agent if is_spider: # don't confuse search engines with the PDF link obj['documentdownload'] = None full_style = req.args.get("style", "full_standard") if full_style: obj['style'] = full_style return obj
def _prepare_document_data(node, req, words=""): obj = prepare_node_data(node, req) if obj["deleted"]: # no more processing needed if this object version has been deleted # rendering has been delegated to current version return obj files, sum_size = filebrowser(node, req) obj['attachment'] = files obj['sum_size'] = sum_size obj['bibtex'] = False if node.getMask(u"bibtex"): obj['bibtex'] = True if node.has_object(): obj['canseeoriginal'] = node.has_data_access() if node.system_attrs.get('origname') == "1": obj['documentlink'] = u'/doc/{}/{}'.format(node.id, node.name) obj['documentdownload'] = u'/download/{}/{}'.format(node.id, node.name) else: obj['documentlink'] = u'/doc/{}/{}.pdf'.format(node.id, node.id) obj['documentdownload'] = u'/download/{}/{}.pdf'.format(node.id, node.id) if not node.isActiveVersion(): version_id = unicode(version_id_from_req(req)) obj['documentlink'] += "?v=" + version_id obj['documentdownload'] += "?v=" + version_id else: obj['canseeoriginal'] = False obj['documentthumb'] = u'/thumb2/{}'.format(node.id) if not node.isActiveVersion(): version_id = unicode(version_id_from_req(req)) obj['documentthumb'] += "?v=" + version_id obj['tag'] = version_id # XXX: do we really need this spider filtering? user_agent = req.get_header("user-agent") or "" is_spider = "oogle" in user_agent or "aidu" in user_agent if is_spider: # don't confuse search engines with the PDF link obj['documentdownload'] = None full_style = req.args.get("style", "full_standard") if full_style: obj['style'] = full_style return obj
def _prepareData(self, req): obj = prepare_node_data(self, req) if obj["deleted"]: # no more processing needed if this object version has been deleted # rendering has been delegated to current version return obj obj["highres_url"] = None can_see_original = self.has_data_access() use_flash_zoom = config.getboolean("image.use_flash_zoom", True) and self.should_use_zoom image_url = '/fullsize?id=%d' % self.id if use_flash_zoom else '/image/%d' % self.id image_url = self._add_version_tag_to_url(image_url) archive = get_archive_for_node(self) if archive: if can_see_original: obj['highres_url'] = u"/file/{nid}/{nid}.tif".format( nid=self.id) archive_state = archive.get_file_state(self) if archive_state == Archive.NOT_PRESENT: obj['archive_fetch_url'] = u"/archive/{}".format(self.id) elif archive_state == Archive.PENDING: obj['archive_fetch_url'] = u"pending" elif archive_state == Archive.PRESENT: obj['archive_fetch_url'] = None files, sum_size = filebrowser(self, req) obj['canseeoriginal'] = can_see_original obj['preferred_image_url'] = self.preferred_image_url obj["image_formats"] = self.get_image_formats() obj['zoom'] = self.zoom_available obj['image_url'] = image_url obj['attachment'] = files obj['sum_size'] = sum_size obj['presentation_url'] = self.presentation_url obj['fullsize'] = str(self.id) if not self.isActiveVersion(): obj['tag'] = self.tag obj['fullsize'] += "&v=" + self.tag obj['fullsize'] = '"' + obj['fullsize'] + '"' full_style = req.args.get(u"style", u"full_standard") if full_style: obj['style'] = full_style return obj
def _prepareData(self, req): obj = prepare_node_data(self, req) if obj["deleted"]: # no more processing needed if this object version has been deleted # rendering has been delegated to current version return obj obj["highres_url"] = None can_see_original = self.has_data_access() use_flash_zoom = config.getboolean("image.use_flash_zoom", True) and self.should_use_zoom image_url = '/fullsize?id=%d' % self.id if use_flash_zoom else '/image/%d' % self.id image_url = self._add_version_tag_to_url(image_url) archive = get_archive_for_node(self) if archive: if can_see_original: obj['highres_url'] = u"/file/{nid}/{nid}.tif".format(nid=self.id) archive_state = archive.get_file_state(self) if archive_state == Archive.NOT_PRESENT: obj['archive_fetch_url'] = u"/archive/{}".format(self.id) elif archive_state == Archive.PENDING: obj['archive_fetch_url'] = u"pending" elif archive_state == Archive.PRESENT: obj['archive_fetch_url'] = None files, sum_size = filebrowser(self, req) obj['canseeoriginal'] = can_see_original obj['preferred_image_url'] = self.preferred_image_url obj["image_formats"] = self.get_image_formats() obj['zoom'] = self.zoom_available obj['image_url'] = image_url obj['attachment'] = files obj['sum_size'] = sum_size obj['presentation_url'] = self.presentation_url obj['fullsize'] = str(self.id) if not self.isActiveVersion(): obj['tag'] = self.tag obj['fullsize'] += "&v=" + self.tag obj['fullsize'] = '"' + obj['fullsize'] + '"' full_style = req.args.get(u"style", u"full_standard") if full_style: obj['style'] = full_style return obj
def _prepareData(self, req, words=""): obj = prepare_node_data(self, req) if obj["deleted"]: # no more processing needed if this object version has been deleted # rendering has been delegated to current version return obj # user must have data access for video playback if self.has_data_access(): video = self.files.filter_by(filetype=u"video").scalar() obj["video_url"] = u"/file/{}/{}".format(self.id, video.base_name) if video is not None else None if not self.isActiveVersion(): obj['video_url'] += "?v=" + self.tag else: obj["video_url"] = None captions_info = getCaptionInfoDict(self) if captions_info: logg.debug("video: '%s' (%s): captions: dictionary 'captions_info': %s" % (self.name, str(self.id), str(captions_info))) obj["captions_info"] = json.dumps(captions_info) return obj