示例#1
0
 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
示例#2
0
 def render(self, pkg='grok'):
     return u'%s %s' % (pkg, getVersion(pkg))
示例#3
0
 def grokuiadmin_version(self):
     return getVersion('grokui.admin')
示例#4
0
 def grok_version(self):
     return getVersion('grok')