Lines Matching full:self
74 def get(self, name):
75 self.zipfilenames = zip_files
76 self.TrueGet(name)
100 def TrueGet(self, reqUri):
124 langName = self.request.cookies['android_developer_pref_lang']
133 name = self.PreprocessUrl(reqUri, langName)
142 isValidIntl = sections[1] in self.validLangs
159 if self.isCleanUrl(name, langName, isValidIntl, isStripped):
163 if not self.CreateResponse(name, langName, isValidIntl, resetLangCookie):
168 self.CreateResponse(contentUri, langName, False, resetLangCookie)
176 self.CreateResponse(name, langName, isValidIntl, resetLangCookie)
184 self.RedirToIntl(name, self.intlString, langName)
186 def isCleanUrl(self, name, langName, isValidIntl, isStripped):
199 def PreprocessUrl(self, name, langName):
226 self.redirect(uri, False)
231 def RedirToIntl(self, name, intlString, langName):
246 builtIntlLangUri = ''.join([intlString, langName, '/', name, '?', self.request.query_string])
251 self.redirect(uri, False)
254 def CreateResponse(self, name, langName, isValidIntl, resetLangCookie):
286 resp_data = self.GetFromCache(name)
289 resp_data = self.GetFromNegativeCache(name)
291 resp_data = self.GetFromStore(name)
296 self.StoreOrUpdateInCache(name, resp_data)
303 self.StoreInNegativeCache(name)
304 self.Write404Error()
308 self.Write404Error()
317 self.response.headers.add_header('Set-Cookie',
326 self.response.headers.add_header('Vary', 'Cookie')
329 self.response.headers['Content-Type'] = content_type
330 self.SetCachingHeaders(mustRevalidate)
331 self.response.out.write(resp_data)
333 self.response.headers['Content-Type'] = 'image/x-icon'
334 self.SetCachingHeaders(mustRevalidate)
335 self.response.out.write(resp_data)
337 self.response.headers['Content-Type'] = 'application/octet-stream'
338 self.SetCachingHeaders(mustRevalidate)
339 self.response.out.write(resp_data)
342 def GetFromStore(self, file_path):
358 file_itr = iter(self.zipfilenames)
361 archive_name = self.MapFileToArchive(file_path)
366 zip_archive = self.LoadZipFile(archive_name)
386 def LoadZipFile(self, zipfilename):
401 zip_archive = self.zipfile_cache.get(zipfilename)
405 self.zipfile_cache[zipfilename] = zip_archive
411 def MapFileToArchive(self, file_path):
428 num_archives = len(self.zipfilenames)
430 target = self.zipfilenames[num_archives - 1]
432 if self.CompareFilenames(target[1], file_path) >= 0:
438 def CompareFilenames(self, file1, file2):
498 def SetCachingHeaders(self, revalidate):
500 max_age = self.MAX_AGE
501 #self.response.headers['Expires'] = email.Utils.formatdate(
504 if self.PUBLIC:
509 self.response.headers['Cache-Control'] = ', '.join(cache_control)
511 def GetFromCache(self, filename):
520 return memcache.get('%s%s' % (self.CACHE_PREFIX, filename))
522 def StoreOrUpdateInCache(self, filename, data):
537 if not memcache.add('%s%s' % (self.CACHE_PREFIX, filename), data):
538 memcache.replace('%s%s' % (self.CACHE_PREFIX, filename), data)
542 def Write404Error(self):
544 self.error(404)
545 self.response.out.write(
550 def StoreInNegativeCache(self, filename):
562 memcache.add('%s%s' % (self.NEG_CACHE_PREFIX, filename), -1)
564 def GetFromNegativeCache(self, filename):
573 return memcache.get('%s%s' % (self.NEG_CACHE_PREFIX, filename))