[KSS-checkins] r49366 - kukit/kss.core/branch/1.2/kss/core/pluginregistry/browser
reebalazs at codespeak.net
reebalazs at codespeak.net
Wed Dec 5 10:14:11 CET 2007
Author: reebalazs
Date: Wed Dec 5 10:14:11 2007
New Revision: 49366
Modified:
kukit/kss.core/branch/1.2/kss/core/pluginregistry/browser/develui.css
kukit/kss.core/branch/1.2/kss/core/pluginregistry/browser/develui.pt
kukit/kss.core/branch/1.2/kss/core/pluginregistry/browser/develview.py
Log:
Implement loglevels based on cookies. Backport from trunk -r49362
Modified: kukit/kss.core/branch/1.2/kss/core/pluginregistry/browser/develui.css
==============================================================================
--- kukit/kss.core/branch/1.2/kss/core/pluginregistry/browser/develui.css (original)
+++ kukit/kss.core/branch/1.2/kss/core/pluginregistry/browser/develui.css Wed Dec 5 10:14:11 2007
@@ -55,13 +55,13 @@
background-color: #880000;
}
-a.button,
-input[type="submit"] {
+a.button, .clickable {
width: auto;
padding: 0.2em;
border: 1px solid #FF8888;
color: #CC0000;
text-decoration: none;
+ font-size: 80%;
}
fieldset {
@@ -89,11 +89,22 @@
padding : 1em;
}
-.red {
- color: red;
+.production, .error {
+ color: red;
+}
+
+.production, .development {
+ font-weight: bold;
}
-.green {
- color: green;
+.warning {
+ color: orange;
}
+.development, .info {
+ color: green;
+}
+
+.debug {
+ color: blue;
+}
Modified: kukit/kss.core/branch/1.2/kss/core/pluginregistry/browser/develui.pt
==============================================================================
--- kukit/kss.core/branch/1.2/kss/core/pluginregistry/browser/develui.pt (original)
+++ kukit/kss.core/branch/1.2/kss/core/pluginregistry/browser/develui.pt Wed Dec 5 10:14:11 2007
@@ -46,42 +46,104 @@
</script>
</head>
- <body tal:define="devel_mode python: options.get('devel_mode', view.ison())">
+ <body tal:define="devel_mode python: options.get('devel_mode', view.ison());
+ loglevel python: options.get('loglevel', view.getLogLevel());
+ referer request/referer|request/HTTP_REFERER|nothing">
- <h2>Kss development mode browser setup</h2>
- <form name="edit">
+ <h2>KSS mode setup</h2>
+
<p>
- Different browser side parameters can be set up.
- </p>
+ KSS is in <span class="development"
+ tal:condition="devel_mode">development</span><span
+ class="production" tal:condition="not: devel_mode">production</span> mode.
+ </p>
- <h3>
- <code>@@kss_devel_mode/ison on the current context</code>
- </h3>
+ <p class="help">
+ The mode is stored in a cookie that is global to the site.
+ </p>
+ <p class="help">
+ It can be overridden by a local utility (eg. ResourceRegistries, in Plone).
+ </p>
+
+ <p class="help">
+ If you call <code>@@kss_devel_mode/ison</code> on the current context,
+ you will get <code>True</code> in development mode, <code>False</code> in production mode.
+ </p>
+ <form name="edit">
+ <fieldset>
+ <h3>
+ Set KSS mode cookie
+ </h3>
+ <p class="help">
+ Click the button to toggle mode.
+ </p>
+
+ <div>
+ <input type="hidden" name="referer"
+ tal:attributes="value referer" />
+ <input type="submit" name="prod" id="button_prod" class="clickable production"
+ value="Switch to production mode." />
+ <input type="submit" name="devel" id="button_devel" class="clickable development"
+ value="Switch to development mode." />
+ </div>
+
+ </fieldset>
+ </form>
+
+ <p tal:condition="referer">
+ <a class="button" tal:attributes="href referer">Back to the referer page.</a>
+ </p>
+
+ <h2>KSS log level setup</h2>
+
<p>
- Kss development mode is<b>
- <span class="green" tal:condition="devel_mode">on</span>
- <span class="red" tal:condition="not: devel_mode">off</span>
- </b>
- </p>
-
- <h3>
- <code>Set kss development mode cookie</code>
- </h3>
- <p>The cookie is global to the site and may be overridden by a
- local utility (eg. ResourceRegistries, in Plone)</p>
- <div class="help">
- Click the button here.
- </div>
-
- <div>
- <input type="submit" name="prod" id="button_prod" class="clickable"
- value="Production" />
- <input type="submit" name="devel" id="button_devel" class="clickable"
- value="Development" />
- </div>
+ Current KSS log level is<b>
+ <span tal:attributes="class python:loglevel.lower()"
+ tal:content="loglevel">DEBUG</span></b>.
+ </p>
+
+ <p class="help">
+ The log level is stored in a cookie that is global to the site.
+ </p>
+
+ <p class="help">
+ Logging is effective only in <span class="development">development</span> mode.
+ </p>
+
+ <form name="loglevel">
+ <fieldset>
+ <h3>
+ Set KSS log level
+ </h3>
+ <p class="help">
+ Click the button to set log level.
+ </p>
+
+
+ <div>
+ <input type="hidden" name="referer"
+ tal:attributes="value referer" />
+ <tal:levels repeat="level python:['DEBUG', 'INFO', 'WARNING', 'ERROR']">
+ <label tal:attributes="class python:level.lower()">
+ <input type="radio" name="loglevel"
+ tal:attributes="value level;
+ checked python: level==loglevel and 1 or None;
+ " />
+ <tal:block replace="level">DEBUG</tal:block>
+ </label>
+ <br />
+ </tal:levels>
+ <input type="submit" name="loglevel_submit" id="button_loglevel" class="clickable"
+ value="Set" />
+ </div>
+ </fieldset>
</form>
+ <p tal:condition="referer">
+ <a class="button" tal:attributes="href referer">Back to the referer page.</a>
+ </p>
+
</body>
</html>
Modified: kukit/kss.core/branch/1.2/kss/core/pluginregistry/browser/develview.py
==============================================================================
--- kukit/kss.core/branch/1.2/kss/core/pluginregistry/browser/develview.py (original)
+++ kukit/kss.core/branch/1.2/kss/core/pluginregistry/browser/develview.py Wed Dec 5 10:14:11 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