245 """Trim string 's' to at most 'width' columns (including 'ellipsis'). |
245 """Trim string 's' to at most 'width' columns (including 'ellipsis'). |
246 |
246 |
247 If 'leftside' is True, left side of string 's' is trimmed. |
247 If 'leftside' is True, left side of string 's' is trimmed. |
248 'ellipsis' is always placed at trimmed side. |
248 'ellipsis' is always placed at trimmed side. |
249 |
249 |
|
250 >>> from .node import bin |
250 >>> ellipsis = b'+++' |
251 >>> ellipsis = b'+++' |
251 >>> from . import encoding |
252 >>> from . import encoding |
252 >>> encoding.encoding = b'utf-8' |
253 >>> encoding.encoding = b'utf-8' |
253 >>> t = b'1234567890' |
254 >>> t = b'1234567890' |
254 >>> print trim(t, 12, ellipsis=ellipsis) |
255 >>> print trim(t, 12, ellipsis=ellipsis) |
283 \xe3\x81\x88\xe3\x81\x8a |
284 \xe3\x81\x88\xe3\x81\x8a |
284 >>> print trim(t, 4, ellipsis=ellipsis) |
285 >>> print trim(t, 4, ellipsis=ellipsis) |
285 +++ |
286 +++ |
286 >>> print trim(t, 4, ellipsis=ellipsis, leftside=True) |
287 >>> print trim(t, 4, ellipsis=ellipsis, leftside=True) |
287 +++ |
288 +++ |
288 >>> t = b'\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa' # invalid byte sequence |
289 >>> t = bin(b'112233445566778899aa') # invalid byte sequence |
289 >>> print trim(t, 12, ellipsis=ellipsis) |
290 >>> print trim(t, 12, ellipsis=ellipsis) |
290 \x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa |
291 \x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa |
291 >>> print trim(t, 10, ellipsis=ellipsis) |
292 >>> print trim(t, 10, ellipsis=ellipsis) |
292 \x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa |
293 \x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa |
293 >>> print trim(t, 8, ellipsis=ellipsis) |
294 >>> print trim(t, 8, ellipsis=ellipsis) |