[Checkins] SVN: grokui.admin/branches/baseplugin-0.6/ Using now the grokui.base plugin info addon.

Souheil CHELFOUH souheil at chelfouh.com
Fri Feb 26 08:26:25 EST 2010


Log message for revision 109464:
  Using now the grokui.base plugin info addon.
  

Changed:
  U   grokui.admin/branches/baseplugin-0.6/buildout.cfg
  A   grokui.admin/branches/baseplugin-0.6/src/grokui/admin/info.py
  U   grokui.admin/branches/baseplugin-0.6/src/grokui/admin/tests/infoviews.py
  U   grokui.admin/branches/baseplugin-0.6/src/grokui/admin/views.py

-=-
Modified: grokui.admin/branches/baseplugin-0.6/buildout.cfg
===================================================================
--- grokui.admin/branches/baseplugin-0.6/buildout.cfg	2010-02-26 13:23:08 UTC (rev 109463)
+++ grokui.admin/branches/baseplugin-0.6/buildout.cfg	2010-02-26 13:26:24 UTC (rev 109464)
@@ -1,14 +1,19 @@
 [buildout]
 develop = .
-parts = test data zopectl app 
-find-links = http://download.zope.org/distribution/
-extends = http://svn.zope.org/*checkout*/groktoolkit/trunk/grok.cfg
+parts = test data zopectl app svn
+extends = http://grok.zope.org/releaseinfo/grok-1.1rc1.cfg
 versions = versions
 
 [data]
 recipe = zc.recipe.filestorage
 
+[svn]
+recipe = infrae.subversion
+as_eggs = True
+urls = svn+ssh://svn.zope.org/repos/main/grokui.base/branches/plugin-info grokui.base
+
 [versions]
+grokui.base = 0.2dev
 grokui.admin = 
 
 [app]

Added: grokui.admin/branches/baseplugin-0.6/src/grokui/admin/info.py
===================================================================
--- grokui.admin/branches/baseplugin-0.6/src/grokui/admin/info.py	                        (rev 0)
+++ grokui.admin/branches/baseplugin-0.6/src/grokui/admin/info.py	2010-02-26 13:26:24 UTC (rev 109464)
@@ -0,0 +1,62 @@
+# -*- coding: utf-8 -*-
+
+import grok
+from grokui.base import BasePluginInfo
+from grokui.admin import utilities
+from grokui.admin.security import MSG_DISABLED
+from grokui.admin.interfaces import ISecurityNotifier
+from zope.component import queryUtility
+
+
+class AdminInfo(BasePluginInfo):
+    grok.name('admin')
+
+    title = u'Applications manager'
+    description = (u'This module allows you to create and'
+                   u' manage your Grok applications.')
+
+    @property
+    def version(self):
+        return self.getVersion('grokui.admin')
+
+    def getVersion(self, pkg='grok'):
+        return u'%s %s' % (pkg, utilities.getVersion(pkg))
+
+    def getSecurityNotes(self):
+        notifier = queryUtility(ISecurityNotifier, default=None)
+        if notifier is not None:
+            return notifier.getNotification()
+        return MSG_DISABLED
+
+
+class Version(grok.View):
+    """Display version of a package.
+
+    Call this view via http://localhost:8080/@@admin/@@version to
+    get the used grok version. Call
+    http://localhost:8080/++grokui++/++info++admin++/version?pkg=<pkgname>
+    or http://localhost:8080/++grokui++/++info++admin++/version/<pkgname>
+    to get the used version of package <pkgname>.
+    """
+    grok.context(AdminInfo)
+    grok.require('grok.ManageApplications')
+
+    def publishTraverse(self, request, name):
+        self.request.form['pkg'] = name
+        return self
+
+    def render(self, pkg='grok'):
+        return self.context.getVersion(pkg)
+
+
+class SecurityNotes(grok.View):
+    """Display current security notification.
+
+    Call this view via http://localhost:8080/++grokui++/@@admin/@@secnote
+    """
+    grok.name('secnote')
+    grok.context(AdminInfo)
+    grok.require('grok.ManageApplications')
+
+    def render(self):
+        return self.context.getSecurityNotes()

Modified: grokui.admin/branches/baseplugin-0.6/src/grokui/admin/tests/infoviews.py
===================================================================
--- grokui.admin/branches/baseplugin-0.6/src/grokui/admin/tests/infoviews.py	2010-02-26 13:23:08 UTC (rev 109463)
+++ grokui.admin/branches/baseplugin-0.6/src/grokui/admin/tests/infoviews.py	2010-02-26 13:26:24 UTC (rev 109464)
@@ -16,7 +16,7 @@
 
 We must be authenticated to fetch those infos::
 
-  >>> browser.open('http://localhost/++grokui++/@@admin/@@version')
+  >>> browser.open('http://localhost/++grokui++/++info++admin/version')
   Traceback (most recent call last):
   ...
   HTTPError: HTTP Error 401: Unauthorized
@@ -27,7 +27,7 @@
 When we are authenticated, we can retrieve the grok version used::
 
   >>> browser.addHeader('Authorization', 'Basic mgr:mgrpw')
-  >>> browser.open('http://localhost/++grokui++/@@admin/@@version')
+  >>> browser.open('http://localhost/++grokui++/++info++admin/version')
   >>> print browser.contents
   grok ...
 
@@ -51,7 +51,7 @@
 
   >>> import pkg_resources
   >>> browser.open(
-  ...   'http://localhost/++grokui++/@@admin/@@version?pkg=grokui.admin')
+  ...   'http://localhost/++grokui++/++info++admin/version/grokui.admin')
   >>> version = pkg_resources.get_distribution('grokui.admin').version
   >>> browser.contents == ('grokui.admin ' + version)
   True
@@ -62,7 +62,7 @@
 
 We can get the current security notification::
 
-  >>> browser.open('http://localhost/++grokui++/@@admin/@@secnote')
+  >>> browser.open('http://localhost/++grokui++/++info++admin/secnote')
   >>> print browser.contents
   Security notifications are disabled.
 

Modified: grokui.admin/branches/baseplugin-0.6/src/grokui/admin/views.py
===================================================================
--- grokui.admin/branches/baseplugin-0.6/src/grokui/admin/views.py	2010-02-26 13:23:08 UTC (rev 109463)
+++ grokui.admin/branches/baseplugin-0.6/src/grokui/admin/views.py	2010-02-26 13:26:24 UTC (rev 109464)
@@ -4,12 +4,10 @@
 import grok
 from BTrees.OOBTree import OOBTree
 from grokui.base import IGrokUIRealm
-from grokui.admin.interfaces import ISecurityNotifier
-from grokui.admin.utilities import getVersion, getURLWithParams
-from grokui.admin.security import MSG_DISABLED
+from grokui.admin.utilities import getURLWithParams
 from megrok.layout import Page
 from zope.exceptions import DuplicationError
-from zope.component import getUtility, queryUtility
+from zope.component import getUtility
 
 grok.context(IGrokUIRealm)
 grok.templatedir("templates")
@@ -19,47 +17,6 @@
     grok.name('grok.ManageApplications')
 
 
-class GrokAdminInfoView(grok.View):
-    """A base to provide machinereadable views.
-    """
-    grok.name('admin')
-    grok.require('grok.ManageApplications')
-
-    def render(self):
-        return u'go to @@version or @@secnotes'
-
-
-class GrokAdminVersion(grok.View):
-    """Display version of a package.
-
-    Call this view via http://localhost:8080/@@admin/@@version to
-    get the used grok version. Call
-    http://localhost:8080/++grokui++/@@admin/@@version?pkg=<pkgname>
-    to get the used version of package <pkgname>.
-    """
-    grok.name('version')
-    grok.context(GrokAdminInfoView)
-    grok.require('grok.ManageApplications')
-
-    def render(self, pkg='grok'):
-        return u'%s %s' % (pkg, getVersion(pkg))
-
-
-class GrokAdminSecurityNotes(grok.View):
-    """Display current security notification.
-
-    Call this view via http://localhost:8080/++grokui++/@@admin/@@secnote
-    """
-    grok.name('secnote')
-    grok.context(GrokAdminInfoView)
-    grok.require('grok.ManageApplications')
-
-    def render(self):
-        notifier = queryUtility(ISecurityNotifier, default=None)
-        return (notifier is not None and notifier.getNotification()
-                or MSG_DISABLED)
-
-
 class Add(grok.View):
     """Add an application.
     """
@@ -151,7 +108,6 @@
     grok.template('rename')
     grok.require('grok.ManageApplications')
 
-
     def update(self, cancel=None, items=None, new_names=None):
 
         if cancel is not None or not items:



More information about the checkins mailing list