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 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 Wed, 25 May 2022 15:56:07 GMT*)
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
- There are 1 contests is running on NowCoder
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 6 contests on NowCoder,AtCoder,LeetCode in the next 3 days
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 3 contests on AtCoder in the next 7 days
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
  }
@@ -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: (retryCount) => retryCount * 1000 });
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,
@@ -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,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,EAAE,CAAC,CAAC;AAYpE,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"}
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"}
@@ -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.redirect("https://github.com/StableAgOH/lscontests");
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;
@@ -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.1.6",
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
- "build": "rimraf ./dist/* && tsc -p src",
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": {