def submit(self, question_code, path=".", language=None):
contest = ""
for contests in self.info_present_contests():
for contest_ques in CodechefSession.ques_in_contest(contests['contest_name']):
if contest_ques == question_code:
contest = '/' + contests['contest_name']
break
file_path = path
# file_path, file_name = CodechefSession.find_file(question_code, path)
lang = CodechefSession.language_handler[language]
response = self.codechef_session.get(
self.codechef_url + contest + '/submit/' + question_code
)
html_page = lxml.html.fromstring(response.text)
hidden_inputs = html_page.xpath(r'//form//input[@type="hidden"]')
payload = {i.attrib['name']: i.attrib['value'] for i in hidden_inputs}
payload['language'] = lang
payload['problem_code'] = question_code
payload['op'] = 'Submit'
file = {
"files[sourcefile]": open(file_path)
}
response = self.codechef_session.post(CodechefSession.codechef_url + contest + '/submit/' + question_code,
data=payload,
files=file
)
sub_id = response.url.split('/')[-1]
return sub_id , self.check_result(sub_id, question_code)
评论列表
文章目录