def test_dataverse_file_url(self): # Create some dataverse file dvf = DataverseFile( node=self.project, file_id='12345', ) dvf.save() # Assert url is correct assert_equal('dataverse/file/12345', dvf.file_url)
def test_dataverse_file_url(self): # Create some dataverse file dvf = DataverseFile( node=self.project, file_id='12345', ) dvf.save() # Assert url is correct assert_equal('dataverse/file/12345', dvf.file_url)
def test_path_doesnt_crash_without_addon(self): dvf = DataverseFile(node=self.project, file_id='12345') self.project.delete_addon('dataverse', Auth(self.user)) assert_is(self.project.get_addon('dataverse'), None) assert_true(dvf.file_id) assert_true(dvf.waterbutler_path)
def dataverse_view_file(node_addon, auth, **kwargs): node = node_addon.owner file_id = kwargs.get('path') fail_if_unauthorized(node_addon, auth, file_id) fail_if_private(file_id) # lazily create a file GUID record file_obj, created = DataverseFile.get_or_create(node=node, path=file_id) redirect_url = check_file_guid(file_obj) if redirect_url: return redirect(redirect_url) # Get or create rendered file cache_file_name = '{0}.html'.format(file_id) rendered = get_cache_content(node_addon, cache_file_name) if rendered is None: filename, content = scrape_dataverse(file_id) _, ext = os.path.splitext(filename) download_url = node.api_url_for( 'dataverse_download_file_proxy', path=file_id ) rendered = get_cache_content( node_addon, cache_file_name, start_render=True, remote_path=file_obj.file_id + ext, # Include extension for MFR file_content=content, download_url=download_url, ) else: filename, _ = scrape_dataverse(file_id, name_only=True) render_url = node.api_url_for( 'dataverse_get_rendered_file', path=file_id, render=True ) ret = { 'file_name': filename, 'rendered': rendered, 'render_url': render_url, 'urls': { 'render': render_url, 'download': node.web_url_for('dataverse_download_file', path=file_id), 'info': node.api_url_for('dataverse_get_file_info', path=file_id), } } ret.update(_view_project(node, auth)) return ret
def test_unique_identifier(self): dvf = DataverseFile(node=self.project, file_id='12345') assert_true(dvf.file_id, '12345') assert_equals(dvf.unique_identifier, '12345')
def test_waterbutler_path(self): dvf = DataverseFile(node=self.project, file_id='12345') assert_equals(dvf.file_id, '12345') assert_equals(dvf.waterbutler_path, '/12345')
def test_constants(self): dvf = DataverseFile() assert_equal('dataverse', dvf.provider) assert_equal('version', dvf.version_identifier)