From 33647da6e8f897b34ebabbc611a8255c7082c58c Mon Sep 17 00:00:00 2001 From: Manuel Cortez Date: Tue, 8 Nov 2022 15:46:16 -0600 Subject: [PATCH] If user has no display_name set, let's show mastodon username instead --- src/sessions/mastodon/compose.py | 7 ++++++- src/sessions/mastodon/templates.py | 10 ++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/sessions/mastodon/compose.py b/src/sessions/mastodon/compose.py index ef1c12a5..6e38a466 100644 --- a/src/sessions/mastodon/compose.py +++ b/src/sessions/mastodon/compose.py @@ -5,6 +5,8 @@ from . import utils def compose_toot(toot, db, relative_times, show_screen_names): if show_screen_names == False: user = toot.account.get("display_name") + if user == "": + user = toot.account.get("username") else: user = toot.account.get("acct") original_date = arrow.get(toot.created_at) @@ -30,4 +32,7 @@ def compose_user(user, db, relative_times=True): ts = original_date.humanize(locale="es") else: ts = original_date.shift(hours=db["utc_offset"]).format(_("dddd, MMMM D, YYYY H:m:s"), locale="es") - return [_("%s (@%s). %s followers, %s following, %s toots. Joined %s") % (user.display_name, user.acct, user.followers_count, user.following_count, user.statuses_count, ts)] + name = user.display_name + if name == "": + name = user.get("username") + return [_("%s (@%s). %s followers, %s following, %s toots. Joined %s") % (name, user.acct, user.followers_count, user.following_count, user.statuses_count, ts)] diff --git a/src/sessions/mastodon/templates.py b/src/sessions/mastodon/templates.py index 9d2350ce..27878a43 100644 --- a/src/sessions/mastodon/templates.py +++ b/src/sessions/mastodon/templates.py @@ -49,7 +49,10 @@ def render_toot(toot, template, relative_times=False, offset_hours=0): created_at = process_date(toot.created_at, relative_times, offset_hours) available_data.update(date=created_at) # user. - available_data.update(display_name=toot.account.display_name, screen_name=toot.account.acct) + display_name = toot.account.display_name + if display_name == "": + display_name = toot.account.username + available_data.update(display_name=display_name, screen_name=toot.account.acct) # Source client from where tweet was originated. source = "" if hasattr(toot, "application") and toot.application != None: @@ -87,7 +90,10 @@ def render_person(user, template, relative_times=True, offset_hours=0): $created_at: The date and time that the user account was created on Twitter. """ global person_variables - available_data = dict(display_name=user.display_name, screen_name=user.acct, followers=user.followers_count, following=user.following_count, favorites=user.favourites_count, toots=user.statuses_count) + display_name = user.display_name + if display_name == "": + display_name = user.username + available_data = dict(display_name=display_name, screen_name=user.acct, followers=user.followers_count, following=user.following_count, favorites=user.favourites_count, toots=user.statuses_count) # Nullable values. nullables = ["description"] for nullable in nullables: