def dataset_tiles(experiment, include_thumbnails): datasets = experiment.datasets.all() # Get data to template (used by JSON service too) data = (get_dataset_info(ds, bool(include_thumbnails), experiment) for ds in datasets) class DatasetInfo(object): def __init__(self, **data): self.__dict__.update(data) def experiment_badge(self): count = len(self.experiments) return render_mustache( 'tardis_portal/badges/experiment_count', { 'title': "In %d experiment%s" % (count, pluralize(count)), 'count': count, }) class DatasetsInfo(object): # Generator which renders a dataset at a time def datasets(self): for ds in data: yield render_mustache('tardis_portal/dataset_tile', DatasetInfo(**ds)) # Render template return render_mustache('tardis_portal/dataset_tiles', DatasetsInfo())
def dataset_tiles(experiment, include_thumbnails): datasets = experiment.datasets.all() # Get data to template (used by JSON service too) data = ( get_dataset_info(ds, bool(include_thumbnails), experiment) for ds in datasets ) class DatasetInfo(object): def __init__(self, **data): self.__dict__.update(data) def experiment_badge(self): count = len(self.experiments); return render_mustache('tardis_portal/badges/experiment_count', { 'title': "In %d experiment%s" % (count, pluralize(count)), 'count': count, }) class DatasetsInfo(object): # Generator which renders a dataset at a time def datasets(self): for ds in data: yield render_mustache('tardis_portal/dataset_tile', DatasetInfo(**ds)) # Render template return render_mustache('tardis_portal/dataset_tiles', DatasetsInfo())
def dataset_tiles(experiment, include_thumbnails): # only show 8 datasets for initial load datasets = experiment.datasets.all()[:8] # Get data to template (used by JSON service too) # ?? doesn't seem to be used by JSON service at all data = (get_dataset_info(ds, bool(include_thumbnails), exclude=['datasettype', 'size']) for ds in datasets) class DatasetInfo(object): def __init__(self, **data): self.__dict__.update(data) def experiment_badge(self): count = len(self.experiments) return render_mustache( 'tardis_portal/badges/experiment_count', { 'title': "In %d experiment%s" % (count, pluralize(count)), 'count': count, }) def dataset_size_badge(self): if hasattr(self, 'size'): return dataset_size_badge(size=self.size) ds = Dataset.objects.get(id=self.id) return dataset_size_badge(ds) def dataset_datafiles_badge(self): if hasattr(self, 'datafiles'): return dataset_datafiles_badge(count=len(self.datafiles)) ds = Dataset.objects.get(id=self.id) return dataset_datafiles_badge(ds) class DatasetsInfo(object): # Generator which renders a dataset at a time def datasets(self): for ds in data: yield render_mustache('tardis_portal/dataset_tile', DatasetInfo(**ds)) # Render template return render_mustache('tardis_portal/dataset_tiles', DatasetsInfo())
def dataset_tiles(experiment, include_thumbnails): # only show 8 datasets for initial load datasets = experiment.datasets.all().order_by('description')[:8] # Get data to template (used by JSON service too) # ?? doesn't seem to be used by JSON service at all data = (get_dataset_info(ds, bool(include_thumbnails), exclude=['datasettype', 'size']) for ds in datasets) class DatasetInfo(object): def __init__(self, **data): self.__dict__.update(data) def experiment_badge(self): count = len(self.experiments) return render_mustache('tardis_portal/badges/experiment_count', { 'title': "In %d experiment%s" % (count, pluralize(count)), 'count': count, }) def dataset_size_badge(self): if hasattr(self, 'size'): return dataset_size_badge(size=self.size) ds = Dataset.objects.get(id=self.id) return dataset_size_badge(ds) def dataset_datafiles_badge(self): if hasattr(self, 'datafiles'): return dataset_datafiles_badge(count=len(self.datafiles)) ds = Dataset.objects.get(id=self.id) return dataset_datafiles_badge(ds) class DatasetsInfo(object): # Generator which renders a dataset at a time def datasets(self): for ds in data: yield render_mustache('tardis_portal/dataset_tile', DatasetInfo(**ds)) # Render template return render_mustache('tardis_portal/dataset_tiles', DatasetsInfo())