comparison src/requests.tp @ 23:fcd7ae66a9ee

cleanup.
author William Morgan <bill@mrgn.org>
date Sat, 10 Aug 2013 03:56:32 -0700
parents a4837071b73d
children e1109e33b796
comparison
equal deleted inserted replaced
22:a4837071b73d 23:fcd7ae66a9ee
14 } 14 }
15 15
16 quote <- :str { 16 quote <- :str {
17 "\"" . str . "\"" 17 "\"" . str . "\""
18 } 18 }
19
20 println: str {
21 print: str . "\n"
22 }
23
24
25
19 26
20 evalRequest <- :id args { 27 evalRequest <- :id args {
21 #{ 28 #{
22 string <- { 29 string <- {
23 idStr <- (quote: "id") . ":" . (quote: id) 30 idStr <- (quote: "id") . ":" . (quote: id)
39 46
40 47
41 48
42 49
43 50
44
45 expect:in <- :target input {
46 input find: target else: {
47 print: "expected " . target . "!\n"
48 -1
49 //exit, it's all fucked now
50 }
51 }
52
53 quotedVal <- :str {
54 str find: "\"" else: {
55 "expected
56 }
57 }
58
59 jsonVal:in <- :target input {
60 idx <- expect: target in: input
61 nextQuoteIdx <- idx +
62 quotedVal: idx
63 }
64
65 evalResponse <- :str {
66 str find: "status" else: {print: missing}
67 statIdx <- expect: "status" in: str
68 status <- requireK
69
70 #{
71 status <-
72 outputs <- parseArray(input)
73 message <-
74 }
75 }
76
77
78 println: str {
79 print: str . "\n"
80 }
81
82 readObject <- :str {
83 expect "{"
84 readObjectContents:
85 expect "}"
86 }
87
88 readObject <- :str {
89 innerStr <- readEnclosed: "{" "}"
90 elems <- split: ","
91 }
92
93 evalResponse <- :str {
94 status <- readValForKey: "status" str
95 if status = "error" {
96
97 } else {
98 if status = "ok" {
99 #{
100 readEvalOutputs:
101 }
102 }
103 }
104
105 }
106
107 expect:in:else <- :target src doElse { 51 expect:in:else <- :target src doElse {
108 src find: target else: { 52 src find: target else: {
109 print: "parse error: expected " . target . "!\n" 53 print: "parse error: expected " . target . "!\n"
110 doElse: 54 doElse:
111 } 55 }
112 } 56 }
113 57
114 getStrForKey:from:else <- :key :src :doElse { 58 getStrForKey:from:else <- :key :src :doElse {
115 idx <- expect: "\"" in: src else: doElse 59 firstKeyQuote <- expect: "\"" in: src else: doElse
116 idx + (key length): 60 secondQuote <- idx + (key length):
61
62 #{
63 value <-
64 rest <- src from: (value length)
65 }
66 }
67
68 getOutputs:else <- :str :fail {
69
117 } 70 }
118 71
119 getEval:else <- :str :fail { 72 getEval:else <- :str :fail {
120 statusRest <- getStrForKey: "status" from: str else: fail 73 statusRest <- getStrForKey: "status" from: str else: fail
121 if (statusRest value) = 0 { 74 if (statusRest value) = "ok" { // string equality? revisit.
122 outputsRest <- getOutputs: (statusRest rest) else: fail 75 outputsRest <- getOutputs: (statusRest rest) else: fail
123 #{ 76 #{
124 value <- #{ 77 value <- #{
125 status <- statusRest.value 78 status <- statusRest.value
126 outputs <- outputsRest.value 79 outputs <- outputsRest.value
128 rest <- outputsRest.rest 81 rest <- outputsRest.rest
129 } 82 }
130 } else { 83 } else {
131 print: "Status was error, message: " . message 84 print: "Status was error, message: " . message
132 #{ 85 #{
133 message <- getStrForKey: "message" from: (statusRest rest) else: fail 86 messageRest <- getStrForKey: "message" from: (statusRest rest) else: fail
134 value <- #{ 87 value <- #{
135 status <- statusRest.value 88 status <- statusRest.value
136 message <- outputsRest.value 89 message <- messageRest.value
137 } 90 }
138 rest <- outputsRest.rest 91 rest <- messageRest.rest
139 } 92 }
140 } 93 }
141 } 94 }
142 95
143 96