HI !
For what it's worth, Specto actually already uses this, I *think*. In the 0.2.2
series, if you look at the code in watch_web_static.py, you can see in lines
109-121:
if (self.cached == 1) or (os.path.exists(self.cacheFullPath_)):
self.cached = 1
f = file(self.cacheFullPath_, "r")# Load up the cached version
self.infoB_ = HTTPMessage(f)
if self.infoB_.has_key('last-modified'):
request.add_header("If-Modified-Since",
self.infoB_['last-modified'])
if self.infoB_.has_key('ETag'):
request.add_header("If-None-Match", self.infoB_['ETag'])
try:
response = urllib2.urlopen(request)
except (urllib2.URLError, BadStatusLine), e:
self.error = True
self.specto.logger.log(_("Watch: \"%s\" has error: ") % self.name +
str(e), "error", self.__class__)
However,
- the code might not be elegant
- the code/logic might be wrong (after all, I took a long time doing it and I'm
not sure I did it properly)
I don't know if that is conforming to your suggestions, or if you meant that
- some piece is missing?
- something is not working properly?
Also, I think the etag headers may not work properly with websites that
use advertising/dynamic content, so, if I remember correctly my own
code, the "error margin" (difference percentage based on file sizes)
would override it.
--
Web monitor should use modified headers
https://bugs.launchpad.net/bugs/202243
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs