def build_schema(self): fields = get_detail_schema( DataSet(), 'dataset', lambda x: x.show_in_detail ) fields['datapointFile'] = get_schema_fieldinformation( 'datapoint_file','') fields['safVersion'] = get_schema_fieldinformation('saf_version','') fields['screeningFacility'] = get_schema_fieldinformation( 'screening_facility','') schema['fields'] = OrderedDict(sorted( fields.items(), key=lambda x: x[0])) return schema
metadata = read_metadata(book.sheet_by_name('Meta')) try: extant_dataset = DataSet.objects.get( facility_id=metadata['facility_id']) if (extant_dataset): logger.warn('deleting extant dataset for facility id: %r' % metadata['facility_id']) extant_dataset.delete() except ObjectDoesNotExist, e: pass except Exception, e: logger.exception('on delete of extant dataset: %r' % metadata['facility_id']) raise dataset = DataSet(**metadata) logger.info('dataset to save %s' % dataset) dataset.save() logger.debug('read data columns...') col_to_definitions = read_datacolumns(book) small_molecule_col = None col_to_dc_map = {} for i, dc_definition in enumerate(col_to_definitions): dc_definition['dataset'] = dataset if (not 'display_order' in dc_definition or dc_definition['display_order'] == None): dc_definition['display_order'] = i datacolumn = DataColumn(**dc_definition) datacolumn.save()