|
1 | 1 | 'use strict';
|
2 | 2 | var fs = require('fs');
|
| 3 | +var path = require('path'); |
3 | 4 |
|
4 |
| -var sprintf = require('sprintf-js').sprintf; |
| 5 | +var _ = require('underscore'); |
5 | 6 |
|
6 | 7 | var h = require('../helper');
|
7 | 8 | var file = require('../file');
|
8 | 9 | var chalk = require('../chalk');
|
| 10 | +var config = require('../config'); |
9 | 11 | var log = require('../log');
|
10 | 12 | var Queue = require('../queue');
|
11 | 13 | var core = require('../core');
|
@@ -92,13 +94,11 @@ function exportSubmission(problem, argv, cb) {
|
92 | 94 | const submission = submissions.find(x => x.status_display === 'Accepted') || submissions[0];
|
93 | 95 | submission.ac = (submission.status_display === 'Accepted');
|
94 | 96 |
|
95 |
| - const f = sprintf('%s/%d.%s.%s.%s%s', |
96 |
| - argv.outdir, |
97 |
| - problem.fid, |
98 |
| - problem.slug, |
99 |
| - submission.id, |
100 |
| - submission.ac ? 'ac' : 'notac', |
101 |
| - h.langToExt(submission.lang)); |
| 97 | + const data = _.extend({}, submission, problem); |
| 98 | + data.sid = submission.id; |
| 99 | + data.ac = submission.ac ? 'ac' : 'notac'; |
| 100 | + const basename = file.fmt(config.file.submission, data); |
| 101 | + const f = path.join(argv.outdir, basename + h.langToExt(submission.lang)); |
102 | 102 |
|
103 | 103 | file.mkdir(argv.outdir);
|
104 | 104 | // skip the existing cached submissions
|
|
0 commit comments