Example #1
0
    def get_user_details(self, response):
        authenticated_panoptes = Panoptes(
            endpoint=PanoptesUtils.base_url(),
            client_id=PanoptesUtils.client_id(),
            client_secret=PanoptesUtils.client_secret())

        authenticated_panoptes.bearer_token = response['access_token']
        authenticated_panoptes.logged_in = True
        authenticated_panoptes.refresh_token = response['refresh_token']

        bearer_expiry = datetime.now() + timedelta(
            seconds=response['expires_in'])
        authenticated_panoptes.bearer_expires = (bearer_expiry)

        with authenticated_panoptes:
            user = authenticated_panoptes.get('/me')[0]['users'][0]

            ids = ['admin user']
            if not user['admin']:
                ids = [
                    project.href for project in Project.where(
                        current_user_roles='collaborator')
                ]

            return {
                'username': user['login'],
                'email': user['email'],
                'is_superuser': user['admin'],
                'projects': ids
            }
Example #2
0
def random_project():
    if project_list:
        return (random.choice(project_list))
    for project in Project.where(launch_approved=True):
        if not project.redirect:
            if incompleteness(project) > 500:
                project_list.append(project)
    return (random.choice(project_list))
Example #3
0
def ls(project_id, display_name, launch_approved, slug):
    if not launch_approved:
        launch_approved = None

    projects = Project.where(
        id=project_id,
        slug=slug,
        display_name=display_name,
        launch_approved=launch_approved
    )

    for project in projects:
        echo_project(project)
Example #4
0
    def get_user_details(self, response):
        with Panoptes() as p:
            p.bearer_token = response['access_token']
            p.logged_in = True
            p.refresh_token = response['refresh_token']
            p.bearer_expires = (datetime.now() +
                                timedelta(seconds=response['expires_in']))

            user = p.get('/me')[0]['users'][0]

            ids = ['admin user']
            if not user['admin']:
                ids = [project.id for project in Project.where()]

            return {
                'username': user['login'],
                'email': user['email'],
                'is_superuser': user['admin'],
                'projects': ids,
            }
Example #5
0
def ls(project_id, display_name, launch_approved, slug, quiet, search):
    """
    Lists project IDs and names.

    Any given SEARCH terms are used for a full-text search of project titles.

    A "*" before the project ID indicates that the project is private.
    """

    if not launch_approved:
        launch_approved = None

    projects = Project.where(id=project_id,
                             slug=slug,
                             display_name=display_name,
                             launch_approved=launch_approved,
                             search=" ".join(search))

    if quiet:
        click.echo(" ".join([p.id for p in projects]))
    else:
        for project in projects:
            echo_project(project)
import panoptes_client
from panoptes_client import Panoptes, Project
import os

Panoptes.connect(username=os.environ['User_name'],
                 password=os.environ['Password'])
all_projects = Project.where(launch_approved=True)

for item in all_projects:
    print(item.id, ';', item.display_name, ';', item.available_languages)
Example #7
0
# -*- coding: utf-8 -*-

from panoptes_client import Project

project_info = []

for project in Project.where(launch_approved=True):
    if project.completeness < 1:
        print(project.title + "\n" +"www.zooniverse.org/projects/" + project.slug)

        # project_info.append([project.description, project.slug]) #For twitter message? Largest is 265