lscontests 2.1.6 → 2.2.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 +58 -32
- package/dist/lib/oj/index.js +1 -1
- package/dist/lib/oj/index.js.map +1 -1
- package/dist/server.html +180 -0
- package/dist/server.js +4 -1
- package/dist/server.js.map +1 -1
- package/package.json +6 -3
package/README.md
CHANGED
@@ -55,29 +55,15 @@ Options:
|
|
55
55
|
It performs as follows:
|
56
56
|
|
57
57
|
<!-- block_cli begin -->
|
58
|
-
(*The following content was automatically generated using [semantic-release](https://github.com/semantic-release/semantic-release) on
|
58
|
+
(*The following content was automatically generated using [semantic-release](https://github.com/semantic-release/semantic-release) on Thu, 26 May 2022 09:01:52 GMT*)
|
59
59
|
|
60
60
|
<details>
|
61
61
|
<summary> <code>> lsct -L en</code> </summary>
|
62
62
|
|
63
63
|
```text
|
64
|
-
|
65
|
-
|
66
|
-
OJ: NowCoder
|
67
|
-
Contest name: 2022 图论班第一章图匹配例题与习题
|
68
|
-
Rule: ICPC
|
69
|
-
Start time: 5/13/2022, 06:00:00
|
70
|
-
End time: 5/30/2022, 08:00:00
|
71
|
-
https://ac.nowcoder.com/acm/contest/34649
|
64
|
+
No running contests
|
72
65
|
|
73
|
-
There are
|
74
|
-
|
75
|
-
OJ: NowCoder
|
76
|
-
Contest name: 牛客练习赛 99
|
77
|
-
Rule: ICPC
|
78
|
-
Start time: 5/27/2022, 11:00:00
|
79
|
-
End time: 5/27/2022, 13:30:00
|
80
|
-
https://ac.nowcoder.com/acm/contest/34330
|
66
|
+
There are 4 contests on AtCoder,LeetCode in the next 3 days
|
81
67
|
|
82
68
|
OJ: AtCoder
|
83
69
|
Contest name: Ⓗ AtCoder Heuristic Contest 011
|
@@ -86,20 +72,6 @@ Start time: 5/28/2022, 03:00:00
|
|
86
72
|
End time: 6/5/2022, 10:00:00
|
87
73
|
https://atcoder.jp/contests/ahc011
|
88
74
|
|
89
|
-
OJ: NowCoder
|
90
|
-
Contest name: MINIEYE 杯第十六届华中科技大学程序设计邀请赛
|
91
|
-
Rule: ICPC
|
92
|
-
Start time: 5/28/2022, 04:30:00
|
93
|
-
End time: 5/28/2022, 09:30:00
|
94
|
-
https://ac.nowcoder.com/acm/contest/34866
|
95
|
-
|
96
|
-
OJ: NowCoder
|
97
|
-
Contest name: 福建农林大学校赛(同步赛)
|
98
|
-
Rule: ICPC
|
99
|
-
Start time: 5/28/2022, 05:30:00
|
100
|
-
End time: 5/28/2022, 09:30:00
|
101
|
-
https://ac.nowcoder.com/acm/contest/33869
|
102
|
-
|
103
75
|
OJ: AtCoder
|
104
76
|
Contest name: Ⓐ NOMURA Programming Contest 2022(AtCoder Beginner Contest 253)
|
105
77
|
Rule: AtCoder
|
@@ -113,6 +85,13 @@ Rule: AtCoder
|
|
113
85
|
Start time: 5/28/2022, 14:30:00
|
114
86
|
End time: 5/28/2022, 16:00:00
|
115
87
|
https://leetcode.com/contest/biweekly-contest-79
|
88
|
+
|
89
|
+
OJ: LeetCode
|
90
|
+
Contest name: Weekly Contest 295
|
91
|
+
Rule: AtCoder
|
92
|
+
Start time: 5/29/2022, 02:30:00
|
93
|
+
End time: 5/29/2022, 04:00:00
|
94
|
+
https://leetcode.com/contest/weekly-contest-295
|
116
95
|
```
|
117
96
|
|
118
97
|
</details>
|
@@ -123,7 +102,7 @@ https://leetcode.com/contest/biweekly-contest-79
|
|
123
102
|
```text
|
124
103
|
No running contests
|
125
104
|
|
126
|
-
There are
|
105
|
+
There are 4 contests on AtCoder,Codeforces in the next 7 days
|
127
106
|
|
128
107
|
OJ: AtCoder
|
129
108
|
Contest name: Ⓗ AtCoder Heuristic Contest 011
|
@@ -145,6 +124,13 @@ Rule: AtCoder
|
|
145
124
|
Start time: 5/29/2022, 12:00:00
|
146
125
|
End time: 5/29/2022, 14:00:00
|
147
126
|
https://atcoder.jp/contests/arc141
|
127
|
+
|
128
|
+
OJ: Codeforces
|
129
|
+
Contest name: CodeCraft-22 and Codeforces Round #795 (Div. 2)
|
130
|
+
Rule: Codeforces
|
131
|
+
Start time: 5/31/2022, 14:35:00
|
132
|
+
End time: 5/31/2022, 16:35:00
|
133
|
+
https://codeforces.com/contests/1691
|
148
134
|
```
|
149
135
|
|
150
136
|
</details>
|
@@ -211,6 +197,46 @@ https://atcoder.jp/contests/arc141
|
|
211
197
|
"startTime": "2022-06-26T12:00:00.000Z",
|
212
198
|
"endTime": "2022-06-26T14:00:00.000Z",
|
213
199
|
"url": "https://atcoder.jp/contests/arc143"
|
200
|
+
},
|
201
|
+
{
|
202
|
+
"ojName": "Codeforces",
|
203
|
+
"name": "CodeCraft-22 and Codeforces Round #795 (Div. 2)",
|
204
|
+
"rule": "Codeforces",
|
205
|
+
"startTime": "2022-05-31T14:35:00.000Z",
|
206
|
+
"endTime": "2022-05-31T16:35:00.000Z",
|
207
|
+
"url": "https://codeforces.com/contests/1691"
|
208
|
+
},
|
209
|
+
{
|
210
|
+
"ojName": "Codeforces",
|
211
|
+
"name": "Codeforces Round #796 (Div. 1)",
|
212
|
+
"rule": "Codeforces",
|
213
|
+
"startTime": "2022-06-03T14:35:00.000Z",
|
214
|
+
"endTime": "2022-06-03T16:35:00.000Z",
|
215
|
+
"url": "https://codeforces.com/contests/1687"
|
216
|
+
},
|
217
|
+
{
|
218
|
+
"ojName": "Codeforces",
|
219
|
+
"name": "Codeforces Round #796 (Div. 2)",
|
220
|
+
"rule": "Codeforces",
|
221
|
+
"startTime": "2022-06-03T14:35:00.000Z",
|
222
|
+
"endTime": "2022-06-03T16:35:00.000Z",
|
223
|
+
"url": "https://codeforces.com/contests/1688"
|
224
|
+
},
|
225
|
+
{
|
226
|
+
"ojName": "Codeforces",
|
227
|
+
"name": "Codeforces Round #797 (Div. 3)",
|
228
|
+
"rule": "ICPC",
|
229
|
+
"startTime": "2022-06-07T14:35:00.000Z",
|
230
|
+
"endTime": "2022-06-07T16:50:00.000Z",
|
231
|
+
"url": "https://codeforces.com/contests/1690"
|
232
|
+
},
|
233
|
+
{
|
234
|
+
"ojName": "Codeforces",
|
235
|
+
"name": "Codeforces Round #798 (Div. 2)",
|
236
|
+
"rule": "Codeforces",
|
237
|
+
"startTime": "2022-06-10T16:35:00.000Z",
|
238
|
+
"endTime": "2022-06-10T18:35:00.000Z",
|
239
|
+
"url": "https://codeforces.com/contests/1689"
|
214
240
|
}
|
215
241
|
]
|
216
242
|
}
|
package/dist/lib/oj/index.js
CHANGED
@@ -11,7 +11,7 @@ const codeforces_1 = require("./codeforces");
|
|
11
11
|
const leetcode_1 = require("./leetcode");
|
12
12
|
const luogu_1 = require("./luogu");
|
13
13
|
const nowcoder_1 = require("./nowcoder");
|
14
|
-
(0, axios_retry_1.default)(axios_1.default, { retries: 3, retryDelay: (
|
14
|
+
(0, axios_retry_1.default)(axios_1.default, { retries: 3, retryDelay: () => 1000 });
|
15
15
|
exports.alloj = {
|
16
16
|
at: atcoder_1.at,
|
17
17
|
cf: codeforces_1.cf,
|
package/dist/lib/oj/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/oj/index.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,8DAAqC;AAErC,uCAA+B;AAC/B,6CAAkC;AAClC,yCAAgC;AAChC,mCAA6B;AAC7B,yCAAgC;AAEhC,IAAA,qBAAU,EAAC,eAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/oj/index.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,8DAAqC;AAErC,uCAA+B;AAC/B,6CAAkC;AAClC,yCAAgC;AAChC,mCAA6B;AAC7B,yCAAgC;AAEhC,IAAA,qBAAU,EAAC,eAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;AAY7C,QAAA,KAAK,GAA4B;IAC1C,EAAE,EAAF,YAAE;IACF,EAAE,EAAF,eAAE;IACF,EAAE,EAAF,aAAE;IACF,EAAE,EAAF,UAAE;IACF,EAAE,EAAF,aAAE;CACL,CAAC;AAEF;;;;GAIG;AACH,SAAgB,KAAK,CAAC,IAAY,EAAE,EAAM;IAEtC,aAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AAHD,sBAGC"}
|
package/dist/server.html
ADDED
@@ -0,0 +1,180 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="zh">
|
3
|
+
<head>
|
4
|
+
<meta charset="UTF-8">
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
6
|
+
<link
|
7
|
+
href="https://fonts.loli.net/css?family=Roboto:300,400,500,700&display=swap"
|
8
|
+
rel="stylesheet"
|
9
|
+
/>
|
10
|
+
<link
|
11
|
+
href="https://cdnjs.loli.net/ajax/libs/mdb-ui-kit/4.1.0/mdb.min.css"
|
12
|
+
rel="stylesheet"
|
13
|
+
/>
|
14
|
+
<title>LSCT</title>
|
15
|
+
<style>
|
16
|
+
html, body {
|
17
|
+
height: 100%;
|
18
|
+
}
|
19
|
+
|
20
|
+
#content {
|
21
|
+
height: 100%;
|
22
|
+
display: flex;
|
23
|
+
flex-direction: column;
|
24
|
+
justify-content: center;
|
25
|
+
align-items: center;
|
26
|
+
}
|
27
|
+
|
28
|
+
.container {
|
29
|
+
width: 100%;
|
30
|
+
height: 100%;
|
31
|
+
}
|
32
|
+
|
33
|
+
main {
|
34
|
+
height: 100%;
|
35
|
+
}
|
36
|
+
</style>
|
37
|
+
</head>
|
38
|
+
<body>
|
39
|
+
<main>
|
40
|
+
<div class="container">
|
41
|
+
<div id="content" class="row">
|
42
|
+
<div id="selects" class="col-md-8 gx-5 d-inline-flex">
|
43
|
+
<div class="flex-fill">
|
44
|
+
<h2>目标 OJ</h2>
|
45
|
+
<div class="form-check">
|
46
|
+
<input class="form-check-input" type="checkbox" value="" id="cf" checked/>
|
47
|
+
<label class="form-check-label" for="cf">Codeforces</label>
|
48
|
+
</div>
|
49
|
+
<div class="form-check">
|
50
|
+
<input class="form-check-input" type="checkbox" value="" id="at" checked/>
|
51
|
+
<label class="form-check-label" for="at">AtCoder</label>
|
52
|
+
</div>
|
53
|
+
<div class="form-check">
|
54
|
+
<input class="form-check-input" type="checkbox" value="" id="lc" checked/>
|
55
|
+
<label class="form-check-label" for="lc">Leetcode</label>
|
56
|
+
</div>
|
57
|
+
<div class="form-check">
|
58
|
+
<input class="form-check-input" type="checkbox" value="" id="lg" checked/>
|
59
|
+
<label class="form-check-label" for="lg">洛谷</label>
|
60
|
+
</div>
|
61
|
+
<div class="form-check">
|
62
|
+
<input class="form-check-input" type="checkbox" value="" id="nc" checked/>
|
63
|
+
<label class="form-check-label" for="nc">牛客</label>
|
64
|
+
</div>
|
65
|
+
</div>
|
66
|
+
<div class="flex-fill">
|
67
|
+
<h2>语言</h2>
|
68
|
+
<div class="form-check">
|
69
|
+
<input class="form-check-input" type="radio" name="lang" id="zhCN"
|
70
|
+
checked/>
|
71
|
+
<label class="form-check-label" for="zhCN">zh-CN</label>
|
72
|
+
</div>
|
73
|
+
<div class="form-check">
|
74
|
+
<input class="form-check-input" type="radio" name="lang"
|
75
|
+
id="zhNE"/>
|
76
|
+
<label class="form-check-label" for="zhNE">zh-NE</label>
|
77
|
+
</div>
|
78
|
+
<div class="form-check">
|
79
|
+
<input class="form-check-input" type="radio" name="lang"
|
80
|
+
id="zhTW"/>
|
81
|
+
<label class="form-check-label" for="zhTW">zh-TW</label>
|
82
|
+
</div>
|
83
|
+
<div class="form-check">
|
84
|
+
<input class="form-check-input" type="radio" name="lang"
|
85
|
+
id="en"/>
|
86
|
+
<label class="form-check-label" for="en">en</label>
|
87
|
+
</div>
|
88
|
+
</div>
|
89
|
+
</div>
|
90
|
+
<div class="col-md-8 gx-5 my-4 d-inline-flex">
|
91
|
+
<div class="form-outline me-2 flex-fill">
|
92
|
+
<!--suppress HtmlFormInputWithoutLabel -->
|
93
|
+
<input type="text" id="url" readonly class="form-control"/>
|
94
|
+
</div>
|
95
|
+
<button class="btn btn-primary" id="copy">Copy</button>
|
96
|
+
</div>
|
97
|
+
</div>
|
98
|
+
</div>
|
99
|
+
</main>
|
100
|
+
<script src="https://cdnjs.loli.net/ajax/libs/mdb-ui-kit/4.1.0/mdb.min.js" crossorigin="anonymous"
|
101
|
+
referrerpolicy="no-referrer"
|
102
|
+
></script>
|
103
|
+
<script src="https://cdnjs.loli.net/ajax/libs/jquery/3.6.0/jquery.min.js" crossorigin="anonymous"
|
104
|
+
referrerpolicy="no-referrer"></script>
|
105
|
+
<script src="https://cdnjs.loli.net/ajax/libs/clipboard.js/2.0.10/clipboard.min.js"
|
106
|
+
crossorigin="anonymous"
|
107
|
+
referrerpolicy="no-referrer"></script>
|
108
|
+
<script>
|
109
|
+
function updateURL()
|
110
|
+
{
|
111
|
+
let curr = window.location.href.split("?")[0];
|
112
|
+
if(!curr.endsWith("/"))
|
113
|
+
{
|
114
|
+
curr += "/";
|
115
|
+
}
|
116
|
+
curr += "ics";
|
117
|
+
const args = new URLSearchParams();
|
118
|
+
|
119
|
+
//process ojs
|
120
|
+
const cf = $("#cf").prop("checked");
|
121
|
+
const at = $("#at").prop("checked");
|
122
|
+
const lc = $("#lc").prop("checked");
|
123
|
+
const lg = $("#lg").prop("checked");
|
124
|
+
const nc = $("#nc").prop("checked");
|
125
|
+
if(!(cf && at && lc && lg && nc))
|
126
|
+
{
|
127
|
+
const ojs = [];
|
128
|
+
if(cf) ojs.push("cf");
|
129
|
+
if(at) ojs.push("at");
|
130
|
+
if(lc) ojs.push("lc");
|
131
|
+
if(lg) ojs.push("lg");
|
132
|
+
if(nc) ojs.push("nc");
|
133
|
+
args.append("o", ojs.join(","));
|
134
|
+
}
|
135
|
+
|
136
|
+
//process lang
|
137
|
+
const lang = $("input[name='lang']:checked").next().text();
|
138
|
+
if(lang !== "zh-CN") args.append("l", lang);
|
139
|
+
const query = args.toString();
|
140
|
+
let url = curr;
|
141
|
+
if(query.length > 0) url += "?" + query;
|
142
|
+
$("#url").val(url);
|
143
|
+
}
|
144
|
+
|
145
|
+
document.addEventListener("DOMContentLoaded", function ()
|
146
|
+
{
|
147
|
+
updateURL();
|
148
|
+
$("#cf,#at,#lc,#lg,#nc,input[name='lang']").change(updateURL);
|
149
|
+
|
150
|
+
const copy = $("#copy");
|
151
|
+
|
152
|
+
copy.tooltip({
|
153
|
+
trigger: "click",
|
154
|
+
placement: "bottom",
|
155
|
+
title: "Copied!"
|
156
|
+
});
|
157
|
+
|
158
|
+
copy.click(function ()
|
159
|
+
{
|
160
|
+
const url = $("#url").val();
|
161
|
+
if(url.length > 0)
|
162
|
+
{
|
163
|
+
new ClipboardJS("#copy", {
|
164
|
+
text: function ()
|
165
|
+
{
|
166
|
+
return url;
|
167
|
+
}
|
168
|
+
});
|
169
|
+
copy.tooltip("show");
|
170
|
+
setTimeout(function ()
|
171
|
+
{
|
172
|
+
copy.tooltip("hide");
|
173
|
+
}, 1000);
|
174
|
+
}
|
175
|
+
});
|
176
|
+
}
|
177
|
+
);
|
178
|
+
</script>
|
179
|
+
</body>
|
180
|
+
</html>
|
package/dist/server.js
CHANGED
@@ -23,6 +23,7 @@ const crypto_1 = require("crypto");
|
|
23
23
|
const commander_1 = require("commander");
|
24
24
|
const package_json_1 = require("../package.json");
|
25
25
|
const lodash_1 = __importDefault(require("lodash"));
|
26
|
+
const fs_1 = require("fs");
|
26
27
|
const app = (0, express_1.default)();
|
27
28
|
function assertType(obj) {
|
28
29
|
}
|
@@ -43,10 +44,12 @@ const logger = () => {
|
|
43
44
|
next();
|
44
45
|
};
|
45
46
|
};
|
47
|
+
const web = (0, fs_1.readFileSync)(`${__dirname}/server.html`).toString();
|
46
48
|
app.set("trust proxy", true);
|
47
49
|
app.use(logger());
|
48
50
|
app.get("/", (req, res) => {
|
49
|
-
res.
|
51
|
+
res.set("Content-Type", "text/html");
|
52
|
+
res.send(web);
|
50
53
|
});
|
51
54
|
app.get("/ics", (req, res) => __awaiter(void 0, void 0, void 0, function* () {
|
52
55
|
const { language, l, ojs, o } = req.query;
|
package/dist/server.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,sDAA8B;AAC9B,mCAA+C;AAC/C,iCAAiC;AACjC,qCAAuC;AACvC,6BAA6E;AAC7E,kDAA0B;AAC1B,mCAAoC;AACpC,yCAAoC;AACpC,kDAA+C;AAC/C,oDAAuB;
|
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.
|
3
|
+
"version": "2.2.2",
|
4
4
|
"description": "A tool to get information about the contests on each OJ",
|
5
5
|
"keywords": [
|
6
6
|
"cli",
|
@@ -24,7 +24,9 @@
|
|
24
24
|
"dist"
|
25
25
|
],
|
26
26
|
"scripts": {
|
27
|
-
"
|
27
|
+
"prebuild": "rimraf ./dist/*",
|
28
|
+
"postbuild": "cpy --flat src/server.html dist",
|
29
|
+
"build": "tsc -p src",
|
28
30
|
"clean": "rimraf ./dist ./docs ./node_modules",
|
29
31
|
"docs": "typedoc",
|
30
32
|
"lint": "eslint . && markdownlint .",
|
@@ -63,7 +65,8 @@
|
|
63
65
|
"tsx": "^3.4.1",
|
64
66
|
"typedoc": "^0.22.15",
|
65
67
|
"typedoc-plugin-extras": "^2.2.3",
|
66
|
-
"typescript": "^4.7.2"
|
68
|
+
"typescript": "^4.7.2",
|
69
|
+
"cpy-cli": "^4.1.0"
|
67
70
|
},
|
68
71
|
"config": {
|
69
72
|
"commitizen": {
|