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 >>> from .node import bin |
|
251 >>> def bprint(s): |
|
252 ... print(pycompat.sysstr(s)) |
251 >>> ellipsis = b'+++' |
253 >>> ellipsis = b'+++' |
252 >>> from . import encoding |
254 >>> from . import encoding |
253 >>> encoding.encoding = b'utf-8' |
255 >>> encoding.encoding = b'utf-8' |
254 >>> t = b'1234567890' |
256 >>> t = b'1234567890' |
255 >>> print trim(t, 12, ellipsis=ellipsis) |
257 >>> bprint(trim(t, 12, ellipsis=ellipsis)) |
256 1234567890 |
258 1234567890 |
257 >>> print trim(t, 10, ellipsis=ellipsis) |
259 >>> bprint(trim(t, 10, ellipsis=ellipsis)) |
258 1234567890 |
260 1234567890 |
259 >>> print trim(t, 8, ellipsis=ellipsis) |
261 >>> bprint(trim(t, 8, ellipsis=ellipsis)) |
260 12345+++ |
262 12345+++ |
261 >>> print trim(t, 8, ellipsis=ellipsis, leftside=True) |
263 >>> bprint(trim(t, 8, ellipsis=ellipsis, leftside=True)) |
262 +++67890 |
264 +++67890 |
263 >>> print trim(t, 8) |
265 >>> bprint(trim(t, 8)) |
264 12345678 |
266 12345678 |
265 >>> print trim(t, 8, leftside=True) |
267 >>> bprint(trim(t, 8, leftside=True)) |
266 34567890 |
268 34567890 |
267 >>> print trim(t, 3, ellipsis=ellipsis) |
269 >>> bprint(trim(t, 3, ellipsis=ellipsis)) |
268 +++ |
270 +++ |
269 >>> print trim(t, 1, ellipsis=ellipsis) |
271 >>> bprint(trim(t, 1, ellipsis=ellipsis)) |
270 + |
272 + |
271 >>> u = u'\u3042\u3044\u3046\u3048\u304a' # 2 x 5 = 10 columns |
273 >>> u = u'\u3042\u3044\u3046\u3048\u304a' # 2 x 5 = 10 columns |
272 >>> t = u.encode(pycompat.sysstr(encoding.encoding)) |
274 >>> t = u.encode(pycompat.sysstr(encoding.encoding)) |
273 >>> print trim(t, 12, ellipsis=ellipsis) |
275 >>> bprint(trim(t, 12, ellipsis=ellipsis)) |
274 \xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a |
276 \xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a |
275 >>> print trim(t, 10, ellipsis=ellipsis) |
277 >>> bprint(trim(t, 10, ellipsis=ellipsis)) |
276 \xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a |
278 \xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a |
277 >>> print trim(t, 8, ellipsis=ellipsis) |
279 >>> bprint(trim(t, 8, ellipsis=ellipsis)) |
278 \xe3\x81\x82\xe3\x81\x84+++ |
280 \xe3\x81\x82\xe3\x81\x84+++ |
279 >>> print trim(t, 8, ellipsis=ellipsis, leftside=True) |
281 >>> bprint(trim(t, 8, ellipsis=ellipsis, leftside=True)) |
280 +++\xe3\x81\x88\xe3\x81\x8a |
282 +++\xe3\x81\x88\xe3\x81\x8a |
281 >>> print trim(t, 5) |
283 >>> bprint(trim(t, 5)) |
282 \xe3\x81\x82\xe3\x81\x84 |
284 \xe3\x81\x82\xe3\x81\x84 |
283 >>> print trim(t, 5, leftside=True) |
285 >>> bprint(trim(t, 5, leftside=True)) |
284 \xe3\x81\x88\xe3\x81\x8a |
286 \xe3\x81\x88\xe3\x81\x8a |
285 >>> print trim(t, 4, ellipsis=ellipsis) |
287 >>> bprint(trim(t, 4, ellipsis=ellipsis)) |
286 +++ |
288 +++ |
287 >>> print trim(t, 4, ellipsis=ellipsis, leftside=True) |
289 >>> bprint(trim(t, 4, ellipsis=ellipsis, leftside=True)) |
288 +++ |
290 +++ |
289 >>> t = bin(b'112233445566778899aa') # invalid byte sequence |
291 >>> t = bin(b'112233445566778899aa') # invalid byte sequence |
290 >>> print trim(t, 12, ellipsis=ellipsis) |
292 >>> bprint(trim(t, 12, ellipsis=ellipsis)) |
291 \x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa |
293 \x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa |
292 >>> print trim(t, 10, ellipsis=ellipsis) |
294 >>> bprint(trim(t, 10, ellipsis=ellipsis)) |
293 \x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa |
295 \x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa |
294 >>> print trim(t, 8, ellipsis=ellipsis) |
296 >>> bprint(trim(t, 8, ellipsis=ellipsis)) |
295 \x11\x22\x33\x44\x55+++ |
297 \x11\x22\x33\x44\x55+++ |
296 >>> print trim(t, 8, ellipsis=ellipsis, leftside=True) |
298 >>> bprint(trim(t, 8, ellipsis=ellipsis, leftside=True)) |
297 +++\x66\x77\x88\x99\xaa |
299 +++\x66\x77\x88\x99\xaa |
298 >>> print trim(t, 8) |
300 >>> bprint(trim(t, 8)) |
299 \x11\x22\x33\x44\x55\x66\x77\x88 |
301 \x11\x22\x33\x44\x55\x66\x77\x88 |
300 >>> print trim(t, 8, leftside=True) |
302 >>> bprint(trim(t, 8, leftside=True)) |
301 \x33\x44\x55\x66\x77\x88\x99\xaa |
303 \x33\x44\x55\x66\x77\x88\x99\xaa |
302 >>> print trim(t, 3, ellipsis=ellipsis) |
304 >>> bprint(trim(t, 3, ellipsis=ellipsis)) |
303 +++ |
305 +++ |
304 >>> print trim(t, 1, ellipsis=ellipsis) |
306 >>> bprint(trim(t, 1, ellipsis=ellipsis)) |
305 + |
307 + |
306 """ |
308 """ |
307 try: |
309 try: |
308 u = s.decode(_sysstr(encoding)) |
310 u = s.decode(_sysstr(encoding)) |
309 except UnicodeDecodeError: |
311 except UnicodeDecodeError: |