diff --git a/lg.py b/lg.py index b4bdd8b..6a9f4e7 100644 --- a/lg.py +++ b/lg.py @@ -223,8 +223,6 @@ def whois(): SUMMARY_UNWANTED_PROTOS = ["Kernel", "Static", "Device"] -SUMMARY_RE_MATCH = r"(?P[\w_]+)\s+(?P\w+)\s+(?P\w+)\s+(?P\w+)\s+(?P((|\d\d\d\d-\d\d-\d\d\s)|(\d\d:)\d\d:\d\d|\w\w\w\d\d))($|\s+(?P.*))" - @app.route("/summary/") @app.route("/summary//") @@ -251,9 +249,16 @@ def summary(hosts, proto="ipv4"): for line in res[1:]: line = line.strip() if line and (line.split() + [""])[1] not in SUMMARY_UNWANTED_PROTOS: - m = re.match(SUMMARY_RE_MATCH, line) - if m: - data.append(m.groupdict()) + split = line.split() + if len(split) >= 5: + props = dict() + props["name"] = split[0] + props["proto"] = split[1] + props["table"] = split[2] + props["state"] = split[3] + props["since"] = split[4] + props["info"] = ' '.join(split[5:]) if len(split) > 5 else "" + data.append(props) else: app.logger.warning("couldn't parse: %s", line)