Download Jar. Libraryless. Click here for Pure Java version (9733L/70K).
1 | !7 |
2 | |
3 | static S query; |
4 | static L<SS> result; |
5 | static volatile bool calculating; |
6 | static NotTooOften notTooOften = onlyEvery10Secs(); |
7 | static WaitForStableValue<S> waitForStableValue = new(5.0); |
8 | static Q q; |
9 | static int maxInputLength = 120; |
10 | |
11 | static transient JTable table; |
12 | static transient ReliableSingleThread rst; |
13 | |
14 | static JComponent visualize() { ret dataToTable_uneditable(result, table = sexyTable()); }
|
15 | static void unvisualize2() { table = null; }
|
16 | |
17 | p {
|
18 | q = startQ(); |
19 | doEvery(1000, r update); |
20 | } |
21 | |
22 | svoid update {
|
23 | lock programLock(); |
24 | S s = (S) callOpt(creator(), 'getInterestingString); |
25 | if (nempty(s) && l(s) <= maxInputLength) { // TODO: more quality checks?
|
26 | waitForStableValue.set(s); |
27 | } |
28 | |
29 | fS q = waitForStableValue!; |
30 | if (nempty(q) && neq(q, query) && allowedToGoogleSomething()) |
31 | main.q.add(r { calc(q) });
|
32 | } |
33 | |
34 | static void calc(S q) {
|
35 | if (eq(query, q)) ret; |
36 | query = q; result = null; |
37 | calculating = true; |
38 | try {
|
39 | L<T3<S>> l = quickGoogle2(q); |
40 | result = map(l, func(T3<S> t) -> SS {
|
41 | litorderedmap("Result" := second(t), "Desc" := third(t), "Link" := first(t))
|
42 | }); |
43 | JTable t = table; |
44 | if (t != null) |
45 | dataToTable_uneditable(result, t); |
46 | } finally {
|
47 | calculating = false; |
48 | } |
49 | } |
50 | |
51 | sbool allowedToGoogleSomething() {
|
52 | ret notTooOften.canDoAgain_willDoIfTrue(); |
53 | } |
download show line numbers debug dex old transpilations
Travelled to 13 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
| Snippet ID: | #1015833 |
| Snippet name: | Google (Dyn Module, v1, old) |
| Eternal ID of this version: | #1015833/27 |
| Text MD5: | 7895c86f200e13e50f4eaadd906852ab |
| Transpilation MD5: | cef0ba1542d65e3dbfd308472dcc63e5 |
| Author: | stefan |
| Category: | |
| Type: | JavaX source code (desktop) |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2018-06-01 00:10:58 |
| Source code size: | 1367 bytes / 53 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 829 / 2318 |
| Version history: | 26 change(s) |
| Referenced in: | [show references] |