@@ -357,62 +357,12 @@ def get_available_languages(self, *, session: Optional[requests.Session] = None)
357
357
358
358
def submit_code (self , code : bytes , language_id : LanguageId , * , filename : Optional [str ] = None , session : Optional [requests .Session ] = None ) -> onlinejudge .type .Submission :
359
359
"""
360
- :raises NotLoggedInError:
361
360
:raises SubmissionError:
362
361
"""
363
362
364
- session = session or utils .get_default_session ()
365
-
366
- # get
367
- url = self .get_contest ().get_url () + '/submit'
368
- resp = utils .request ('GET' , url , session = session )
369
-
370
- # parse
371
- soup = bs4 .BeautifulSoup (resp .content .decode (resp .encoding ), utils .HTML_PARSER )
372
- form = soup .find ('form' , class_ = 'submit-form' )
373
- if form is None :
374
- logger .error ('not logged in' )
375
- raise NotLoggedInError
376
- logger .debug ('form: %s' , str (form ))
377
-
378
- # make data
379
- form = utils .FormSender (form , url = resp .url )
380
- form .set ('submittedProblemIndex' , str (self .index ))
381
- form .set ('programTypeId' , language_id )
382
- form .set_file ('sourceFile' , filename or 'code' , code )
383
-
384
- # post
385
- preserved_user_agent = session .headers .get ('User-Agent' )
386
- logger .debug ('User-Agent is temporarily disabled. The old User-Agent is %s' , repr (preserved_user_agent ))
387
- try :
388
- if preserved_user_agent is not None :
389
- del session .headers ['User-Agent' ]
390
- resp = form .request (session = session , raise_for_status = False )
391
- try :
392
- resp .raise_for_status ()
393
- except requests .exceptions .HTTPError as e :
394
- logger .exception (e )
395
- if resp .status_code == 403 :
396
- logger .warning ('You may use wrong User-Agent: %s' , repr (session .headers .get ('User-Agent' )))
397
- raise e
398
- finally :
399
- if preserved_user_agent is not None :
400
- session .headers ['User-Agent' ] = preserved_user_agent
401
-
402
- # result
403
- if resp .url .endswith ('/my' ):
404
- # example: https://codeforces.com/contest/598/my
405
- logger .info ('success: result: %s' , resp .url )
406
- return utils .DummySubmission (resp .url , problem = self )
407
- else :
408
- logger .error ('failure' )
409
- # parse error messages
410
- soup = bs4 .BeautifulSoup (resp .content .decode (resp .encoding ), utils .HTML_PARSER )
411
- msgs = [] # type: List[str]
412
- for span in soup .findAll ('span' , class_ = 'error' ):
413
- msgs += [span .string ]
414
- logger .warning ('Codeforces says: "%s"' , span .string )
415
- raise SubmissionError ('it may be the "You have submitted exactly the same code before" error: ' + str (msgs ))
363
+ msg = 'The feature to submit to Codeforces is now removed. Please read https://github.com/online-judge-tools/api-client/issues/127'
364
+ logger .error ('%s' , msg )
365
+ raise SubmissionError (msg )
416
366
417
367
def get_url (self ) -> str :
418
368
table = {}
0 commit comments