Changeset 1a9ed6 in indico
- Timestamp:
- 10/04/11 15:21:26 (20 months ago)
- Branches:
- master, hello-world-walkthrough, ipv6, v0.98-series, v0.98.2, v0.98.3, v0.98b2, v0.99, 051b2622c51afb171a1dedb46a0df4fbb0cbd02e, 0da0c1403bae8e51d8229f460181c71b9e6dda72
- Children:
- cb44f7
- Parents:
- f17f3f
- File:
-
- 1 edited
-
indico/MaKaC/webinterface/rh/JSContent.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
indico/MaKaC/webinterface/rh/JSContent.py
r988cfe r1a9ed6 30 30 return hashlib.md5(str(value)).hexdigest() 31 31 32 def _checkParams( self, params ): 32 def _setHeaders(self): 33 # send out the Etag and Last-Modified headers 34 creationTime = datetime.datetime.fromtimestamp(os.path.getctime(self._htmlPath)) 35 self._req.headers_out["Etag"] = self._generateEtag(creationTime) 36 self._req.headers_out["Last-Modified"] = formatdate(time.mktime(creationTime.timetuple())) 37 self._req.content_type = "application/x-javascript" 38 39 def process( self, params ): 33 40 34 41 # Check incoming headers … … 51 58 if os.access(self._htmlPath, os.R_OK): 52 59 53 self._regenerate = False;54 55 60 # get the OS creation time 56 61 creationTime = datetime.datetime.fromtimestamp(os.path.getctime(self._htmlPath)) … … 58 63 # if the etag the same, send NOT_MODIFIED 59 64 self._req.status = apache.HTTP_NOT_MODIFIED 60 self._doProcess = False65 return 61 66 else: 62 self._regenerate = True 63 else: 64 # file needs to be regenerated 65 self._regenerate = True 67 # Read and send the file 68 fh = open(self._htmlPath, "r") 69 self._htmlData = fh.read() 70 fh.close() 71 self._setHeaders() 72 return self._htmlData 73 # file needs to be regenerated 74 return base.RH.process(self, params) 66 75 67 76 68 77 def _process( self ): 69 78 try: 70 # regenerate file if needed 71 if self._regenerate: 72 self._dict["__rh__"] = self 73 self._dict["user"] = None 79 # regenerate file is needed 80 self._dict["__rh__"] = self 81 self._dict["user"] = None 74 82 75 htmlData = templateEngine.render(self._tplFile, self._dict) 76 fh = open(self._htmlPath, "w") 77 fh.write(htmlData) 78 fh.close() 79 else: 80 # otherwise just send it to the client 81 fh = open(self._htmlPath, "r") 82 htmlData = fh.read() 83 fh.close() 83 self._htmlData = templateEngine.render(self._tplFile, self._dict) 84 fh = open(self._htmlPath, "w") 85 fh.write(self._htmlData) 86 fh.close() 84 87 85 # send out the Etag and Last-Modified headers 86 creationTime = datetime.datetime.fromtimestamp(os.path.getctime(self._htmlPath)) 87 self._req.headers_out["Etag"] = self._generateEtag(creationTime) 88 self._req.headers_out["Last-Modified"] = formatdate(time.mktime(creationTime.timetuple())) 89 self._req.content_type = "application/x-javascript" 88 self._setHeaders() 90 89 91 90 except Exception, e: 92 91 return 'indicoError: %s' % e 93 92 94 return htmlData93 return self._htmlData 95 94 96 95 class RHGetVarsJs(RHTemplateContentJS):
Note: See TracChangeset
for help on using the changeset viewer.
