From 1d3538a604963e142ad3cab6bf221934b9f6bd16 Mon Sep 17 00:00:00 2001 From: Mark Qvist Date: Thu, 9 Feb 2023 21:18:14 +0100 Subject: [PATCH] Field parsing --- nomadnet/ui/textui/MicronParser.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/nomadnet/ui/textui/MicronParser.py b/nomadnet/ui/textui/MicronParser.py index 6948c00..db0e8ff 100644 --- a/nomadnet/ui/textui/MicronParser.py +++ b/nomadnet/ui/textui/MicronParser.py @@ -1,5 +1,6 @@ import nomadnet import urwid +import random import time from urwid.util import is_mouse_press from urwid.text_layout import calc_coords @@ -423,6 +424,32 @@ def make_output(state, line, url_delegate): elif c == "a": state["align"] = state["default_align"] + elif c == "<": + # TODO: remove + import RNS + field_name = None + field_name_end = line[i:].find("`") + if field_name_end == -1: + pass + else: + field_name = line[i+1:i+field_name_end] + def sr(): + return "@{"+str(random.randint(1000,9999))+"}" + rsg = sr() + while rsg in line[i+field_name_end:]: + rsg = sr() + lr = line[i+field_name_end:].replace("\\>", rsg) + endpos = lr.find(">") + + if endpos == -1: + pass + + else: + field_data = lr[1:endpos].replace(rsg, "\\>") + skip = len(field_data)+len(field_name)+2 + field_data = field_data.replace("\\>", ">") + RNS.log("Field "+str(field_name)+": "+str(field_data)) + elif c == "[": endpos = line[i:].find("]") if endpos == -1: