##// END OF EJS Templates
py3: byteify tests/wireprotosimplecache.py...
Pulkit Goyal -
r40254:b27bcf81 default
parent child Browse files
Show More
@@ -26,16 +26,16 b' CACHE = None'
26 26 configtable = {}
27 27 configitem = registrar.configitem(configtable)
28 28
29 configitem('simplecache', 'cacheapi',
29 configitem(b'simplecache', b'cacheapi',
30 30 default=False)
31 configitem('simplecache', 'cacheobjects',
31 configitem(b'simplecache', b'cacheobjects',
32 32 default=False)
33 configitem('simplecache', 'redirectsfile',
33 configitem(b'simplecache', b'redirectsfile',
34 34 default=None)
35 35
36 36 # API handler that makes cached keys available.
37 37 def handlecacherequest(rctx, req, res, checkperm, urlparts):
38 if rctx.repo.ui.configbool('simplecache', 'cacheobjects'):
38 if rctx.repo.ui.configbool(b'simplecache', b'cacheobjects'):
39 39 res.status = b'500 Internal Server Error'
40 40 res.setbodybytes(b'cacheobjects not supported for api server')
41 41 return
@@ -62,9 +62,9 b' def cachedescriptor(req, repo):'
62 62 return {}
63 63
64 64 wireprotoserver.API_HANDLERS[b'simplecache'] = {
65 'config': (b'simplecache', b'cacheapi'),
66 'handler': handlecacherequest,
67 'apidescriptor': cachedescriptor,
65 b'config': (b'simplecache', b'cacheapi'),
66 b'handler': handlecacherequest,
67 b'apidescriptor': cachedescriptor,
68 68 }
69 69
70 70 @interfaceutil.implementer(repository.iwireprotocolcommandcacher)
@@ -77,18 +77,18 b' class memorycacher(object):'
77 77 self.redirecthashes = redirecthashes
78 78 self.req = req
79 79 self.key = None
80 self.cacheobjects = ui.configbool('simplecache', 'cacheobjects')
81 self.cacheapi = ui.configbool('simplecache', 'cacheapi')
80 self.cacheobjects = ui.configbool(b'simplecache', b'cacheobjects')
81 self.cacheapi = ui.configbool(b'simplecache', b'cacheapi')
82 82 self.buffered = []
83 83
84 ui.log('simplecache', 'cacher constructed for %s\n', command)
84 ui.log(b'simplecache', b'cacher constructed for %s\n', command)
85 85
86 86 def __enter__(self):
87 87 return self
88 88
89 89 def __exit__(self, exctype, excvalue, exctb):
90 90 if exctype:
91 self.ui.log('simplecache', 'cacher exiting due to error\n')
91 self.ui.log(b'simplecache', b'cacher exiting due to error\n')
92 92
93 93 def adjustcachekeystate(self, state):
94 94 # Needed in order to make tests deterministic. Don't copy this
@@ -101,11 +101,11 b' class memorycacher(object):'
101 101
102 102 def lookup(self):
103 103 if self.key not in CACHE:
104 self.ui.log('simplecache', 'cache miss for %s\n', self.key)
104 self.ui.log(b'simplecache', b'cache miss for %s\n', self.key)
105 105 return None
106 106
107 107 entry = CACHE[self.key]
108 self.ui.log('simplecache', 'cache hit for %s\n', self.key)
108 self.ui.log(b'simplecache', b'cache hit for %s\n', self.key)
109 109
110 110 redirectable = True
111 111
@@ -130,21 +130,21 b' class memorycacher(object):'
130 130 url = b'%s/%s' % (self.req.baseurl, b'/'.join(paths))
131 131
132 132 #url = b'http://example.com/%s' % self.key
133 self.ui.log('simplecache', 'sending content redirect for %s to '
134 '%s\n', self.key, url)
133 self.ui.log(b'simplecache', b'sending content redirect for %s to '
134 b'%s\n', self.key, url)
135 135 response = wireprototypes.alternatelocationresponse(
136 136 url=url,
137 137 mediatype=b'application/mercurial-cbor')
138 138
139 return {'objs': [response]}
139 return {b'objs': [response]}
140 140
141 141 if self.cacheobjects:
142 142 return {
143 'objs': entry,
143 b'objs': entry,
144 144 }
145 145 else:
146 146 return {
147 'objs': [wireprototypes.encodedresponse(entry)],
147 b'objs': [wireprototypes.encodedresponse(entry)],
148 148 }
149 149
150 150 def onobject(self, obj):
@@ -156,7 +156,7 b' class memorycacher(object):'
156 156 yield obj
157 157
158 158 def onfinished(self):
159 self.ui.log('simplecache', 'storing cache entry for %s\n', self.key)
159 self.ui.log(b'simplecache', b'storing cache entry for %s\n', self.key)
160 160 if self.cacheobjects:
161 161 CACHE[self.key] = self.buffered
162 162 else:
@@ -170,7 +170,7 b' def makeresponsecacher(orig, repo, proto'
170 170 redirecthashes, proto._req)
171 171
172 172 def loadredirecttargets(ui):
173 path = ui.config('simplecache', 'redirectsfile')
173 path = ui.config(b'simplecache', b'redirectsfile')
174 174 if not path:
175 175 return []
176 176
@@ -187,7 +187,7 b' def extsetup(ui):'
187 187
188 188 CACHE = util.lrucachedict(10000)
189 189
190 extensions.wrapfunction(wireprotov2server, 'makeresponsecacher',
190 extensions.wrapfunction(wireprotov2server, b'makeresponsecacher',
191 191 makeresponsecacher)
192 extensions.wrapfunction(wireprotov2server, 'getadvertisedredirecttargets',
192 extensions.wrapfunction(wireprotov2server, b'getadvertisedredirecttargets',
193 193 getadvertisedredirecttargets)
General Comments 0
You need to be logged in to leave comments. Login now