change the way boosts are handled

This commit is contained in:
Charlotte 🦝 Delenk 2022-11-04 09:09:03 +01:00
parent a6867616b6
commit cb268a9c6f
Signed by: darkkirb
GPG key ID: AB2BD8DAF2E37122

View file

@ -804,7 +804,7 @@ index e57604b..050e87c 100644
Base.metadata.create_all(engine) Base.metadata.create_all(engine)
diff --git a/moa/toot.py b/moa/toot.py diff --git a/moa/toot.py b/moa/toot.py
index 08aa61d..b6dc5a3 100644 index 08aa61d..29426a3 100644
--- a/moa/toot.py --- a/moa/toot.py
+++ b/moa/toot.py +++ b/moa/toot.py
@@ -8,11 +8,11 @@ from moa.message import Message @@ -8,11 +8,11 @@ from moa.message import Message
@ -889,7 +889,7 @@ index 08aa61d..b6dc5a3 100644
# find possible twitter handles so we can get their ranges # find possible twitter handles so we can get their ranges
tm = list(re.finditer(r'@(\w{1,15})', self.content)) tm = list(re.finditer(r'@(\w{1,15})', self.content))
@@ -250,43 +276,51 @@ class Toot(Message): @@ -250,50 +276,56 @@ class Toot(Message):
@property @property
def clean_content(self): def clean_content(self):
@ -949,7 +949,16 @@ index 08aa61d..b6dc5a3 100644
self.content = f"{self.content}\n{self.settings.sensitive_link_text}\n{self.url}" self.content = f"{self.content}\n{self.settings.sensitive_link_text}\n{self.url}"
if self.is_boost: if self.is_boost:
@@ -318,7 +352,9 @@ class Toot(Message): - if len(self.content) > 0:
- self.content = f"RT {self.boost_author}\n{self.content}\n{self.url}"
- else:
- self.content = f"RT {self.boost_author}\n{self.url}\n"
+ self.content = f"RT {self.boost_author}\n{self.url}\n"
+ self.media_attachments = []
# logger.debug(self.content)
@@ -318,7 +350,9 @@ class Toot(Message):
words = self.clean_content.split(" ") words = self.clean_content.split(" ")
if self.settings.split_twitter_messages: if self.settings.split_twitter_messages:
@ -960,7 +969,7 @@ index 08aa61d..b6dc5a3 100644
for next_word in words: for next_word in words:
@@ -348,7 +384,8 @@ class Toot(Message): @@ -348,7 +382,8 @@ class Toot(Message):
self.message_parts.append(current_part.strip()) self.message_parts.append(current_part.strip())
for i, msg in enumerate(self.message_parts): for i, msg in enumerate(self.message_parts):
@ -970,6 +979,126 @@ index 08aa61d..b6dc5a3 100644
logger.debug(self.message_parts[i]) logger.debug(self.message_parts[i])
else: else:
logger.info('Truncating toot') logger.info('Truncating toot')
diff --git a/moa/tweet.py b/moa/tweet.py
index b156967..5d02abb 100644
--- a/moa/tweet.py
+++ b/moa/tweet.py
@@ -20,6 +20,7 @@ HANDLE_SUFFIX = ''
class Tweet(Message):
+
def __init__(self, settings, data, api):
super().__init__(settings, data)
@@ -38,7 +39,8 @@ class Tweet(Message):
@property
def created_at(self):
- return datetime.strptime(self.data.created_at, '%a %b %d %H:%M:%S %z %Y')
+ return datetime.strptime(self.data.created_at,
+ '%a %b %d %H:%M:%S %z %Y')
@property
def too_old(self) -> bool:
@@ -67,13 +69,11 @@ class Tweet(Message):
target_id = self.data.id
try:
- fetched_tweet = self.api.GetStatus(
- status_id=target_id,
- trim_user=True,
- include_my_retweet=False,
- include_entities=True,
- include_ext_alt_text=True
- )
+ fetched_tweet = self.api.GetStatus(status_id=target_id,
+ trim_user=True,
+ include_my_retweet=False,
+ include_entities=True,
+ include_ext_alt_text=True)
self.__fetched_attachments = fetched_tweet.media
except (TwitterError, ConnectionError) as e:
@@ -130,7 +130,7 @@ class Tweet(Message):
@property
def url(self):
- base = "https://twitter.com"
+ base = "https://twitter.catcatnya.com"
user = self.data.user.screen_name
status = self.data.id
@@ -185,9 +185,11 @@ class Tweet(Message):
def mentions(self):
if self.is_retweet:
- m = [(u.screen_name, u._json['indices']) for u in self.data.retweeted_status.user_mentions]
+ m = [(u.screen_name, u._json['indices'])
+ for u in self.data.retweeted_status.user_mentions]
else:
- m = [(u.screen_name, u._json['indices']) for u in self.data.user_mentions]
+ m = [(u.screen_name, u._json['indices'])
+ for u in self.data.user_mentions]
return m
@@ -195,7 +197,8 @@ class Tweet(Message):
def quoted_mentions(self):
if self.data.quoted_status:
- m = [(u.screen_name, u._json['indices']) for u in self.data.quoted_status.user_mentions]
+ m = [(u.screen_name, u._json['indices'])
+ for u in self.data.quoted_status.user_mentions]
return m
@@ -246,12 +249,14 @@ class Tweet(Message):
content = re.sub(r'https://twitter.com/.*$', '', content)
quoted_text = self.data.quoted_status.full_text
- quoted_text = self.expand_handles(quoted_text, self.quoted_mentions)
+ quoted_text = self.expand_handles(quoted_text,
+ self.quoted_mentions)
quoted_text = html.unescape(quoted_text)
for url in self.data.quoted_status.urls:
# Unshorten URLs
- quoted_text = re.sub(url.url, url.expanded_url, quoted_text)
+ quoted_text = re.sub(url.url, url.expanded_url,
+ quoted_text)
else:
content = self.data.full_text
@@ -271,6 +276,8 @@ class Tweet(Message):
content = re.sub(url.url, url.expanded_url, content)
if self.is_retweet:
+ self.__content = f"RT @{self.data.retweeted_status.user.screen_name}{HANDLE_SUFFIX}\n{self.url}"
+ return self.__content
if len(content) > 0:
content = f"RT @{self.data.retweeted_status.user.screen_name}{HANDLE_SUFFIX}\n{content}"
else:
@@ -366,13 +373,16 @@ class Tweet(Message):
except (ConnectionError, NewConnectionError) as e:
logger.error(f"{e}")
attachment_url = None
- raise MoaMediaUploadException("Connection Error fetching attachments")
+ raise MoaMediaUploadException(
+ "Connection Error fetching attachments")
else:
attachment_url = attachment.media_url
if attachment_url:
- attachments.append({'url': attachment_url,
- 'description': attachment.ext_alt_text})
+ attachments.append({
+ 'url': attachment_url,
+ 'description': attachment.ext_alt_text
+ })
return attachments
diff --git a/moa/worker.py b/moa/worker.py diff --git a/moa/worker.py b/moa/worker.py
index 733cb48..9c89934 100644 index 733cb48..9c89934 100644
--- a/moa/worker.py --- a/moa/worker.py