|
@@ -398,3 +398,17 @@ def selectPossibleOutgoing(a, b, c, **remainder):
|
|
|
yield [("CE", [result, limit_set_names[i]])]
|
|
|
|
|
|
raise PrimitiveFinished(result)
|
|
|
+
|
|
|
+def read_symbols(a, b, **remainder):
|
|
|
+ b_v = yield [("RV", [b])]
|
|
|
+ obj = yield [("RD", [a, b_v])]
|
|
|
+ node = yield [("RD", [obj, "symbols"])]
|
|
|
+ keys = yield [("RDK", [node])]
|
|
|
+ keys_v = yield [("RV", [i]) for i in keys]
|
|
|
+ is_in = yield [("RD", [node, i]) for i in keys_v]
|
|
|
+ is_in_v = yield [("RV", [i]) for i in is_in]
|
|
|
+
|
|
|
+ result_v = ["%s:%s\n" % (key, "1" if value else "0") for key, value in zip(keys_v, is_in_v)]
|
|
|
+ result_v = "".join(result_v)
|
|
|
+ result = yield [("CNV", [result_v])]
|
|
|
+ raise PrimitiveFinished(result)
|