1
0
mirror of https://github.com/ihabunek/toot synced 2025-02-09 16:48:39 +01:00

Improve print_instance

This commit is contained in:
Ivan Habunek 2022-11-22 21:27:04 +01:00
parent db6d8c6d73
commit d03a329b1a
No known key found for this signature in database
GPG Key ID: CDBD63C43A30BB95

View File

@ -3,13 +3,13 @@
import os import os
import re import re
import sys import sys
import textwrap
from datetime import datetime, timezone
from textwrap import wrap from textwrap import wrap
from wcwidth import wcswidth
from toot.tui.utils import parse_datetime from toot.tui.utils import parse_datetime
from wcwidth import wcswidth
from toot.utils import format_content, get_text, parse_html from toot.utils import get_text, parse_html
from toot.wcstring import wc_wrap from toot.wcstring import wc_wrap
@ -88,17 +88,28 @@ def print_instance(instance):
print_out("<green>{}</green>".format(instance['title'])) print_out("<green>{}</green>".format(instance['title']))
print_out("<blue>{}</blue>".format(instance['uri'])) print_out("<blue>{}</blue>".format(instance['uri']))
print_out("running Mastodon {}".format(instance['version'])) print_out("running Mastodon {}".format(instance['version']))
print_out("") print_out()
description = instance['description'].strip() description = instance.get("description")
if not description: if description:
return for paragraph in re.split(r"[\r\n]+", description.strip()):
paragraph = get_text(paragraph)
print_out(textwrap.fill(paragraph, width=80))
print_out()
lines = [line.strip() for line in format_content(description) if line.strip()] rules = instance.get("rules")
for line in lines: if rules:
for l in wrap(line.strip()): print_out("Rules:")
print_out(l) for ordinal, rule in enumerate(rules):
print_out() ordinal = f"{ordinal + 1}."
lines = textwrap.wrap(rule["text"], 80 - len(ordinal))
first = True
for line in lines:
if first:
print_out(f"{ordinal} {line}")
first = False
else:
print_out(f"{' ' * len(ordinal)} {line}")
def print_account(account): def print_account(account):