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 }
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))
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)
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, }
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)
# -*- 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