mirror of
https://github.com/renbaoshuo/S2OJ.git
synced 2024-11-23 20:58:42 +00:00
Compare commits
No commits in common. "afda9290fa8b119b18068132930877b2ecb2150a" and "d627490c67a7e894a6d2c896696ec6f0fb2ffc05" have entirely different histories.
afda9290fa
...
d627490c67
@ -10,23 +10,23 @@ const logger = new Logger('remote/atcoder');
|
|||||||
|
|
||||||
const LANGS_MAP = {
|
const LANGS_MAP = {
|
||||||
C: {
|
C: {
|
||||||
name: 'C (GCC 12.2.0)',
|
name: 'C (GCC 9.2.1)',
|
||||||
id: 5017,
|
id: 4001,
|
||||||
comment: '//',
|
comment: '//',
|
||||||
},
|
},
|
||||||
'C++': {
|
'C++': {
|
||||||
name: 'C++ 20 (GCC 12.2.0)',
|
name: 'C++ (GCC 9.2.1)',
|
||||||
id: 5001,
|
id: 4003,
|
||||||
comment: '//',
|
comment: '//',
|
||||||
},
|
},
|
||||||
Pascal: {
|
Pascal: {
|
||||||
name: 'Pascal (FPC 3.2.2)',
|
name: 'Pascal (FPC 3.0.4)',
|
||||||
id: 5041,
|
id: 4041,
|
||||||
comment: '//',
|
comment: '//',
|
||||||
},
|
},
|
||||||
Python3: {
|
Python3: {
|
||||||
name: 'Python (CPython 3.11.4)',
|
name: 'Python (3.8.2)',
|
||||||
id: 5055,
|
id: 4006,
|
||||||
comment: '#',
|
comment: '#',
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@ -193,8 +193,9 @@ export default class AtcoderProvider implements IBasicProvider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const [contestId, problemId] = parseProblemId(id);
|
const [contestId, problemId] = parseProblemId(id);
|
||||||
const referer = `/contests/${contestId}/tasks/${problemId}`;
|
const csrf = await this.getCsrfToken(
|
||||||
const csrf = await this.getCsrfToken(referer);
|
`/contests/${contestId}/tasks/${problemId}`
|
||||||
|
);
|
||||||
|
|
||||||
logger.debug(
|
logger.debug(
|
||||||
'Submitting',
|
'Submitting',
|
||||||
@ -207,14 +208,12 @@ export default class AtcoderProvider implements IBasicProvider {
|
|||||||
await next({ status: 'Submitting to AtCoder...' });
|
await next({ status: 'Submitting to AtCoder...' });
|
||||||
|
|
||||||
// TODO: check submit time to ensure submission
|
// TODO: check submit time to ensure submission
|
||||||
const res = await this.post(`/contests/${contestId}/submit`)
|
const res = await this.post(`/contests/${contestId}/submit`).send({
|
||||||
.set('Referer', referer)
|
csrf_token: csrf,
|
||||||
.send({
|
'data.TaskScreenName': problemId,
|
||||||
'data.TaskScreenName': problemId,
|
'data.LanguageId': programType.id,
|
||||||
'data.LanguageId': programType.id,
|
sourceCode: code,
|
||||||
sourceCode: code,
|
});
|
||||||
csrf_token: csrf,
|
|
||||||
});
|
|
||||||
|
|
||||||
if (res.error) {
|
if (res.error) {
|
||||||
await end({
|
await end({
|
||||||
@ -234,9 +233,7 @@ export default class AtcoderProvider implements IBasicProvider {
|
|||||||
|
|
||||||
const { text: status, header: status_header } = await this.get(
|
const { text: status, header: status_header } = await this.get(
|
||||||
`/contests/${contestId}/submissions/me`
|
`/contests/${contestId}/submissions/me`
|
||||||
)
|
).retry(3);
|
||||||
.set('Referer', referer)
|
|
||||||
.retry(3);
|
|
||||||
|
|
||||||
if (status_header['set-cookie']) {
|
if (status_header['set-cookie']) {
|
||||||
this.cookie = status_header['set-cookie'];
|
this.cookie = status_header['set-cookie'];
|
||||||
|
Loading…
Reference in New Issue
Block a user