mirror of
https://github.com/MCV-Software/TWBlue.git
synced 2025-08-04 21:16:07 -04:00
Added initial support for direct messages, users need to open conversations for every dm
This commit is contained in:
@@ -36,3 +36,15 @@ def compose_user(user, db, relative_times=True):
|
||||
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)]
|
||||
|
||||
def compose_conversation(conversation, db, relative_times, show_screen_names):
|
||||
users = []
|
||||
for account in conversation.accounts:
|
||||
if account.display_name != "":
|
||||
users.append(account.display_name)
|
||||
else:
|
||||
users.append(account.username)
|
||||
users = ", ".join(users)
|
||||
last_toot = compose_toot(conversation.last_status, db, relative_times, show_screen_names)
|
||||
text = _("Last message from {}: {}").format(last_toot[0], last_toot[1])
|
||||
return [users, text, last_toot[-1], ""]
|
@@ -3,7 +3,7 @@ import re
|
||||
import arrow
|
||||
import languageHandler
|
||||
from string import Template
|
||||
from . import utils
|
||||
from . import utils, compose
|
||||
|
||||
# Define variables that would be available for all template objects.
|
||||
# This will be used for the edit template dialog.
|
||||
@@ -11,6 +11,7 @@ from . import utils
|
||||
# safe_text will be the content warning in case a toot contains one, text will always be the full text, no matter if has a content warning or not.
|
||||
toot_variables = ["date", "display_name", "screen_name", "source", "lang", "safe_text", "text", "image_descriptions"]
|
||||
person_variables = ["display_name", "screen_name", "description", "followers", "following", "favorites", "toots", "created_at"]
|
||||
conversation_variables = ["users", "last_toot"]
|
||||
|
||||
# Default, translatable templates.
|
||||
toot_default_template = _("$display_name, $text $image_descriptions $date. $source")
|
||||
@@ -118,4 +119,18 @@ def render_person(user, template, relative_times=True, offset_hours=0):
|
||||
available_data.update(created_at=created_at)
|
||||
result = Template(_(template)).safe_substitute(**available_data)
|
||||
result = remove_unneeded_variables(result, person_variables)
|
||||
return result
|
||||
|
||||
def render_conversation(conversation, template, toot_template, relative_times=False, offset_hours=0):
|
||||
users = []
|
||||
for account in conversation.accounts:
|
||||
if account.display_name != "":
|
||||
users.append(account.display_name)
|
||||
else:
|
||||
users.append(account.username)
|
||||
users = ", ".join(users)
|
||||
last_toot = render_toot(conversation.last_status, toot_template, relative_times=relative_times, offset_hours=offset_hours)
|
||||
available_data = dict(users=users, last_toot=last_toot)
|
||||
result = Template(_(template)).safe_substitute(**available_data)
|
||||
result = remove_unneeded_variables(result, conversation_variables)
|
||||
return result
|
@@ -21,8 +21,7 @@ def find_item(item, listItems):
|
||||
for i in range(0, len(listItems)):
|
||||
if listItems[i].id == item.id:
|
||||
return i
|
||||
# Check also retweets.
|
||||
if item.reblog != None and item.reblog.id == listItems[i].id:
|
||||
if hasattr(item, "reblog") and item.reblog != None and item.reblog.id == listItems[i].id:
|
||||
return i
|
||||
return None
|
||||
|
||||
|
Reference in New Issue
Block a user