[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