Exemple #1
0
 def get(self, org):
     '''List organization discussions'''
     reuses = Reuse.objects(organization=org).only('id')
     datasets = Dataset.objects(organization=org).only('id')
     subjects = list(reuses) + list(datasets)
     qs = Discussion.objects(subject__in=subjects).order_by('-created')
     return list(qs)
Exemple #2
0
 def get(self, org):
     '''List organization discussions'''
     reuses = Reuse.objects(organization=org).only('id')
     datasets = Dataset.objects(organization=org).only('id')
     subjects = list(reuses) + list(datasets)
     qs = Discussion.objects(subject__in=subjects).order_by('-created')
     return list(qs)
Exemple #3
0
 def get(self, org):
     """List organization discussions"""
     reuses_ids = [r.id for r in Reuse.objects(organization=org).only("id")]
     datasets_ids = [d.id for d in Dataset.objects(organization=org).only("id")]
     ids = reuses_ids + datasets_ids
     qs = Discussion.objects(subject__in=ids).order_by("-created")
     return list(qs)
Exemple #4
0
 def get(self, org):
     '''List organization discussions'''
     reuses_ids = [r.id for r in Reuse.objects(organization=org).only('id')]
     datasets_ids = [d.id
                     for d in Dataset.objects(organization=org).only('id')]
     ids = reuses_ids + datasets_ids
     qs = Discussion.objects(subject__in=ids).order_by('-created')
     return list(qs)
Exemple #5
0
 def get(self, org):
     '''List organization issues'''
     reuses_ids = [r.id for r in Reuse.objects(organization=org).only('id')]
     datasets_ids = [d.id
                     for d in Dataset.objects(organization=org).only('id')]
     ids = reuses_ids + datasets_ids
     qs = Issue.objects(subject__in=ids).order_by('-created')
     return list(qs)
Exemple #6
0
def home():
    context = {
        'spd_datasets': Dataset.objects.filter(badges__kind='spd'),
        'recent_datasets': Dataset.objects.visible(),
        'recent_reuses': Reuse.objects(featured=True).visible(),
        'last_post': Post.objects.published().first()
    }
    processor = theme.current.get_processor('home')
    context = processor(context)
    return theme.render('home.html', **context)
Exemple #7
0
def home():
    context = {
        'recent_datasets': Dataset.objects.visible(),
        'recent_reuses': Reuse.objects(featured=True).visible(),
        'last_post': Post.objects.published().first(),
        'rdf_links': [
            (RDF_MIME_TYPES[fmt],
             url_for('site.rdf_catalog_format', format=ext))
            for (fmt, ext) in RDF_EXTENSIONS.items()
        ]
    }
    processor = theme.current.get_processor('home')
    context = processor(context)
    return theme.render('home.html', **context)
Exemple #8
0
def home():
    context = {
        'recent_datasets': Dataset.objects.visible(),
        'recent_reuses': Reuse.objects(featured=True).visible(),
        'last_post': Post.objects.published().first(),
        'rdf_links': [
            (RDF_MIME_TYPES[fmt],
             url_for('site.rdf_catalog_format', format=ext))
            for (fmt, ext) in RDF_EXTENSIONS.items()
        ]
    }
    processor = theme.current.get_processor('home')
    context = processor(context)
    return theme.render('home.html', **context)
Exemple #9
0
def migrate(db):
    log.info('Processing datasets.')

    datasets = Dataset.objects().no_cache().timeout(False)
    for dataset in datasets:
        for badge in UNUSED_BADGES:
            if dataset.get_badge(badge):
                dataset.remove_badge(badge)

    log.info('Processing reuses.')

    reuses = Reuse.objects().no_cache().timeout(False)
    for reuse in reuses:
        for badge in UNUSED_BADGES:
            if reuse.get_badge(badge):
                reuse.remove_badge(badge)

    log.info('Completed.')
Exemple #10
0
def render():
    '''Force (re)rendering stored images'''
    from udata.core.organization.models import Organization
    from udata.core.post.models import Post
    from udata.core.reuse.models import Reuse
    from udata.core.user.models import User

    header('Rendering images')

    count = Counter()
    total = Counter()

    organizations = Organization.objects(logo__exists=True)
    total['orgs'] = organizations.count()
    log.info('Processing {0} organizations logos'.format(total['orgs']))
    for org in organizations:
        count['orgs'] += render_or_skip(org, 'logo')

    users = User.objects(avatar__exists=True)
    total['users'] = users.count()
    log.info('Processing {0} user avatars'.format(total['users']))
    for user in users:
        count['users'] += render_or_skip(user, 'avatar')

    posts = Post.objects(image__exists=True)
    total['posts'] = posts.count()
    log.info('Processing {0} post images'.format(total['posts']))
    for post in posts:
        count['posts'] += render_or_skip(post, 'image')

    reuses = Reuse.objects(image__exists=True)
    total['reuses'] = reuses.count()
    log.info('Processing {0} reuse images'.format(total['reuses']))
    for reuse in reuses:
        count['reuses'] += render_or_skip(reuse, 'image')

    log.info('''Summary:
    Organization logos: {count[orgs]}/{total[orgs]}
    User avatars: {count[users]}/{total[users]}
    Post images: {count[posts]}/{total[posts]}
    Reuse images: {count[reuses]}/{total[reuses]}
    '''.format(count=count, total=total))
    success('Images rendered')
Exemple #11
0
def render():
    '''Force (re)rendering stored images'''
    from udata.core.organization.models import Organization
    from udata.core.post.models import Post
    from udata.core.reuse.models import Reuse
    from udata.core.user.models import User

    header('Rendering images')

    count = Counter()
    total = Counter()

    organizations = Organization.objects(logo__exists=True)
    total['orgs'] = organizations.count()
    log.info('Processing {0} organizations logos'.format(total['orgs']))
    for org in organizations:
        count['orgs'] += render_or_skip(org, 'logo')

    users = User.objects(avatar__exists=True)
    total['users'] = users.count()
    log.info('Processing {0} user avatars'.format(total['users']))
    for user in users:
        count['users'] += render_or_skip(user, 'avatar')

    posts = Post.objects(image__exists=True)
    total['posts'] = posts.count()
    log.info('Processing {0} post images'.format(total['posts']))
    for post in posts:
        count['posts'] += render_or_skip(post, 'image')

    reuses = Reuse.objects(image__exists=True)
    total['reuses'] = reuses.count()
    log.info('Processing {0} reuse images'.format(total['reuses']))
    for reuse in reuses:
        count['reuses'] += render_or_skip(reuse, 'image')

    log.info('''Summary:
    Organization logos: {count[orgs]}/{total[orgs]}
    User avatars: {count[users]}/{total[users]}
    Post images: {count[posts]}/{total[posts]}
    Reuse images: {count[reuses]}/{total[reuses]}
    '''.format(count=count, total=total))
    success('Images rendered')
Exemple #12
0
def render():
    '''Force (re)rendering stored images'''
    print(cyan('Rendering images'))

    count = Counter()
    total = Counter()

    organizations = Organization.objects(logo__exists=True)
    total['orgs'] = organizations.count()
    print(white('Processing {0} organizations logos'.format(total['orgs'])))
    for org in organizations:
        count['orgs'] += render_or_skip(org, 'logo')

    users = User.objects(avatar__exists=True)
    total['users'] = users.count()
    print(white('Processing {0} user avatars'.format(total['users'])))
    for user in users:
        count['users'] += render_or_skip(user, 'avatar')

    posts = Post.objects(image__exists=True)
    total['posts'] = posts.count()
    print(white('Processing {0} post images'.format(total['posts'])))
    for post in posts:
        count['posts'] += render_or_skip(post, 'image')

    reuses = Reuse.objects(image__exists=True)
    total['reuses'] = reuses.count()
    print(white('Processing {0} reuse images'.format(total['reuses'])))
    for reuse in reuses:
        count['reuses'] += render_or_skip(reuse, 'image')

    print(white('Summary:'))
    print('''
    Organization logos: {count[orgs]}/{total[orgs]}
    User avatars: {count[users]}/{total[users]}
    Post images: {count[posts]}/{total[posts]}
    Reuse images: {count[reuses]}/{total[reuses]}
    '''.format(count=count, total=total))
    print(green('Images rendered'))
Exemple #13
0
 def count_max_reuse_followers(self):
     reuse = (Reuse.objects(metrics__followers__gt=0).visible().order_by(
         '-metrics.followers').first())
     self.metrics[
         'max_reuse_followers'] = reuse.metrics['followers'] if reuse else 0
     self.save()
Exemple #14
0
 def count_max_reuse_datasets(self):
     reuse = (Reuse.objects(metrics__datasets__gt=0).visible().order_by(
         '-metrics.datasets').first())
     self.metrics[
         'max_reuse_datasets'] = reuse.metrics['datasets'] if reuse else 0
     self.save()