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())
Example #2
0
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())
Example #3
0
 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,
         })
Example #4
0
def experiment_last_updated_badge(experiment):
    return render_mustache(
        'tardis_portal/badges/last_updated_badge', {
            'actual_time':
            experiment.update_time.strftime('%a %d %b %Y %H:%M'),
            'iso_time': get_local_time(experiment.update_time).isoformat(),
            'natural_time': naturalday(experiment.update_time),
        })
Example #5
0
def dataset_experiments_badge(dataset):
    """
    Displays an badge with the number of datasets for this experiment
    """
    count = dataset.experiments.all().count()
    return render_mustache('tardis_portal/badges/experiment_count', {
        'title': "In %d experiment%s" % (count, pluralize(count)),
        'count': count,
    })
Example #6
0
def experiment_datafiles_badge(experiment):
    """
    Displays an badge with the number of datafiles for this experiment
    """
    count = experiment.get_datafiles().count()
    return render_mustache('tardis_portal/badges/datafile_count', {
        'title': "%d file%s" % (count, pluralize(count)),
        'count': count,
    })
Example #7
0
def experiment_size_badge(experiment):
    """
    Displays an badge with the total size of the files in this experiment
    """
    size = filesizeformat(experiment.get_size())
    return render_mustache('tardis_portal/badges/size', {
        'title': "Experiment size is ~%s" % size,
        'label': str(size),
    })
Example #8
0
def experiment_datafiles_badge(experiment):
    """
    Displays an badge with the number of datafiles for this experiment
    """
    count = experiment.get_datafiles().count()
    return render_mustache('tardis_portal/badges/datafile_count', {
        'title': "%d file%s" % (count, pluralize(count)),
        'count': count,
    })
Example #9
0
def experiment_size_badge(experiment):
    """
    Displays an badge with the total size of the files in this experiment
    """
    size = filesizeformat(experiment.get_size())
    return render_mustache('tardis_portal/badges/size', {
        'title': "Experiment size is ~%s" % size,
        'label': str(size),
    })
Example #10
0
def dataset_datafiles_badge(dataset=None, count=None):
    """
    Displays an badge with the number of datafiles for this experiment
    """
    if count is None:
        count = dataset.dataset_file_set.count()
    return render_mustache('tardis_portal/badges/datafile_count', {
        'title': "%d file%s" % (count, pluralize(count)),
        'count': count,
    })
def dataset_datafiles_badge(dataset=None, count=None):
    """
    Displays an badge with the number of datafiles for this experiment
    """
    if count is None:
        count = dataset.datafile_set.count()
    return render_mustache('tardis_portal/badges/datafile_count', {
        'title': "%d file%s" % (count, pluralize(count)),
        'count': count,
    })
def experiment_public_access_badge(experiment):
    """
    Displays an badge the level of public access for this experiment
    """
    if experiment.public_access == experiment.PUBLIC_ACCESS_NONE:
        return render_mustache('tardis_portal/badges/public_access', {
            'title': 'No public access',
            'label': 'Private',
            'private': True,
        })
    if experiment.public_access == experiment.PUBLIC_ACCESS_METADATA:
        return render_mustache('tardis_portal/badges/public_access', {
            'title': 'Only descriptions are public, not data',
            'label': 'Metadata',
        })
    if experiment.public_access == experiment.PUBLIC_ACCESS_FULL:
        return render_mustache('tardis_portal/badges/public_access', {
            'title': 'All data is public',
            'label': 'Public',
            'public': True,
        })
Example #13
0
def dataset_size_badge(dataset=None, size=None):
    """
    Displays an badge with the total size of the files in this experiment
    """
    if size is None:
        size = filesizeformat(dataset.get_size())
    else:
        size = filesizeformat(size)
    return render_mustache('tardis_portal/badges/size', {
        'title': "Dataset size is ~%s" % size,
        'label': str(size),
    })
def dataset_size_badge(dataset=None, size=None):
    """
    Displays an badge with the total size of the files in this experiment
    """
    if size is None:
        size = filesizeformat(dataset.get_size())
    else:
        size = filesizeformat(size)
    return render_mustache('tardis_portal/badges/size', {
        'title': "Dataset size is ~%s" % size,
        'label': size,
    })
def experiment_public_access_badge(experiment):
    """
    Displays an badge the level of public access for this experiment
    """
    if experiment.public_access == experiment.PUBLIC_ACCESS_NONE:
        return render_mustache('tardis_portal/badges/public_access', {
            'title': 'No public access',
            'label': 'Private',
            'private': True,
        })
    if experiment.public_access == experiment.PUBLIC_ACCESS_METADATA:
        return render_mustache(
            'tardis_portal/badges/public_access', {
                'title': 'Only descriptions are public, not data',
                'label': 'Metadata',
            })
    if experiment.public_access == experiment.PUBLIC_ACCESS_FULL:
        return render_mustache('tardis_portal/badges/public_access', {
            'title': 'All data is public',
            'label': 'Public',
            'public': True,
        })
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())
Example #17
0
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())
Example #18
0
 def datasets(self):
     for ds in data:
         yield render_mustache('tardis_portal/dataset_tile',
                               DatasetInfo(**ds))
Example #19
0
def experiment_last_updated_badge(experiment):
    return render_mustache('tardis_portal/badges/last_updated_badge', {
        'actual_time': experiment.update_time.strftime('%a %d %b %Y %H:%M'),
        'iso_time': get_local_time(experiment.update_time).isoformat(),
        'natural_time': naturalday(experiment.update_time),
    })
 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 datasets(self):
     for ds in data:
         yield render_mustache('tardis_portal/dataset_tile',
                               DatasetInfo(**ds))