comparison mercurial/statichttprepo.py @ 41407:6e9bebb65ce7

statichttprepo: use str to appease Python 3 The URL fed into urllib and HTTP headers need to be str on Python 3. Differential Revision: https://phab.mercurial-scm.org/D5716
author Gregory Szorc <gregory.szorc@gmail.com>
date Sat, 26 Jan 2019 10:57:17 -0800
parents 2bf689b13a17
children 328ca3b9e545
comparison
equal deleted inserted replaced
41406:2bf689b13a17 41407:6e9bebb65ce7
17 error, 17 error,
18 localrepo, 18 localrepo,
19 manifest, 19 manifest,
20 namespaces, 20 namespaces,
21 pathutil, 21 pathutil,
22 pycompat,
22 url, 23 url,
23 util, 24 util,
24 vfs as vfsmod, 25 vfs as vfsmod,
25 ) 26 )
26 27
42 self.close() 43 self.close()
43 44
44 def seek(self, pos): 45 def seek(self, pos):
45 self.pos = pos 46 self.pos = pos
46 def read(self, bytes=None): 47 def read(self, bytes=None):
47 req = urlreq.request(self.url) 48 req = urlreq.request(pycompat.strurl(self.url))
48 end = '' 49 end = ''
49 if bytes: 50 if bytes:
50 end = self.pos + bytes - 1 51 end = self.pos + bytes - 1
51 if self.pos or end: 52 if self.pos or end:
52 req.add_header('Range', 'bytes=%d-%s' % (self.pos, end)) 53 req.add_header(r'Range', r'bytes=%d-%s' % (self.pos, end))
53 54
54 try: 55 try:
55 f = self.opener.open(req) 56 f = self.opener.open(req)
56 data = f.read() 57 data = f.read()
57 code = f.code 58 code = f.code