Download Jar. Libraryless. Click here for Pure Java version (9284L/63K).
1 | !7 |
2 | |
3 | concept FileMeta {
|
4 | int fileID; |
5 | S md5; |
6 | long checked; |
7 | } |
8 | |
9 | svoid init {
|
10 | dbIndexing(FileMeta, 'fileID); |
11 | } |
12 | |
13 | p {
|
14 | init(); |
15 | typicalDownload(); |
16 | } |
17 | |
18 | svoid fullDownload {
|
19 | download(diagramServer_IDsAndMD5s()); |
20 | } |
21 | |
22 | svoid typicalDownload {
|
23 | SS map = diagramServer_typicalSet(); |
24 | download(map); |
25 | saveTextFile(getProgramFile("typical.structure"), struct(map));
|
26 | } |
27 | |
28 | svoid downloadLatestFileNamed(S name) {
|
29 | L l = (L) safeUnstructure(loadPage("http://ai1.lol/1010474/raw/latest-file-named/" + urlencode(name)));
|
30 | if (l == null) ret with print("Can't file named " + name + " on diagram server");
|
31 | S md5; |
32 | download(litmap(str(first(l)), md5 = second(l))); // ID + MD5 |
33 | saveTextFile(getProgramFile(urlencode(name) + ".file"), md5); |
34 | } |
35 | |
36 | // map: ID -> MD5 |
37 | svoid download(SS map) {
|
38 | loading "Downloading diagrams..." {
|
39 | pnl(map); |
40 | for (S id : keys(map)) {
|
41 | S md5 = map.get(id); |
42 | FileMeta m = uniq(FileMeta, fileID := parseInt(id)); |
43 | cset(m, +md5, checked := now()); |
44 | File f = getFile(m); |
45 | if (!f.exists()) {
|
46 | S url = diagramServer_idToURL(id); |
47 | saveBinaryFile(f, loadBinaryPage(url)); |
48 | print("Saved " + f);
|
49 | } |
50 | } |
51 | print("Done.");
|
52 | }} |
53 | |
54 | static File getFile(FileMeta m) {
|
55 | ret getProgramFile(m.md5); |
56 | } |
download show line numbers debug dex old transpilations
Travelled to 14 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, imzmzdywqqli, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
| Snippet ID: | #1010484 |
| Snippet name: | Diagrams Downloader |
| Eternal ID of this version: | #1010484/15 |
| Text MD5: | 0b62130399dba5702bed94ff61e319de |
| Transpilation MD5: | 1751701720a3dbb4bb43554ea409bdfe |
| Author: | stefan |
| Category: | javax / networking |
| Type: | JavaX source code (desktop) |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2017-10-16 22:48:47 |
| Source code size: | 1288 bytes / 56 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 913 / 3890 |
| Version history: | 14 change(s) |
| Referenced in: | [show references] |