lscontests 1.10.1 → 1.10.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -36
- package/dist/index.js +16 -21
- package/dist/index.js.map +1 -1
- package/dist/locale/en.json +2 -2
- package/dist/locale/zh-CN.json +2 -2
- package/dist/locale/zh-NE.json +3 -3
- package/dist/locale/zh-TW.json +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
@@ -52,29 +52,15 @@ Options:
|
|
52
52
|
It performs as follows:
|
53
53
|
|
54
54
|
<!-- block_cli begin -->
|
55
|
-
(*The following content was automatically generated by [semantic-release](https://github.com/semantic-release/semantic-release) in Sat, 14 May 2022
|
55
|
+
(*The following content was automatically generated by [semantic-release](https://github.com/semantic-release/semantic-release) in Sat, 14 May 2022 16:26:45 GMT*)
|
56
56
|
|
57
57
|
<details>
|
58
58
|
<summary> <code>> lsct </code> </summary>
|
59
59
|
|
60
60
|
```text
|
61
|
-
|
61
|
+
没有正在进行的比赛捏
|
62
62
|
|
63
|
-
|
64
|
-
比赛名称: Ⓐ Panasonic Programming Contest 2022 (AtCoder Beginner Contest 251)
|
65
|
-
赛制: AtCoder
|
66
|
-
开始时间: 5/14/2022, 12:00:00
|
67
|
-
结束时间: 5/14/2022, 13:40:00
|
68
|
-
https://atcoder.jp/contests/abc251
|
69
|
-
|
70
|
-
接下来的 3 天内在 AtCoder,Codeforces,LeetCode,Luogu,NowCoder 上有 4 场比赛
|
71
|
-
|
72
|
-
比赛平台: LeetCode
|
73
|
-
比赛名称: Biweekly Contest 78
|
74
|
-
赛制: AtCoder
|
75
|
-
开始时间: 5/14/2022, 14:30:00
|
76
|
-
结束时间: 5/14/2022, 16:00:00
|
77
|
-
https://leetcode.com/contest/biweekly-contest-78
|
63
|
+
接下来的 3 天内在 LeetCode,Luogu,AtCoder 上有 3 场比赛
|
78
64
|
|
79
65
|
比赛平台: LeetCode
|
80
66
|
比赛名称: Weekly Contest 293
|
@@ -104,16 +90,9 @@ https://atcoder.jp/contests/arc140
|
|
104
90
|
<summary> <code>> lsct -o at cf -d 7 -L en</code> </summary>
|
105
91
|
|
106
92
|
```text
|
107
|
-
|
108
|
-
|
109
|
-
OJ: AtCoder
|
110
|
-
Contest name: Ⓐ Panasonic Programming Contest 2022(AtCoder Beginner Contest 251)
|
111
|
-
Rule: AtCoder
|
112
|
-
Start time: 5/14/2022, 12:00:00
|
113
|
-
End time: 5/14/2022, 13:40:00
|
114
|
-
https://atcoder.jp/contests/abc251
|
93
|
+
No running contests
|
115
94
|
|
116
|
-
There are 1 contests on AtCoder
|
95
|
+
There are 1 contests on AtCoder in the next 7 days
|
117
96
|
|
118
97
|
OJ: AtCoder
|
119
98
|
Contest name: Ⓐ AtCoder Regular Contest 140
|
@@ -130,16 +109,7 @@ https://atcoder.jp/contests/arc140
|
|
130
109
|
|
131
110
|
```json
|
132
111
|
{
|
133
|
-
"running": [
|
134
|
-
{
|
135
|
-
"ojName": "AtCoder",
|
136
|
-
"name": "Ⓐ Panasonic Programming Contest 2022(AtCoder Beginner Contest 251)",
|
137
|
-
"rule": "AtCoder",
|
138
|
-
"startTime": "2022-05-14T12:00:00.000Z",
|
139
|
-
"endTime": "2022-05-14T13:40:00.000Z",
|
140
|
-
"url": "https://atcoder.jp/contests/abc251"
|
141
|
-
}
|
142
|
-
],
|
112
|
+
"running": [],
|
143
113
|
"upcoming": [
|
144
114
|
{
|
145
115
|
"ojName": "AtCoder",
|
package/dist/index.js
CHANGED
@@ -36,23 +36,19 @@ function resolveConfig(config) {
|
|
36
36
|
function getContests(config) {
|
37
37
|
return __awaiter(this, void 0, void 0, function* () {
|
38
38
|
const cfg = resolveConfig(config);
|
39
|
-
function
|
40
|
-
|
41
|
-
return
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
}
|
50
|
-
})))).reduce((ls1, ls2) => ls1.concat(ls2));
|
51
|
-
});
|
52
|
-
}
|
39
|
+
const contests = (yield Promise.all(cfg.abbrList.map((abbr) => __awaiter(this, void 0, void 0, function* () {
|
40
|
+
try {
|
41
|
+
return yield oj_1.alloj[abbr].get();
|
42
|
+
}
|
43
|
+
catch (e) {
|
44
|
+
console.error(`Failed to get contest information for ${oj_1.alloj[abbr].name}, details:`);
|
45
|
+
console.error(e);
|
46
|
+
return [];
|
47
|
+
}
|
48
|
+
})))).reduce((ls1, ls2) => ls1.concat(ls2));
|
53
49
|
const ret = {
|
54
|
-
running:
|
55
|
-
upcoming:
|
50
|
+
running: contests.filter(ct => ct.startTime <= new Date() && ct.endTime > new Date()),
|
51
|
+
upcoming: contests.filter(ct => ct.startTime > new Date() && ct.startTime <= new Date(Date.now() + cfg.days * 86400000))
|
56
52
|
};
|
57
53
|
if (cfg.sort)
|
58
54
|
Object.values(ret).forEach(ct => ct.sort((a, b) => a.startTime.getTime() - b.startTime.getTime()));
|
@@ -72,7 +68,6 @@ function getContestsInfoText(config, language = "zh-CN") {
|
|
72
68
|
const lang = yield (0, locale_1.getLangDict)(language);
|
73
69
|
const { running, upcoming } = yield getContests(cfg);
|
74
70
|
const info = [];
|
75
|
-
const oj = cfg.abbrList.map(abbr => oj_1.alloj[abbr].name).join(",");
|
76
71
|
function msg(contests) {
|
77
72
|
return contests.map(contest => {
|
78
73
|
const ls = [];
|
@@ -88,22 +83,22 @@ function getContestsInfoText(config, language = "zh-CN") {
|
|
88
83
|
if (running.length) {
|
89
84
|
info.push(lodash_1.default.template(lang.runnning)({
|
90
85
|
contestCount: running.length,
|
91
|
-
oj
|
86
|
+
oj: lodash_1.default.uniq(running.map(contest => contest.ojName))
|
92
87
|
}));
|
93
88
|
info.push(...msg(running));
|
94
89
|
}
|
95
90
|
else
|
96
|
-
info.push(
|
91
|
+
info.push(lang.norunning);
|
97
92
|
if (upcoming.length) {
|
98
93
|
info.push(lodash_1.default.template(lang.upcoming)({
|
99
94
|
contestCount: upcoming.length,
|
100
95
|
days: cfg.days,
|
101
|
-
oj
|
96
|
+
oj: lodash_1.default.uniq(upcoming.map(contest => contest.ojName))
|
102
97
|
}));
|
103
98
|
info.push(...msg(upcoming));
|
104
99
|
}
|
105
100
|
else
|
106
|
-
info.push(lodash_1.default.template(lang.noupcoming)({ days: cfg.days
|
101
|
+
info.push(lodash_1.default.template(lang.noupcoming)({ days: cfg.days }));
|
107
102
|
return pangu_1.default.spacing(info.join("\n\n"));
|
108
103
|
});
|
109
104
|
}
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,iCAAiC;AACjC,qCAAuC;AAEvC,oDAAuB;AACvB,kDAA0B;AAQ1B,MAAM,aAAa,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,UAAK,CAAC;IAC5B,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,IAAI;CACb,CAAC;AAEF,SAAS,aAAa,CAAC,MAAe;IAElC,MAAM,GAAG,mCAAQ,aAAa,GAAK,MAAM,CAAE,CAAC;IAC5C,IAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC;QAAE,GAAG,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;IACnE,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAsB,WAAW,CAAC,MAAe;;QAE7C,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAClC,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/locale/en.json
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
{
|
2
2
|
"runnning": "There are ${contestCount} contests is running on ${oj}",
|
3
|
-
"norunning": "No
|
3
|
+
"norunning": "No running contests",
|
4
4
|
"upcoming": "There are ${contestCount} contests on ${oj} in the next ${days} days",
|
5
|
-
"noupcoming": "No contests for the next ${days} days
|
5
|
+
"noupcoming": "No contests for the next ${days} days",
|
6
6
|
"ojName": "OJ",
|
7
7
|
"name": "Contest name",
|
8
8
|
"rule": "Rule",
|
package/dist/locale/zh-CN.json
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
{
|
2
2
|
"runnning": "在 ${oj} 上有 ${contestCount} 场正在进行的比赛",
|
3
|
-
"norunning": "
|
3
|
+
"norunning": "没有正在进行的比赛捏",
|
4
4
|
"upcoming": "接下来的 ${days} 天内在 ${oj} 上有 ${contestCount} 场比赛",
|
5
|
-
"noupcoming": "接下来的 ${days}
|
5
|
+
"noupcoming": "接下来的 ${days} 天内没有比赛捏",
|
6
6
|
"ojName": "比赛平台",
|
7
7
|
"name": "比赛名称",
|
8
8
|
"rule": "赛制",
|
package/dist/locale/zh-NE.json
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
{
|
2
|
-
"runnning": "搁 ${oj} 上有 ${contestCount}
|
3
|
-
"norunning": "
|
2
|
+
"runnning": "搁 ${oj} 上有 ${contestCount} 场比赛正偷摸干着呢",
|
3
|
+
"norunning": "这前属实是没比赛打",
|
4
4
|
"upcoming": "之后 ${days} 天搁 ${oj} 上拢共 ${contestCount} 场比赛",
|
5
|
-
"noupcoming": "没成想往后 ${days}
|
5
|
+
"noupcoming": "没成想往后 ${days} 天没比赛打啊",
|
6
6
|
"ojName": "搁哪",
|
7
7
|
"name": "叫啥",
|
8
8
|
"rule": "咋个整法",
|
package/dist/locale/zh-TW.json
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
{
|
2
2
|
"runnning": "在 ${oj} 上有 ${contestCount} 場正在進行的比賽",
|
3
|
-
"norunning": "
|
3
|
+
"norunning": "沒有正在進行的比賽",
|
4
4
|
"upcoming": "接下来的 ${days} 天內在 ${oj} 上有 ${contestCount} 場比賽",
|
5
|
-
"noupcoming": "接下來的 ${days}
|
5
|
+
"noupcoming": "接下來的 ${days} 天內沒有比賽",
|
6
6
|
"ojName": "比賽平台",
|
7
7
|
"name": "比賽名稱",
|
8
8
|
"rule": "賽制",
|