def fetchMessage(self): """Possibly fetch security notfications from grok.zope.org. """ if self.enabled is False: # Safety belt. return version = getVersion("grok") filename = "grok-%s.security.txt" % version url = urlparse.urljoin(self.lookup_url, filename) # We create a HTTP handler with a timeout. http_handler = TimeoutableHTTPHandler(timeout=self.lookup_timeout) opener = urllib2.build_opener(http_handler) req = urllib2.Request(url) try: message = opener.open(req).read() self._message = cgi.escape(message) self._warningstate = True except (urllib2.HTTPError, OSError), e: if (getattr(e, "code", None) == 404) or (getattr(e, "errno", None) == 2): # No security warning found, good message. self._message = u"" self._warningstate = False
def render(self, pkg='grok'): return u'%s %s' % (pkg, getVersion(pkg))
def grokuiadmin_version(self): return getVersion('grokui.admin')
def grok_version(self): return getVersion('grok')