예제 #1
0
def ls(subject_set_id, quiet, subject_ids):
    """
    Lists subject IDs and their media URLs.
    """

    if subject_ids:
        for subject_id in subject_ids:
            subject = Subject.find(subject_id)
            if quiet:
                click.echo(subject.id)
            else:
                echo_subject(subject)
        return

    subjects = Subject.where(subject_set_id=subject_set_id)
    if quiet:
        click.echo(" ".join([s.id for s in subjects]))
    else:
        for subject in subjects:
            echo_subject(subject)
예제 #2
0
    processed_sets = set()

Panoptes.connect(**config)
project = Project(PROJECT_ID)

with open(PROCESSED_SETS_FILE, 'a') as processed_sets_f:
    for subject_set in project.links.subject_sets:
        if subject_set.id in processed_sets:
            continue
        with ChargingBar(
            'Updating {}'.format(subject_set.display_name),
            max=subject_set.set_member_subjects_count,
            suffix='%(percent).1f%% %(eta_td)s'
        ) as bar:
            with Subject.async_saves():
                for subject in Subject.where(subject_set_id=subject_set.id, page_size=100):
                    bar.next()
                    if '!CERiT' in subject.metadata:
                        continue

                    superwasp_id = subject.metadata.get('Filename', subject.metadata.get('filename')).split('_')[0]
                    coords = superwasp_id.replace('1SWASP', '')
                    coords_quoted = urllib.parse.quote(coords)
                    ra = urllib.parse.quote('{}:{}:{}'.format(
                        coords[1:3],
                        coords[3:5],
                        coords[5:10]
                    ))
                    dec = urllib.parse.quote('{}:{}:{}'.format(
                        coords[10:13],
                        coords[13:15],