Skip to content

Workshops withdraw function #1258

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions venues/aclweb.org/Workshops/camera_ready_process.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
def process_update(client, note, invitation, existing_note):
SHORT_PHRASE = ''
AUTHOR_ID = ''


action = 'posted'
if existing_note:
action = 'deleted' if note.ddate else 'updated'

forum = client.get_note(note.forum)

title = note.content.get('title', forum.content.get('title', ''))
authorids = note.content.get('authorids', forum.content.get('authorids', []))
abstract = note.content.get('abstract', forum.content.get('abstract', ''))

subject = '{} has received a new revision of your submission titled {}'.format(SHORT_PHRASE, title)
message = '''Your new revision of the submission to {} has been {}.

Title: {}

Abstract: {}

To view your submission, click here: https://openreview.net/forum?id={}'''.format(SHORT_PHRASE, action, title, abstract, forum.id)

client.post_message(subject=subject, recipients=authorids, message=message)

if note.content.get('authorids'):
author_group = openreview.tools.get_group(client, AUTHOR_ID)
if author_group:
author_group.members = authorids
client.post_group(author_group)


40 changes: 38 additions & 2 deletions venues/aclweb.org/Workshops/create_invitations_workshops_both.py
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,29 @@
"value-regex": "http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+",
"required": True,
"order": 10
}
},
"previous_PDF": {
"description": "If this is a resubmission, upload a single PDF of your previous submission to ACL Rolling Review.",
"order": 19,
"value-file": {
"fileTypes": [
"pdf"
],
"size": 80
},
"required": False
},
"response_PDF": {
"description": "If this is a resubmission, upload a single PDF of your responses to the previous reviews to ACL Rolling Review.",
"order": 20,
"value-file": {
"fileTypes": [
"pdf"
],
"size": 80
},
"required": False
}
}
for key in commitment_invitation.reply['content'].keys():
if key != 'existing_preprints':
Expand Down Expand Up @@ -557,7 +579,21 @@
"description": "Independent of your judgement of the quality of the work, please review the ACL code of ethics (https://www.aclweb.org/portal/content/acl-code-ethics) and list any ethical concerns related to this paper. Maximum length 2000 characters.",
"required": False,
"markdown": True
}
},
"great_reviews": {
"order": 7,
"value-regex": "[\\S\\s]{0,2000}",
"description": "Please list the ids of all reviewers who went beyond expectations in terms of providing informative and constructive reviews and discussion. For example: jAxb, zZac",
"required": False,
"markdown": True
},
"poor_reviews": {
"order": 8,
"value-regex": "[\\S\\s]{0,2000}",
"description": "Please list the ids of all reviewers whose reviews did not meet expectations. For example: jAxb, zZac",
"required": False,
"markdown": True
}
}
}
)
Expand Down
34 changes: 33 additions & 1 deletion venues/aclweb.org/Workshops/create_invitations_workshops_one.py
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,16 @@
"value-regex": "http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+",
"required": True,
"order": 10
}
} ,
"paper_type": {
"description": "Short or long. See the CFP for the requirements for short and long papers.",
"value-radio": [
"long",
"short"
],
"order": 17,
"required": False
},
}
for key in commitment_invitation.reply['content'].keys():
if key != 'existing_preprints':
Expand Down Expand Up @@ -515,6 +524,29 @@
"description": "Independent of your judgement of the quality of the work, please review the ACL code of ethics (https://www.aclweb.org/portal/content/acl-code-ethics) and list any ethical concerns related to this paper. Maximum length 2000 characters.",
"required": False,
"markdown": True
},
"needs_ethics_review": {
"order": 7,
"value-radio": [
"Yes"
],
"description": "Should this paper be sent for an in-depth ethics review? We have a small ethics committee that can specially review very challenging papers when it comes to ethical issues. If this seems to be such a paper, then please explain why here, and we will try to ensure that it receives a separate review.",
"required": False,
"markdown": True
},
"great_reviews": {
"order": 8,
"value-regex": "[\\S\\s]{0,2000}",
"description": "Please list the ids of all reviewers who went beyond expectations in terms of providing informative and constructive reviews and discussion. For example: jAxb, zZac",
"required": False,
"markdown": True
},
"poor_reviews": {
"order": 9,
"value-regex": "[\\S\\s]{0,2000}",
"description": "Please list the ids of all reviewers whose reviews did not meet expectations. For example: jAxb, zZac",
"required": False,
"markdown": True
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,10 @@ def post_acl_submission(arr_submission_forum, acl_commitment_note, submission_ou
conf_submission_invitation = client.get_invitation(f"{confid}/-/Migrated_Submission")
for key in acl_commitment_note.content.keys():
content[key] = acl_commitment_note.content[key]

for key in original_arr_sub.content.keys():
if key in conf_submission_invitation.reply['content']:

content[key] = original_arr_sub.content[key]
content['paper_link'] =f'https://openreview.net/forum?id={arr_submission_forum}'
content['commitment_note'] = f"https://openreview.net/forum?id={acl_commitment_note.forum}"
Expand Down Expand Up @@ -276,8 +278,8 @@ def post_reviews(acl_blind_submission_forum, acl_blind_submission, arr_submissio
)
acl_review.content['title'] = f'Official Review of Paper{acl_blind_submission.number} by {arr_review.invitation.split("/")[4]} Reviewer'
#acl_review.content['link_to_original_review'] = f'https://openreview.net/forum?id={arr_review.forum}&noteId={arr_review.id}'
profile = client.get_profile(arr_review.tauthor)
acl_review.content['reviewer_id'] = f"{profile.id}"
#profile = client.get_profile(arr_review.tauthor)
#acl_review.content['reviewer_id'] = f"{profile.id}"
acl_review_posted = client.post_note(acl_review)
assert acl_review_posted, print('failed to post review ', acl_review.id)
acl_reviews_dictionary[acl_review_posted.signatures[0]] = acl_review_posted.replyto
Expand Down Expand Up @@ -315,8 +317,8 @@ def post_metareviews(acl_blind_submission_forum, acl_blind_submission, arr_submi
)
#acl_metareview.content['link_to_original_metareview'] = f'https://openreview.net/forum?id={arr_metareview.forum}&noteId={arr_metareview.id}'
acl_metareview.content['title'] = f'Meta Review of Paper{acl_blind_submission.number} by {arr_metareview.invitation.split("/")[4]} Area Chair'
profile = client.get_profile(arr_metareview.tauthor)
acl_metareview.content['action_editor_id'] = f"{profile.id}"
#profile = client.get_profile(arr_metareview.tauthor)
#acl_metareview.content['action_editor_id'] = f"{profile.id}"
acl_metareview_posted = client.post_note(acl_metareview)
assert acl_metareview_posted, print('failed to post metareview ', acl_metareview.id)
acl_metareviews_dictionary[acl_metareview_posted.signatures[0]] = acl_metareview_posted.replyto
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
# Post acl submission (calls post_blind_submission)
def post_acl_submission(arr_submission_forum, acl_commitment_note, submission_output_dict):
# Depends on the workshop
eligible_arr_invitations = ['aclweb.org/ACL/ARR/2021/May/', 'aclweb.org/ACL/ARR/2021/Jun/', 'aclweb.org/ACL/ARR/2021/July/', 'aclweb.org/ACL/ARR/2021/August/', 'aclweb.org/ACL/ARR/2021/September/','aclweb.org/ACL/ARR/2021/October/','aclweb.org/ACL/ARR/2021/November/', 'aclweb.org/ACL/ARR/2021/December/', 'aclweb.org/ACL/ARR/2022/January/' ,'aclweb.org/ACL/ARR/2022/February/']
eligible_arr_invitations = ['aclweb.org/ACL/ARR/2021/May/', 'aclweb.org/ACL/ARR/2021/Jun/', 'aclweb.org/ACL/ARR/2021/July/', 'aclweb.org/ACL/ARR/2021/August/', 'aclweb.org/ACL/ARR/2021/September/','aclweb.org/ACL/ARR/2021/October/','aclweb.org/ACL/ARR/2021/November/', 'aclweb.org/ACL/ARR/2021/December/', 'aclweb.org/ACL/ARR/2022/January/' ,'aclweb.org/ACL/ARR/2022/February/', 'aclweb.org/ACL/ARR/2022/March/', 'aclweb.org/ACL/ARR/2022/April/']
original_arr_sub_id = None
#submission_output_dict['acl_commitment_forum'] = acl_commitment_note.forum
try:
Expand Down
44 changes: 31 additions & 13 deletions venues/aclweb.org/Workshops/post_camera_ready.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,19 +23,32 @@
confid = args.confid
super_invitation = openreview.Invitation(
id=f'{confid}/-/Commitment_Camera_Ready_Revision',
duedate=1650045782000, # March 15
duedate=1651622834000, # March 15
multiReply=True,
readers=['everyone'],
writers=[confid],
signatures=[confid],
reply={
"content": {
"title": {
"description": "Enter the title of the ARR submission that you want to commit to SPA-NLP",
"description": "Enter the title of the ARR submission that you want to commit to MIA",
"order": 1,
"value-regex": ".{1,250}",
"required": False
},
"authors": {
"description": "The author information entered in this field is only for communication purposes. Please remember that the list of authors and their order cannot be changed and should be the same as what was submitted to ARR. Comma separated list of author names.",
"order": 11,
"values-regex": "[^;,\\n]+(,[^,\\n]+)*",
"required": False,
"hidden": True
},
"authorids": {
"description": "The author information entered in this field is only for communication purposes. Please remember that the list of authors and their order cannot be changed and should be the same as what was submitted to ARR. Search author profile by first, middle and last name or email address. If the profile is not found, you can add the author by completing first, middle, and last names as well as author email address.",
"order": 12,
"values-regex": "~.*|([a-z0-9_\\-\\.]{1,}@[a-z0-9_\\-\\.]{2,}\\.[a-z]{2,},){0,}([a-z0-9_\\-\\.]{1,}@[a-z0-9_\\-\\.]{2,}\\.[a-z]{2,})",
"required": True
},
"existing_preprints": {
"values-regex": ".{1,500}",
"description": "If there are any publicly available non-anonymous preprints of this paper, please list them here (provide the URLs please).",
Expand All @@ -48,15 +61,15 @@
"required": False,
"order": 10
},
"paper_type": {
"description": "Select if your paper is short or long",
"value-radio": [
"short",
"long"
],
"required": False,
"order": 11
},
"archival": {
"description": "Please indicate if you want your paper to be archival or non-archival.",
"value-radio": [
"Archival",
"Non-Archival"
],
"order": 13,
"required": False
},
"abstract": {
"description": "Abstract of paper. Add TeX formulas using the following formats: $In-line Formula$ or $$Block Formula$$.",
"order": 14,
Expand All @@ -81,9 +94,13 @@
client.post_invitation(super_invitation)
submissions=list(openreview.tools.iterget_notes(client, invitation=f'{confid}/-/Blind_Commitment_Submission'))
decision_by_forum={ d.forum: d for d in list(openreview.tools.iterget_notes(client, invitation=f'{confid}/Commitment.*/-/Decision'))}

short_phrase = confid.split('/')[-1]
for submission in tqdm(submissions):
#author_group = f'{confid}/Commitment{submission.number}/Authors'
with open('camera_ready_process.py') as d:
content = d.read()
short_phrase = confid.split('/')[-1]
process = content.replace("SHORT_PHRASE = ''", f"SHORT_PHRASE = '{short_phrase}'")
process = process.replace("AUTHOR_ID = ''", f"AUTHOR_ID = '{confid}/Commitment{submission.number}/Authors'")
original_submission = client.get_note(submission.original)

decision = decision_by_forum.get(submission.id)
Expand All @@ -96,6 +113,7 @@
signatures=[confid],
readers=['everyone'],
invitees=[confid, f'{confid}/Commitment{submission.number}/Authors'],
process_string = process,
reply={
'forum': original_submission.id,
'referent': original_submission.id,
Expand Down
129 changes: 129 additions & 0 deletions venues/aclweb.org/Workshops/post_camera_ready_author_order.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
import argparse
import openreview
from tqdm import tqdm
import csv
from openreview import tools
import re
from collections import defaultdict

"""
OPTIONAL SCRIPT ARGUMENTS
baseurl - the URL of the OpenReview server to connect to (live site: https://openreview.net)
username - the email address of the logging in user
password - the user's password
"""
parser = argparse.ArgumentParser()
parser.add_argument('--baseurl', help="base URL")
parser.add_argument('--username')
parser.add_argument('--password')
parser.add_argument('--confid')

args = parser.parse_args()
client = openreview.Client(baseurl=args.baseurl, username=args.username, password=args.password)
confid = args.confid
super_invitation = openreview.Invitation(
id=f'{confid}/-/Commitment_Camera_Ready_Revision',
duedate=1651622834000, # March 15
multiReply=True,
readers=['everyone'],
writers=[confid],
signatures=[confid]
)
client.post_invitation(super_invitation)
submissions=list(openreview.tools.iterget_notes(client, invitation=f'{confid}/-/Blind_Commitment_Submission', details = 'original'))
decision_by_forum={ d.forum: d for d in list(openreview.tools.iterget_notes(client, invitation=f'{confid}/Commitment.*/-/Decision'))}
short_phrase = confid.split('/')[-1]
for submission in tqdm(submissions):
print(submission.original)
with open('camera_ready_process.py') as d:
content = d.read()
short_phrase = confid.split('/')[-1]
process = content.replace("SHORT_PHRASE = ''", f"SHORT_PHRASE = '{short_phrase}'")
process = process.replace("AUTHOR_ID = ''", f"AUTHOR_ID = '{confid}/Commitment{submission.number}/Authors'")
original_submission = client.get_note(submission.original)

decision = decision_by_forum.get(submission.id)
if decision:
if 'Accept' in decision.content['decision']:
r=client.post_invitation(openreview.Invitation(
id=f'{confid}/Commitment{submission.number}/-/Camera_Ready_Revision',
super=f'{confid}/-/Commitment_Camera_Ready_Revision',
writers=[confid],
signatures=[confid],
readers=['everyone'],
invitees=[confid, f'{confid}/Commitment{submission.number}/Authors'],
process_string = process,
reply={
'forum': original_submission.id,
'referent': original_submission.id,
'readers': {
'values': [
confid,
f'{confid}/Commitment{submission.number}/Authors'
]
},
'writers': {
'values': [
confid,
f'{confid}/Commitment{submission.number}/Authors'
]
},
'signatures': {
'values-regex': f'{confid}/Program_Chairs|{confid}/Commitment{submission.number}/Authors'
},
'content': {
'authors': {
'values': submission.details["original"]["content"]['authors'],
'required': True,
'hidden': True,
'order': 2
},
'authorids': {
'values': submission.details["original"]["content"]['authorids'],
'required': True,
'order': 3
},
"title": {
"description": "Enter the title of the ARR submission that you want to commit to MIA",
"order": 1,
"value-regex": ".{1,250}",
"required": False
},
"existing_preprints": {
"values-regex": ".{1,500}",
"description": "If there are any publicly available non-anonymous preprints of this paper, please list them here (provide the URLs please).",
"required": False,
"order": 7
},
"archival": {
"description": "Please indicate if you want your paper to be archival or non-archival.",
"value-radio": [
"Archival",
"Non-Archival"
],
"order": 8,
"required": False
},
"abstract": {
"description": "Abstract of paper. Add TeX formulas using the following formats: $In-line Formula$ or $$Block Formula$$.",
"order": 4,
"value-regex": "[\\S\\s]{1,5000}",
"required": False
},
"pdf": {
"description": "Upload a single PDF containing the paper, references and any appendices. Please refer to the CFP (https://aclrollingreview.org/cfp) and author checklist (https://aclrollingreview.org/authorchecklist). Failure to follow the rules regarding format, anonymization, authorship, citation and comparison, and multiple submission will lead to desk rejection.",
"order": 5,
"value-file": {
"fileTypes": [
"pdf"
],
"size": 80
},
"required": False
}
}
}
))

else:
print('decision not found')
Loading