Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

46
LINES

< > BotCompany Repo | #1011399 // ai_postTriple - posts if triple not in cache yet - returns web.globalID - posts verified unless specified by ai_postTriple_verified

JavaX fragment (include)

1  
static new ThreadLocal<Bool> ai_postTriple_verified;
2  
static new ThreadLocal<Bool> ai_postTriple_recursion;
3  
4  
static S ai_postTriple(T3<S> triple) {
5  
  // check, clean
6  
  
7  
  ping();
8  
  if (triple_anyPartNull(triple)) null;
9  
  triple = trimTriple(triple);
10  
  if (!ai_tripleAllowedToPost(triple)) null; // fail("No");
11  
  
12  
  // existing?
13  
14  
  if (has(triple)) null;
15  
  
16  
  // invalid?
17  
  
18  
  if (has(ai_tripleToInvalid(triple))) null;
19  
  
20  
  // post verified?
21  
  
22  
  bool ver = !isFalse(ai_postTriple_verified!);
23  
24  
  // post handler?
25  
  
26  
  AI_PostHandler handler = ai_postHandler();
27  
  T3<Symbol> striple = toSymbolTriple(triple);
28  
  if (handler != null && !isTrue(ai_postTriple_recursion!)) {
29  
    ai_postTriple_recursion.set(true);
30  
    try {
31  
      ret strOrNull(handler.postTriple(striple, ver));
32  
    } finally {
33  
      ai_postTriple_recursion.set(null);
34  
    }
35  
  } else {
36  
    // post web the normal way
37  
    Web web = webFromTriple(striple);
38  
    web.unverified = !ver;
39  
    postSoftwareMadeWeb(web);
40  
    ret web.globalID();
41  
  }
42  
}
43  
44  
static S ai_postTriple(S a, S b, S c) {
45  
  ret ai_postTriple(t3(a, b, c));
46  
}

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: #1011399
Snippet name: ai_postTriple - posts if triple not in cache yet - returns web.globalID - posts verified unless specified by ai_postTriple_verified
Eternal ID of this version: #1011399/31
Text MD5: ec847f06d37188b26a7a69f8cdd1b660
Author: stefan
Category: javax / a.i.
Type: JavaX fragment (include)
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2017-12-16 13:56:21
Source code size: 1124 bytes / 46 lines
Pitched / IR pitched: No / No
Views / Downloads: 611 / 650
Version history: 30 change(s)
Referenced in: [show references]