We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 4b60e82 commit 34aff68Copy full SHA for 34aff68
progressbar/utils.py
@@ -19,9 +19,25 @@
19
20
21
def len_color(value):
22
- '''Return the length of `value` without ANSI escape codes'''
23
- if isinstance(value, str):
24
- value = re.sub(u'\u001b\\[.*?[@-~]', '', value)
+ '''
+ Return the length of `value` without ANSI escape codes
+
25
+ >>> len_color(u'\u001b[1234]abc')
26
+ 3
27
+ >>> len_color(b'\u001b[1234]abc')
28
29
+ >>> len_color('\u001b[1234]abc')
30
31
32
+ pattern = u'\u001b\\[.*?[@-~]'
33
+ if isinstance(value, bytes):
34
+ pattern = pattern.encode()
35
+ replace = b''
36
+ assert isinstance(pattern, bytes)
37
+ else:
38
+ replace = ''
39
40
+ value = re.sub(pattern, replace, value)
41
return len(value)
42
43
0 commit comments