From 29558dabb1e3b6f412ce4a56403c8f677f1530b2 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Fri, 13 Dec 2019 12:41:26 +0000 Subject: [PATCH] Handle single long lines with no spaces --- content.py | 10 ++++++++++ tests.py | 3 +++ 2 files changed, 13 insertions(+) diff --git a/content.py b/content.py index 8d54edf38..a192efc7b 100644 --- a/content.py +++ b/content.py @@ -241,6 +241,16 @@ def addMention(wordStr: str,httpPrefix: str,following: str,replaceMentions: {},r def removeLongWords(content: str,maxWordLength: int,longWordsList: []) -> str: """Breaks up long words so that on mobile screens this doesn't disrupt the layout """ + if ' ' not in content: + # handle a single very long string with no spaces + contentStr=content.replace('

','').replace('<\p>','') + if '://' not in contentStr: + if len(contentStr)>maxWordLength: + if '

' in content: + content='

'+contentStr[:maxWordLength]+'<\p>' + else: + content=content[:maxWordLength] + return content words=content.split(' ') if not longWordsList: longWordsList=[] diff --git a/tests.py b/tests.py index 042c71fcf..73272b8ed 100644 --- a/tests.py +++ b/tests.py @@ -1566,6 +1566,9 @@ def testWebLinks(): exampleText='

1. HAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAH

' resultText=removeLongWords(exampleText,40,[]) assert resultText=='

1. HAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHA

' + exampleText='

ABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABCABC

' + resultText=removeLongWords(exampleText,40,[]) + assert resultText=='

ABCABCABCABCABCABCABCABCABCABCABCABCABCA<\p>' def testAddEmoji(): print('testAddEmoji')