lscontests 2.5.0 → 2.6.0

Sign up to get free protection for your applications and to get access to all the features.
package/README.md CHANGED
@@ -56,22 +56,86 @@ Options:
56
56
  It performs as follows:
57
57
 
58
58
  <!-- block_cli begin -->
59
- (*The following content was automatically generated using [semantic-release](https://github.com/semantic-release/semantic-release) on Mon, 20 Jun 2022 13:41:42 GMT*)
59
+ (*The following content was automatically generated using [semantic-release](https://github.com/semantic-release/semantic-release) on Fri, 22 Jul 2022 05:49:34 GMT*)
60
60
 
61
61
  <details>
62
62
  <summary> <code>> lsct -L en</code> </summary>
63
63
 
64
64
  ```text
65
- There are 1 contests is running on NowCoder
65
+ There are no running contests on AtCoder,Codeforces,LeetCode,Luogu,NowCoder
66
+
67
+ There are 10 contests on Luogu,NowCoder,AtCoder,LeetCode,Codeforces in the next 3 days
68
+
69
+ OJ: Luogu
70
+ Contest name: FAOI-R1 & CSP 赛前信心赛
71
+ Rule: LeDuo
72
+ Start time: 7/22/2022, 09:00:00
73
+ End time: 7/22/2022, 13:00:00
74
+ https://www.luogu.com.cn/contest/73362
66
75
 
67
76
  OJ: NowCoder
68
- Contest name: 牛客竞赛计算几何专题班扫描线
77
+ Contest name: "蔚来杯"2022 牛客暑期多校训练营 2
69
78
  Rule: ICPC
70
- Start time: 6/6/2022, 07:00:00
71
- End time: 6/30/2022, 08:00:00
72
- https://ac.nowcoder.com/acm/contest/36088
79
+ Start time: 7/23/2022, 04:00:00
80
+ End time: 7/23/2022, 09:00:00
81
+ https://ac.nowcoder.com/acm/contest/33187
82
+
83
+ OJ: Luogu
84
+ Contest name: 「KDOI」Round 1
85
+ Rule: IOI
86
+ Start time: 7/23/2022, 06:00:00
87
+ End time: 7/23/2022, 10:00:00
88
+ https://www.luogu.com.cn/contest/71146
89
+
90
+ OJ: AtCoder
91
+ Contest name: Ⓐ AtCoder Beginner Contest 261
92
+ Rule: AtCoder
93
+ Start time: 7/23/2022, 12:00:00
94
+ End time: 7/23/2022, 13:40:00
95
+ https://atcoder.jp/contests/abc261
96
+
97
+ OJ: LeetCode
98
+ Contest name: Biweekly Contest 83
99
+ Rule: AtCoder
100
+ Start time: 7/23/2022, 14:30:00
101
+ End time: 7/23/2022, 16:00:00
102
+ https://leetcode.com/contest/biweekly-contest-83
103
+
104
+ OJ: LeetCode
105
+ Contest name: Weekly Contest 303
106
+ Rule: AtCoder
107
+ Start time: 7/24/2022, 02:30:00
108
+ End time: 7/24/2022, 04:00:00
109
+ https://leetcode.com/contest/weekly-contest-303
110
+
111
+ OJ: NowCoder
112
+ Contest name: 2022 河南萌新联赛第(三)场:河南大学
113
+ Rule: ICPC
114
+ Start time: 7/24/2022, 05:00:00
115
+ End time: 7/24/2022, 09:00:00
116
+ https://ac.nowcoder.com/acm/contest/37782
117
+
118
+ OJ: Luogu
119
+ Contest name: 【LGR-113】洛谷 7 月普及组月赛 & JROI R6
120
+ Rule: OI
121
+ Start time: 7/24/2022, 06:00:00
122
+ End time: 7/24/2022, 09:30:00
123
+ https://www.luogu.com.cn/contest/65483
124
+
125
+ OJ: Codeforces
126
+ Contest name: Codeforces Round #810 (Div. 1/2)
127
+ Rule: Codeforces
128
+ Start time: 7/24/2022, 14:35:00
129
+ End time: 7/24/2022, 17:05:00
130
+ https://codeforces.com/contests/1710
131
+ https://codeforces.com/contests/1711
73
132
 
74
- No contests on AtCoder,Codeforces,LeetCode,Luogu,NowCoder for the next 3 days
133
+ OJ: NowCoder
134
+ Contest name: "蔚来杯"2022 牛客暑期多校训练营 3
135
+ Rule: ICPC
136
+ Start time: 7/25/2022, 04:00:00
137
+ End time: 7/25/2022, 09:00:00
138
+ https://ac.nowcoder.com/acm/contest/33188
75
139
  ```
76
140
 
77
141
  </details>
@@ -82,28 +146,22 @@ No contests on AtCoder,Codeforces,LeetCode,Luogu,NowCoder for the next 3 days
82
146
  ```text
83
147
  There are no running contests on AtCoder,Codeforces
84
148
 
85
- There are 3 contests on AtCoder,Codeforces in the next 7 days
149
+ There are 2 contests on AtCoder,Codeforces in the next 7 days
86
150
 
87
151
  OJ: AtCoder
88
- Contest name: Ⓐ NS Solutions Corporation Programming Contest 2022(AtCoder Beginner Contest 257)
152
+ Contest name: Ⓐ AtCoder Beginner Contest 261
89
153
  Rule: AtCoder
90
- Start time: 6/25/2022, 12:00:00
91
- End time: 6/25/2022, 13:40:00
92
- https://atcoder.jp/contests/abc257
154
+ Start time: 7/23/2022, 12:00:00
155
+ End time: 7/23/2022, 13:40:00
156
+ https://atcoder.jp/contests/abc261
93
157
 
94
158
  OJ: Codeforces
95
- Contest name: Codeforces Global Round 21
159
+ Contest name: Codeforces Round #810 (Div. 1/2)
96
160
  Rule: Codeforces
97
- Start time: 6/25/2022, 14:35:00
98
- End time: 6/25/2022, 16:35:00
99
- https://codeforces.com/contests/1696
100
-
101
- OJ: AtCoder
102
- Contest name: Ⓐ AtCoder Regular Contest 143
103
- Rule: AtCoder
104
- Start time: 6/26/2022, 12:00:00
105
- End time: 6/26/2022, 14:00:00
106
- https://atcoder.jp/contests/arc143
161
+ Start time: 7/24/2022, 14:35:00
162
+ End time: 7/24/2022, 17:05:00
163
+ https://codeforces.com/contests/1710
164
+ https://codeforces.com/contests/1711
107
165
  ```
108
166
 
109
167
  </details>
@@ -117,75 +175,91 @@ https://atcoder.jp/contests/arc143
117
175
  "upcoming": [
118
176
  {
119
177
  "ojName": "AtCoder",
120
- "name": "Ⓐ NS Solutions Corporation Programming Contest 2022(AtCoder Beginner Contest 257)",
178
+ "name": "Ⓐ AtCoder Beginner Contest 261",
121
179
  "rule": "AtCoder",
122
- "startTime": "2022-06-25T12:00:00.000Z",
123
- "endTime": "2022-06-25T13:40:00.000Z",
124
- "url": "https://atcoder.jp/contests/abc257"
180
+ "startTime": "2022-07-23T12:00:00.000Z",
181
+ "endTime": "2022-07-23T13:40:00.000Z",
182
+ "url": "https://atcoder.jp/contests/abc261"
125
183
  },
126
184
  {
127
185
  "ojName": "AtCoder",
128
- "name": "Ⓐ AtCoder Regular Contest 143",
186
+ "name": "Ⓐ AtCoder Regular Contest 145",
129
187
  "rule": "AtCoder",
130
- "startTime": "2022-06-26T12:00:00.000Z",
131
- "endTime": "2022-06-26T14:00:00.000Z",
132
- "url": "https://atcoder.jp/contests/arc143"
188
+ "startTime": "2022-07-30T12:00:00.000Z",
189
+ "endTime": "2022-07-30T14:00:00.000Z",
190
+ "url": "https://atcoder.jp/contests/arc145"
133
191
  },
134
192
  {
135
193
  "ojName": "AtCoder",
136
- "name": "Ⓐ AtCoder Beginner Contest 258",
194
+ "name": "Ⓐ AtCoder Beginner Contest 262",
137
195
  "rule": "AtCoder",
138
- "startTime": "2022-07-02T12:00:00.000Z",
139
- "endTime": "2022-07-02T13:40:00.000Z",
140
- "url": "https://atcoder.jp/contests/abc258"
196
+ "startTime": "2022-07-31T12:00:00.000Z",
197
+ "endTime": "2022-07-31T13:40:00.000Z",
198
+ "url": "https://atcoder.jp/contests/abc262"
141
199
  },
142
200
  {
143
201
  "ojName": "AtCoder",
144
- "name": " AtCoder Heuristic Contest 012",
202
+ "name": " LINE Verda Programming Contest(AtCoder Beginner Contest 263)",
145
203
  "rule": "AtCoder",
146
- "startTime": "2022-07-03T06:00:00.000Z",
147
- "endTime": "2022-07-03T10:00:00.000Z",
148
- "url": "https://atcoder.jp/contests/ahc012"
204
+ "startTime": "2022-08-06T12:00:00.000Z",
205
+ "endTime": "2022-08-06T13:40:00.000Z",
206
+ "url": "https://atcoder.jp/contests/abc263"
149
207
  },
150
208
  {
151
209
  "ojName": "AtCoder",
152
- "name": " AtCoder Beginner Contest 259",
210
+ "name": " RECRUIT Nihonbashi Half Marathon 2022 Summer(AHC013)",
153
211
  "rule": "AtCoder",
154
- "startTime": "2022-07-09T12:00:00.000Z",
155
- "endTime": "2022-07-09T13:40:00.000Z",
156
- "url": "https://atcoder.jp/contests/abc259"
212
+ "startTime": "2022-08-09T12:00:00.000Z",
213
+ "endTime": "2022-08-16T12:00:00.000Z",
214
+ "url": "https://atcoder.jp/contests/ahc013"
157
215
  },
158
216
  {
159
217
  "ojName": "AtCoder",
160
- "name": "Ⓐ AtCoder Beginner Contest 260",
218
+ "name": "Ⓐ freee Programming Contest 2022(AtCoder Beginner Contest 264)",
161
219
  "rule": "AtCoder",
162
- "startTime": "2022-07-16T12:00:00.000Z",
163
- "endTime": "2022-07-16T13:40:00.000Z",
164
- "url": "https://atcoder.jp/contests/abc260"
220
+ "startTime": "2022-08-13T12:00:00.000Z",
221
+ "endTime": "2022-08-13T13:40:00.000Z",
222
+ "url": "https://atcoder.jp/contests/abc264"
223
+ },
224
+ {
225
+ "ojName": "AtCoder",
226
+ "name": "Ⓐ AtCoder Grand Contest 058",
227
+ "rule": "AtCoder",
228
+ "startTime": "2022-08-14T12:00:00.000Z",
229
+ "endTime": "2022-08-14T15:00:00.000Z",
230
+ "url": "https://atcoder.jp/contests/agc058"
231
+ },
232
+ {
233
+ "name": "Codeforces Round #810 (Div. 1/2)",
234
+ "ojName": "Codeforces",
235
+ "rule": "Codeforces",
236
+ "startTime": "2022-07-24T14:35:00.000Z",
237
+ "endTime": "2022-07-24T17:05:00.000Z",
238
+ "url": "https://codeforces.com/contests/1710\nhttps://codeforces.com/contests/1711"
165
239
  },
166
240
  {
167
241
  "ojName": "Codeforces",
168
- "name": "Codeforces Global Round 21",
242
+ "name": "CodeTON Round 2 (Div. 1 + Div. 2, Rated, Prizes!)",
169
243
  "rule": "Codeforces",
170
- "startTime": "2022-06-25T14:35:00.000Z",
171
- "endTime": "2022-06-25T16:35:00.000Z",
172
- "url": "https://codeforces.com/contests/1696"
244
+ "startTime": "2022-07-31T14:05:00.000Z",
245
+ "endTime": "2022-07-31T16:35:00.000Z",
246
+ "url": "https://codeforces.com/contests/1704"
173
247
  },
174
248
  {
175
249
  "ojName": "Codeforces",
176
- "name": "Codeforces Round #803 (Div. 2)",
250
+ "name": "Codeforces Round (Div. 2)",
177
251
  "rule": "Codeforces",
178
- "startTime": "2022-06-28T14:35:00.000Z",
179
- "endTime": "2022-06-28T16:35:00.000Z",
180
- "url": "https://codeforces.com/contests/1698"
252
+ "startTime": "2022-08-06T14:35:00.000Z",
253
+ "endTime": "2022-08-06T16:35:00.000Z",
254
+ "url": "https://codeforces.com/contests/1713"
181
255
  },
182
256
  {
183
257
  "ojName": "Codeforces",
184
- "name": "Codeforces Round #804 (Div. 2)",
258
+ "name": "Codeforces Round (Div. 2)",
185
259
  "rule": "Codeforces",
186
- "startTime": "2022-07-04T14:35:00.000Z",
187
- "endTime": "2022-07-04T16:35:00.000Z",
188
- "url": "https://codeforces.com/contests/1699"
260
+ "startTime": "2022-08-13T14:35:00.000Z",
261
+ "endTime": "2022-08-13T16:35:00.000Z",
262
+ "url": "https://codeforces.com/contests/1712"
189
263
  }
190
264
  ]
191
265
  }
package/dist/index.d.ts CHANGED
@@ -9,7 +9,7 @@ export interface LscontestsConfig {
9
9
  silent?: boolean;
10
10
  }
11
11
  export default class Lscontests {
12
- private config;
12
+ private readonly config;
13
13
  private logger;
14
14
  constructor(config?: LscontestsConfig, log_level?: string, log_transport?: winston.transports.ConsoleTransportInstance);
15
15
  getContests(): Promise<{
package/dist/index.js CHANGED
@@ -54,11 +54,13 @@ class Lscontests {
54
54
  getContests() {
55
55
  return __awaiter(this, void 0, void 0, function* () {
56
56
  const contests = (yield Promise.all(this.config.abbrList.map((abbr) => __awaiter(this, void 0, void 0, function* () {
57
+ const startTime = new Date();
57
58
  try {
58
59
  const oj = oj_1.alloj[abbr];
59
60
  this.logger.info(`Start getting contests information about ${oj.name}`);
60
61
  const res = (yield oj.get()).sort((a, b) => a.startTime.getTime() - b.startTime.getTime());
61
- this.logger.info(`Successfully get contests information about ${oj.name}`);
62
+ const duration = (new Date().getTime() - startTime.getTime()) / 1000;
63
+ this.logger.info(`Successfully get contests information about ${oj.name} in ${duration} seconds`);
62
64
  return res;
63
65
  }
64
66
  catch (e) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -24,6 +24,7 @@ const commander_1 = require("commander");
24
24
  const package_json_1 = require("../package.json");
25
25
  const lodash_1 = __importDefault(require("lodash"));
26
26
  const fs_1 = require("fs");
27
+ const await_lock_1 = __importDefault(require("await-lock"));
27
28
  const app = (0, express_1.default)();
28
29
  function assertType(obj) {
29
30
  }
@@ -77,6 +78,7 @@ const contestsCache = {
77
78
  contests: [],
78
79
  lastUpdate: 0
79
80
  };
81
+ const lock = new await_lock_1.default();
80
82
  function icsPostProcess(value) {
81
83
  return value
82
84
  .replace("X-PUBLISHED-TTL:PT1H", "X-PUBLISHED-TTL:PT1H\r\nREFRESH-INTERVAL:PT1H")
@@ -93,14 +95,25 @@ function icsPostProcess(value) {
93
95
  "END:STANDARD\r\n" +
94
96
  "END:VTIMEZONE");
95
97
  }
96
- function getIcs(lang, ojs) {
98
+ function checkCache() {
97
99
  return __awaiter(this, void 0, void 0, function* () {
98
- if (contestsCache.lastUpdate < Date.now() - 1000 * 60 * 5) {
99
- const c = yield new _1.default({ days: -1 }).getContests();
100
- contestsCache.contests = lodash_1.default.uniqBy(contestsCache.contests.concat(c.running.concat(c.upcoming)), JSON.stringify);
101
- contestsCache.contests = contestsCache.contests.filter(c => c.endTime.getTime() - c.startTime.getTime() < 1000 * 60 * 60 * 24 * 2); // ignore too long contests
102
- contestsCache.lastUpdate = Date.now();
100
+ yield lock.acquireAsync();
101
+ try {
102
+ if (contestsCache.lastUpdate < Date.now() - 1000 * 60 * 5) {
103
+ const c = yield new _1.default({ days: -1 }).getContests();
104
+ contestsCache.contests = lodash_1.default.uniqBy(contestsCache.contests.concat(c.running.concat(c.upcoming)), JSON.stringify);
105
+ contestsCache.contests = contestsCache.contests.filter(c => c.endTime.getTime() - c.startTime.getTime() < 1000 * 60 * 60 * 24 * 2); // ignore too long contests
106
+ contestsCache.lastUpdate = Date.now();
107
+ }
108
+ }
109
+ finally {
110
+ lock.release();
103
111
  }
112
+ });
113
+ }
114
+ function getIcs(lang, ojs) {
115
+ return __awaiter(this, void 0, void 0, function* () {
116
+ yield checkCache();
104
117
  const contests = contestsCache.contests.filter(c => ojs.some(oj => c.ojName === oj_1.alloj[oj].name));
105
118
  const langDict = yield (0, locale_1.getLangDict)(lang);
106
119
  const events = contests.map((c) => {
@@ -114,6 +127,7 @@ function getIcs(lang, ojs) {
114
127
  start: (0, ics_1.convertTimestampToArray)(c.startTime.getTime(), "local"),
115
128
  startOutputType: "local",
116
129
  end: (0, ics_1.convertTimestampToArray)(c.endTime.getTime(), "local"),
130
+ endOutputType: "local",
117
131
  calName: "算法竞赛",
118
132
  productId: "-//StableAgOH//LSCT//CN",
119
133
  title: c.name,
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lscontests",
3
- "version": "2.5.0",
3
+ "version": "2.6.0",
4
4
  "description": "A tool to get information about the contests on each OJ",
5
5
  "keywords": [
6
6
  "cli",
@@ -35,6 +35,7 @@
35
35
  "start-s": "tsx src/server.ts"
36
36
  },
37
37
  "dependencies": {
38
+ "await-lock": "^2.2.2",
38
39
  "axios": "^0.27.2",
39
40
  "axios-retry": "^3.2.5",
40
41
  "cheerio": "^1.0.0-rc.11",