Ticket #3413: jython-lazyByteSlice.diff

File jython-lazyByteSlice.diff, 1.0 KB (added by tkanerva, 14 months ago)

use PY3 implementation of lazyByteSlice for jython2.7 as well

  • twisted/python/compat.py

    diff --git a/twisted/python/compat.py b/twisted/python/compat.py
    index a8fc936..1d11353 100644
    a b else: 
    357357        return b"%d" % i 
    358358 
    359359 
    360     lazyByteSlice = buffer 
     360    if sys.platform.startswith('java'): 
     361        def lazyByteSlice(object, offset=0, size=None): 
     362            """ 
     363            Return a copy of the given bytes-like object. 
     364 
     365            If an offset is given, the copy starts at that offset. If a size 
     366            is given, the copy will only be of that length. 
     367 
     368            @param object: C{bytes} to be copied. 
     369 
     370            @param offset: C{int}, starting index of copy. 
     371 
     372            @param size: Optional, if an C{int} is given limit the length of 
     373                copy to this size. 
     374            """ 
     375            if size is None: 
     376                return object[offset:] 
     377            else: 
     378                return object[offset:(offset + size)] 
     379    else: 
     380        lazyByteSlice = buffer 
    361381 
    362382    def networkString(s): 
    363383        if not isinstance(s, str):