def assign_reviewer(reviewer_email, paper_number):
    if not check_arguments(reviewer_email, paper_number):
        return False

    # check paper_number exists
    notes = [note for note in submissions if str(note.number) == paper_number]
    if not notes:
        print("Error: Paper number " + paper_number + " does not exist")
        return True
    note = notes[0]

    # create list of conflicts emails and add paper author to it
    # conflict_list is a copy (not a reference) to the submission conflicts
    conflict_list = []
    # If conflicts are a part of a submission, add them here
    if 'conflicts' in note.content:
        conflict_list.extend(note.content['conflicts'][:])
    # authors for this paper are not allowed to be in the reviewers groups
    if 'authorids' in note.content:
        conflict_list += note.content['authorids']

    if reviewer_conflicts(reviewer_email, paper_number, conflict_list):
        return True

    reviewer_id = tools.get_profile(client, reviewer_email)
    if reviewer_id is None:
        reviewer_id = reviewer_email
    else:
        reviewer_id = reviewer_id.id

    tools.add_assignment(client, paper_number, config.CONFERENCE_ID,
                         reviewer_id)
    return True
예제 #2
0
def assign_reviewer(reviewer_email, paper_number):
    if not check_arguments(reviewer_email, paper_number):
        return False

    # check paper_number exists
    notes = [note for note in submissions if str(note.number) == paper_number]
    if not notes:
        print "Error: Paper number " + paper_number + " does not exist"
        return True
    note = notes[0]

    # create list of conflicts emails and add paper author to it
    # conflict_list is a copy (not a reference) to the submission conflicts
    conflict_list = []
    # If conflicts are a part of a submission, add them here
    if 'conflicts' in note.content:
        conflict_list.extend(note.content['conflicts'][:])
    # authors for this paper are not allowed to be in the reviewers groups
    if 'authorids' in note.content:
        conflict_list += note.content['authorids']

    if reviewer_conflicts(reviewer_email, paper_number, conflict_list):
        return True

    reviewer_id = tools.get_profile(client, reviewer_email)
    if reviewer_id is None:
        reviewer_id = reviewer_email
    else:
        reviewer_id = reviewer_id.id
    tools.assign(client, paper_number, CONFERENCE_ID, reviewer_to_add = reviewer_id)
    ## reviewers are blocked from other reviews until complete
    paper_group = CONFERENCE_ID + '/Paper' + paper_number
    client.add_members_to_group(client.get_group(paper_group + '/Reviewers/NonReaders'), reviewer_id)
    return True
Anthony Platanios
Alex Ratner
Christopher Re
Xiang Ren
Paroma Varma

Contact:
Email: [email protected]
Website: https://lld-workshop.github.io
'''

suggested_reviewers = []
with open(args.reviewer_file) as f:
    for row in csv.reader(f):
        suggested_reviewers.append(row[0])

formatted_emails = [m.lower() for m in suggested_reviewers]

ids = []
for member in formatted_emails:
    profile = tools.get_profile(client, member)
    if profile:
        ids.append(profile.id)
        formatted_emails.remove(member)

members = ids + formatted_emails

#print(members)
print('Reviewers to invite {0}'.format(len(members)))
conference.recruit_reviewers(emails=members, title=title, message=message)