From c395c00a11ab273607714923f6e8914c3f9e488c Mon Sep 17 00:00:00 2001 From: Dylan Date: Fri, 5 May 2023 14:08:23 +0100 Subject: [PATCH] Fix text trimming with images and text posts --- msgs.py | 8 ++++++-- twitfix.py | 6 +++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/msgs.py b/msgs.py index b9cffdc..7203334 100644 --- a/msgs.py +++ b/msgs.py @@ -3,6 +3,7 @@ failedToScanExtra = "\n\nTwitter gave me this error: " tweetNotFound="Tweet not found." tweetSuspended="This Tweet is from a suspended account." +videoDescLimit=220 tweetDescLimit=340 def genLikesDisplay(vnf): @@ -21,6 +22,9 @@ def genPollDisplay(poll): def formatEmbedDesc(type,body,qrt,pollDisplay,likesDisplay): # Trim the embed description to 248 characters, prioritizing poll and likes + + limit = videoDescLimit if type=="" or type=="Video" else tweetDescLimit + output = "" if pollDisplay==None: pollDisplay="" @@ -40,9 +44,9 @@ def formatEmbedDesc(type,body,qrt,pollDisplay,likesDisplay): output= body+pollDisplay+likesDisplay else: output= body + likesDisplay - if len(output)>tweetDescLimit: + if len(output)>limit: # find out how many characters we need to remove - diff = len(output)-tweetDescLimit + diff = len(output)-limit # remove the characters from body, add ellipsis body = body[:-(diff+1)]+"…" return formatEmbedDesc(type,body,qrt,pollDisplay,likesDisplay) diff --git a/twitfix.py b/twitfix.py index b592fff..f5acdf3 100644 --- a/twitfix.py +++ b/twitfix.py @@ -453,7 +453,7 @@ def embed(video_link, vnf, image): image = embedVNF['images'][image] template = 'image.html' elif qrt['type'] == "Video" or qrt['type'] == "": - urlDesc = urllib.parse.quote(textwrap.shorten(desc, width=220, placeholder="...")) + urlDesc = urllib.parse.quote(desc) template = 'video.html' if vnf['type'] == "Image": @@ -466,11 +466,11 @@ def embed(video_link, vnf, image): if vnf['isGif'] == True and config['config']['gifConvertAPI'] != "" and config['config']['gifConvertAPI'] != "none": vnf['url'] = f"{config['config']['gifConvertAPI']}/convert.mp4?url={vnf['url']}" appNamePost = " - GIF" - urlDesc = urllib.parse.quote(textwrap.shorten(desc, width=220, placeholder="...")) + urlDesc = urllib.parse.quote(desc) template = 'video.html' if vnf['type'] == "": - urlDesc = urllib.parse.quote(textwrap.shorten(desc, width=220, placeholder="...")) + urlDesc = urllib.parse.quote(desc) template = 'video.html' color = "#7FFFD4" # Green