def test_status_error(self): # Let's create a new study, so we can check that the error is raised # because the new study does not have access to the raw data info = { "timeseries_type_id": 1, "metadata_complete": True, "mixs_compliant": True, "number_samples_collected": 25, "number_samples_promised": 28, "portal_type_id": 3, "study_alias": "FCM", "study_description": "Microbiome of people who eat nothing but " "fried chicken", "study_abstract": "Exploring how a high fat diet changes the " "gut microbiome", "emp_person_id": StudyPerson(2), "principal_investigator_id": StudyPerson(3), "lab_person_id": StudyPerson(1) } s = Study.create(User('*****@*****.**'), "Fried chicken microbiome", [1], info) rd = RawData(1) with self.assertRaises(QiitaDBStatusError): rd.status(s)
def test_status(self): rd = RawData(1) s = Study(1) self.assertEqual(rd.status(s), 'private') # Since the status is inferred from the processed data, change the # status of the processed data so we can check how it changes in the # preprocessed data pd = ProcessedData(1) pd.status = 'public' self.assertEqual(rd.status(s), 'public') # Check that new raw data has sandbox as status since no # processed data exists for them rd = RawData.create(self.filetype, self.studies, self.filepaths) self.assertEqual(rd.status(s), 'sandbox')
def render(self, raw_data_id, prep_template, study, files): rd = RawData(raw_data_id) raw_data_files = [(basename(fp), fp_type[4:]) for _, fp, fp_type in rd.get_filepaths()] filetype = rd.filetype fp_types = fp_type_by_ft[filetype] raw_data_link_status = rd.link_filepaths_status show_buttons = rd.status(study) == 'sandbox' link_msg = "" if show_buttons: # Define the message for the link status if raw_data_link_status == 'linking': link_msg = "Linking files..." show_buttons = False elif raw_data_link_status == 'unlinking': link_msg = "Unlinking files..." show_buttons = False elif raw_data_link_status.startswith('failed'): link_msg = "Error (un)linking files: %s" % raw_data_link_status link_msg = convert_text_html(link_msg) return self.render_string( "study_description_templates/raw_data_info.html", rd_id=raw_data_id, rd_filetype=rd.filetype, raw_data_files=raw_data_files, prep_template_id=prep_template.id, files=files, filepath_types=fp_types, filetype=filetype, link_msg=link_msg, show_buttons=show_buttons)