[KSS-checkins] r49029 - in kukit/kss.core/branch/ree-loglevels: docs kss/core kss/core/pluginregistry/browser
reebalazs at codespeak.net
reebalazs at codespeak.net
Sat Nov 24 13:12:13 CET 2007
Author: reebalazs
Date: Sat Nov 24 13:12:12 2007
New Revision: 49029
Modified:
kukit/kss.core/branch/ree-loglevels/docs/HISTORY.txt
kukit/kss.core/branch/ree-loglevels/kss/core/ (props changed)
kukit/kss.core/branch/ree-loglevels/kss/core/EXTERNALS.TXT
kukit/kss.core/branch/ree-loglevels/kss/core/pluginregistry/browser/develui.css
kukit/kss.core/branch/ree-loglevels/kss/core/pluginregistry/browser/develui.pt
kukit/kss.core/branch/ree-loglevels/kss/core/pluginregistry/browser/develview.py
Log:
Implement loglevels based on cookies
Modified: kukit/kss.core/branch/ree-loglevels/docs/HISTORY.txt
==============================================================================
--- kukit/kss.core/branch/ree-loglevels/docs/HISTORY.txt (original)
+++ kukit/kss.core/branch/ree-loglevels/docs/HISTORY.txt Sat Nov 24 13:12:12 2007
@@ -6,6 +6,10 @@
- ...
+ - Implement loglevels based on cookies
+ Add handling of log levels to the kss mode view
+ [ree]
+
- Moved the core demos to this package from kss.demo.
They are now located under the core plugin.
[ree]
Modified: kukit/kss.core/branch/ree-loglevels/kss/core/EXTERNALS.TXT
==============================================================================
--- kukit/kss.core/branch/ree-loglevels/kss/core/EXTERNALS.TXT (original)
+++ kukit/kss.core/branch/ree-loglevels/kss/core/EXTERNALS.TXT Sat Nov 24 13:12:12 2007
@@ -5,4 +5,4 @@
# You can update your working dir by:
# svn propset svn:externals -F EXTERNALS.TXT .
#
-kukit http://codespeak.net/svn/kukit/kukit.js/trunk
+kukit http://codespeak.net/svn/kukit/kukit.js/branch/ree-loglevels
Modified: kukit/kss.core/branch/ree-loglevels/kss/core/pluginregistry/browser/develui.css
==============================================================================
--- kukit/kss.core/branch/ree-loglevels/kss/core/pluginregistry/browser/develui.css (original)
+++ kukit/kss.core/branch/ree-loglevels/kss/core/pluginregistry/browser/develui.css Sat Nov 24 13:12:12 2007
@@ -97,3 +97,7 @@
color: green;
}
+.cyan {
+ color: cyan;
+}
+
Modified: kukit/kss.core/branch/ree-loglevels/kss/core/pluginregistry/browser/develui.pt
==============================================================================
--- kukit/kss.core/branch/ree-loglevels/kss/core/pluginregistry/browser/develui.pt (original)
+++ kukit/kss.core/branch/ree-loglevels/kss/core/pluginregistry/browser/develui.pt Sat Nov 24 13:12:12 2007
@@ -54,7 +54,8 @@
</head>
<body tal:define="devel_mode python: options.get('devel_mode', view.ison());
- referer request/referer|request/HTTP_REFERER|nothing">
+ loglevel python: options.get('loglevel', view.getLogLevel());
+ referer request/referer|request/HTTP_REFERER|nothing">
<h2>Kss mode setup</h2>
@@ -93,6 +94,45 @@
</form>
+ <h2>KSS log level setup</h2>
+
+ <p tal:define="logclass python: loglevel == 'ERROR' and 'red' or loglevel == 'WARNING' and 'cyan' or ''">
+ Current KSS log level is<b>
+ <span tal:attributes="class loglevel"
+ tal:content="loglevel">DEBUG</span></b>.
+ </p>
+
+ <div class="help">
+ Logging is only effective in Development mode.
+ </div>
+
+ <h3>
+ Set KSS log level
+ </h3>
+ <form name="loglevel">
+ <div class="help">
+ Click the button to set log level.
+ </div>
+
+ <div>
+ <input type="hidden" name="referer"
+ tal:attributes="value referer" />
+ <tal:levels repeat="level python:['DEBUG', 'INFO', 'WARNING', 'ERROR']">
+ <input type="radio" name="loglevel"
+ tal:attributes="value level;
+ checked python: level==loglevel and 1 or None;
+ ">
+ <label tal:attributes="class python: level == 'ERROR' and 'red' or level == 'WARNING' and 'cyan' or ''"
+ tal:content="level">DEBUG</label>
+ <br />
+ </tal:levels>
+ <input type="submit" name="devel" id="button_loglevel" class="clickable"
+ value="Set" />
+ </div>
+ <p class="help">The cookie is global to the site.</p>
+
+ </form>
+
<p tal:condition="referer"><a tal:attributes="href referer">Back</a></p>
</body>
Modified: kukit/kss.core/branch/ree-loglevels/kss/core/pluginregistry/browser/develview.py
==============================================================================
--- kukit/kss.core/branch/ree-loglevels/kss/core/pluginregistry/browser/develview.py (original)
+++ kukit/kss.core/branch/ree-loglevels/kss/core/pluginregistry/browser/develview.py Sat Nov 24 13:12:12 2007
@@ -11,7 +11,8 @@
from zope.traversing.interfaces import ITraverser
from zope.publisher.interfaces import NotFound
-COOKIE_NAME = '__kss_devel'
+COOKIE_DEVELMODE = '__kss_devel'
+COOKIE_LOGLEVEL = '__kss_loglevel'
class DevelView(BrowserView):
implements(IDevelView)
@@ -37,7 +38,7 @@
return self, ('ui', )
# --
- # Accessable methods
+ # Methods for handling development/production mode
# --
def ison(self):
@@ -51,7 +52,7 @@
select development mode without the cookie
'''
- ison = COOKIE_NAME in self.request.cookies
+ ison = COOKIE_DEVELMODE in self.request.cookies
if not ison:
# Check from javascript tool
@@ -76,26 +77,51 @@
def set(self):
'Sets development mode cookie'
- self.request.response.setCookie(COOKIE_NAME, '1', path='/')
+ self.request.response.setCookie(COOKIE_DEVELMODE, '1', path='/')
def unset(self):
'Unsets development mode cookie'
- self.request.response.expireCookie(COOKIE_NAME, path='/')
+ self.request.response.expireCookie(COOKIE_DEVELMODE, path='/')
+
+ # --
+ # Methods for handling loglevel
+ # --
+
+ def getLogLevel(self, REQUEST=None):
+ 'Gets current log level'
+ loglevel = self.request.cookies.get(COOKIE_LOGLEVEL, 'DEBUG').upper()
+ return loglevel
+
+ def setLogLevel(self, loglevel):
+ 'Sets loglevel cookie'
+ self.request.response.setCookie(COOKIE_LOGLEVEL, loglevel, path='/')
+
+ # --
+ # User interface
+ # --
_ui = ViewPageTemplateFile('develui.pt', content_type='text/html;charset=utf-8')
def ui(self):
'User interface for interactive switching'
options = {}
+ # Handle development/production mode
if 'devel' in self.request.form:
self.set()
# setting it also to have immediate effect in the page
options['devel_mode'] = True
if 'prod' in self.request.form:
self.unset()
- if COOKIE_NAME in self.request.cookies:
+ if COOKIE_DEVELMODE in self.request.cookies:
# setting it also to have immediate effect in the page
options['devel_mode'] = False
+ # Handle loglevel
+ if 'loglevel' in self.request.form:
+ loglevel = self.request.form['loglevel']
+ self.setLogLevel(loglevel)
+ # setting it also to have immediate effect in the page
+ options['loglevel'] = loglevel
+ # Return the rendered template
return self._ui(**options)
def ui_js(self):
More information about the Kukit-checkins
mailing list