[tor-commits] [arm/release] fix: miscropping strings breaking on first word
atagar at torproject.org
atagar at torproject.org
Sun Jul 17 06:08:26 UTC 2011
commit e6b64e48e67a5590a4069510f7f53bb28c11ed7d
Author: Damian Johnson <atagar at torproject.org>
Date: Fri Jun 17 19:29:36 2011 -0700
fix: miscropping strings breaking on first word
When cropping strings where we'd be splitting the first word only the last
character would be dropped. For instance...
>>> uiTools.cropStr("CookieAuthFileGroupReadable", 8)
'CookieAuthFileGroupReadabl...'
rather than...
>>> uiTools.cropStr("CookieAuthFileGroupReadable", 8)
'Cooki...'
---
src/util/uiTools.py | 21 +++++++++++++++------
1 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/src/util/uiTools.py b/src/util/uiTools.py
index 5204960..1b32caa 100644
--- a/src/util/uiTools.py
+++ b/src/util/uiTools.py
@@ -242,13 +242,22 @@ def cropStr(msg, size, minWordLen = 4, minCrop = 0, endType = Ending.ELLIPSE, ge
# checks if there isn't the minimum space needed to include anything
lastWordbreak = msg.rfind(" ", 0, size + 1)
- lastWordbreak = len(msg[:lastWordbreak].rstrip()) # drops extra ending whitespaces
- if (minWordLen != None and size < minWordLen) or (minWordLen == None and lastWordbreak < 1):
- if getRemainder: return ("", msg)
- else: return ""
- if minWordLen == None: minWordLen = sys.maxint
- includeCrop = size - lastWordbreak - 1 >= minWordLen
+ if lastWordbreak == -1:
+ # we're splitting the first word
+ if minWordLen == None or size < minWordLen:
+ if getRemainder: return ("", msg)
+ else: return ""
+
+ includeCrop = True
+ else:
+ lastWordbreak = len(msg[:lastWordbreak].rstrip()) # drops extra ending whitespaces
+ if (minWordLen != None and size < minWordLen) or (minWordLen == None and lastWordbreak < 1):
+ if getRemainder: return ("", msg)
+ else: return ""
+
+ if minWordLen == None: minWordLen = sys.maxint
+ includeCrop = size - lastWordbreak - 1 >= minWordLen
# if there's a max crop size then make sure we're cropping at least that many characters
if includeCrop and minCrop:
More information about the tor-commits
mailing list