mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 23:21:29 +00:00 
			
		
		
		
	More str/bytes fixes.
This commit is contained in:
		
							parent
							
								
									e22905a06c
								
							
						
					
					
						commit
						26d95c3d07
					
				
					 3 changed files with 12 additions and 12 deletions
				
			
		| 
						 | 
					@ -843,7 +843,7 @@ def marker(self):
 | 
				
			||||||
    def load_proto(self):
 | 
					    def load_proto(self):
 | 
				
			||||||
        proto = ord(self.read(1))
 | 
					        proto = ord(self.read(1))
 | 
				
			||||||
        if not 0 <= proto <= 2:
 | 
					        if not 0 <= proto <= 2:
 | 
				
			||||||
            raise ValueError, "unsupported pickle protocol: %d" % proto
 | 
					            raise ValueError("unsupported pickle protocol: %d" % proto)
 | 
				
			||||||
    dispatch[PROTO[0]] = load_proto
 | 
					    dispatch[PROTO[0]] = load_proto
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def load_persid(self):
 | 
					    def load_persid(self):
 | 
				
			||||||
| 
						 | 
					@ -920,14 +920,14 @@ def load_binfloat(self, unpack=struct.unpack):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def load_string(self):
 | 
					    def load_string(self):
 | 
				
			||||||
        rep = self.readline()[:-1]
 | 
					        rep = self.readline()[:-1]
 | 
				
			||||||
        for q in "\"'": # double or single quote
 | 
					        for q in (b'"', b"'"): # double or single quote
 | 
				
			||||||
            if rep.startswith(q):
 | 
					            if rep.startswith(q):
 | 
				
			||||||
                if not rep.endswith(q):
 | 
					                if not rep.endswith(q):
 | 
				
			||||||
                    raise ValueError, "insecure string pickle"
 | 
					                    raise ValueError("insecure string pickle")
 | 
				
			||||||
                rep = rep[len(q):-len(q)]
 | 
					                rep = rep[len(q):-len(q)]
 | 
				
			||||||
                break
 | 
					                break
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            raise ValueError, "insecure string pickle"
 | 
					            raise ValueError("insecure string pickle")
 | 
				
			||||||
        self.append(str(codecs.escape_decode(rep)[0], "latin-1"))
 | 
					        self.append(str(codecs.escape_decode(rep)[0], "latin-1"))
 | 
				
			||||||
    dispatch[STRING[0]] = load_string
 | 
					    dispatch[STRING[0]] = load_string
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1014,8 +1014,8 @@ def _instantiate(self, klass, k):
 | 
				
			||||||
            try:
 | 
					            try:
 | 
				
			||||||
                value = klass(*args)
 | 
					                value = klass(*args)
 | 
				
			||||||
            except TypeError as err:
 | 
					            except TypeError as err:
 | 
				
			||||||
                raise TypeError, "in constructor for %s: %s" % (
 | 
					                raise TypeError("in constructor for %s: %s" %
 | 
				
			||||||
                    klass.__name__, str(err)), sys.exc_info()[2]
 | 
					                                (klass.__name__, str(err)), sys.exc_info()[2])
 | 
				
			||||||
        self.append(value)
 | 
					        self.append(value)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def load_inst(self):
 | 
					    def load_inst(self):
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -291,12 +291,12 @@ def read_stringnl(f, decode=True, stripquotes=True):
 | 
				
			||||||
    """
 | 
					    """
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    data = f.readline()
 | 
					    data = f.readline()
 | 
				
			||||||
    if not data.endswith('\n'):
 | 
					    if not data.endswith(b'\n'):
 | 
				
			||||||
        raise ValueError("no newline found when trying to read stringnl")
 | 
					        raise ValueError("no newline found when trying to read stringnl")
 | 
				
			||||||
    data = data[:-1]    # lose the newline
 | 
					    data = data[:-1]    # lose the newline
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if stripquotes:
 | 
					    if stripquotes:
 | 
				
			||||||
        for q in "'\"":
 | 
					        for q in (b'"', b"'"):
 | 
				
			||||||
            if data.startswith(q):
 | 
					            if data.startswith(q):
 | 
				
			||||||
                if not data.endswith(q):
 | 
					                if not data.endswith(q):
 | 
				
			||||||
                    raise ValueError("strinq quote %r not found at both "
 | 
					                    raise ValueError("strinq quote %r not found at both "
 | 
				
			||||||
| 
						 | 
					@ -427,7 +427,7 @@ def read_unicodestringnl(f):
 | 
				
			||||||
    """
 | 
					    """
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    data = f.readline()
 | 
					    data = f.readline()
 | 
				
			||||||
    if not data.endswith('\n'):
 | 
					    if not data.endswith(b'\n'):
 | 
				
			||||||
        raise ValueError("no newline found when trying to read "
 | 
					        raise ValueError("no newline found when trying to read "
 | 
				
			||||||
                         "unicodestringnl")
 | 
					                         "unicodestringnl")
 | 
				
			||||||
    data = data[:-1]    # lose the newline
 | 
					    data = data[:-1]    # lose the newline
 | 
				
			||||||
| 
						 | 
					@ -497,7 +497,7 @@ def read_decimalnl_short(f):
 | 
				
			||||||
    """
 | 
					    """
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    s = read_stringnl(f, decode=False, stripquotes=False)
 | 
					    s = read_stringnl(f, decode=False, stripquotes=False)
 | 
				
			||||||
    if s.endswith("L"):
 | 
					    if s.endswith(b"L"):
 | 
				
			||||||
        raise ValueError("trailing 'L' not allowed in %r" % s)
 | 
					        raise ValueError("trailing 'L' not allowed in %r" % s)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # It's not necessarily true that the result fits in a Python short int:
 | 
					    # It's not necessarily true that the result fits in a Python short int:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -60,7 +60,7 @@ def test_tmpfile(self):
 | 
				
			||||||
        if not hasattr(os, "tmpfile"):
 | 
					        if not hasattr(os, "tmpfile"):
 | 
				
			||||||
            return
 | 
					            return
 | 
				
			||||||
        fp = os.tmpfile()
 | 
					        fp = os.tmpfile()
 | 
				
			||||||
        fp.write("foobar")
 | 
					        fp.write(b"foobar")
 | 
				
			||||||
        fp.seek(0)
 | 
					        fp.seek(0)
 | 
				
			||||||
        s = fp.read()
 | 
					        s = fp.read()
 | 
				
			||||||
        fp.close()
 | 
					        fp.close()
 | 
				
			||||||
| 
						 | 
					@ -100,7 +100,7 @@ def setUp(self):
 | 
				
			||||||
        os.mkdir(test_support.TESTFN)
 | 
					        os.mkdir(test_support.TESTFN)
 | 
				
			||||||
        self.fname = os.path.join(test_support.TESTFN, "f1")
 | 
					        self.fname = os.path.join(test_support.TESTFN, "f1")
 | 
				
			||||||
        f = open(self.fname, 'wb')
 | 
					        f = open(self.fname, 'wb')
 | 
				
			||||||
        f.write("ABC")
 | 
					        f.write(b"ABC")
 | 
				
			||||||
        f.close()
 | 
					        f.close()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def tearDown(self):
 | 
					    def tearDown(self):
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue