def display(self, num, line): points = re.split(r"\s*(\[(?:\d+/)?\d+\])\s*", line, maxsplit=1) vis = "│" if len(points) == 3: line = "%s %s" % (points[0], points[-1]) points = [float(x) for x in points[1][1:-1].split("/")] align = math.ceil(points[-1]/5) * 5 total = points[-1] if len(points) > 1: done = points[0] else: done = 0 vis = '┝' + "━" * math.ceil(total - done) + '15' + "─" * math.ceil(done) + " " * (align - math.ceil(total)) return "06│ %s %s %s" % (num, vis, re.sub(r"#(\S+)", lambda x: r"15%s" % smallcaps(x.group(1)), line))
def display(self, num, line, strike=False): points = re.split(r"\s*(\[(?:\d+/)?\d+\])\s*", line, maxsplit=1) vis, line = priority_vis(line) if len(points) == 3: line = "%s %s" % (points[0], points[-1]) points = [float(x) for x in points[1][1:-1].split("/")] align = math.ceil(points[-1] / 5) * 5 total = points[-1] if len(points) > 1: done = points[0] else: done = 0 vis += "━" * math.ceil(total - done) + '15' + "─" * math.ceil( done) + " " * (align - math.ceil(total)) line = re.sub( r"(^| )(#|\+|@)(\S+)", lambda x: r"%s%.2d%s" % (x.group(1), { "#": 15, "+": 15, "@": 6 }[x.group(2)], smallcaps(x.group(3))), line) if strike: line = strikethrough(line) return "06│ %s %s %s" % (num, vis, line)
def display(self, num, line, strike=False): points = re.split(r"\s*(\[(?:\d+/)?\d+\])\s*", line, maxsplit=1) vis = "│" if len(points) == 3: line = "%s %s" % (points[0], points[-1]) points = [float(x) for x in points[1][1:-1].split("/")] align = math.ceil(points[-1]/5) * 5 total = points[-1] if len(points) > 1: done = points[0] else: done = 0 vis = '┝' + "━" * math.ceil(total - done) + '15' + "─" * math.ceil(done) + " " * (align - math.ceil(total)) line = re.sub(r"(^| )(#|\+|@)(\S+)", lambda x: r"%s%.2d%s" % (x.group(1), {"#":15,"+":15,"@":6}[x.group(2)], smallcaps(x.group(3))), line) if strike: line = strikethrough(line) return "06│ %s %s %s" % (num, vis, line)