rhmessaging commits: r2950 - in mgmt/trunk/mint: sql and 1 other directory.
by rhmessaging-commits@lists.jboss.org
Author: nunofsantos
Date: 2008-12-08 14:33:25 -0500 (Mon, 08 Dec 2008)
New Revision: 2950
Modified:
mgmt/trunk/mint/python/mint/schemaparser.py
mgmt/trunk/mint/sql/triggers.sql
Log:
add conditional 'CREATE LANGUAGE plpgsql' to schema creation
Modified: mgmt/trunk/mint/python/mint/schemaparser.py
===================================================================
--- mgmt/trunk/mint/python/mint/schemaparser.py 2008-12-08 18:15:49 UTC (rev 2949)
+++ mgmt/trunk/mint/python/mint/schemaparser.py 2008-12-08 19:33:25 UTC (rev 2950)
@@ -216,6 +216,23 @@
# TODO: optimize getting the id to the parent table from new.parent_table_id
self.sqlTriggersOutput += """
+CREATE OR REPLACE FUNCTION create_plpgsql() RETURNS TEXT AS '
+ CREATE LANGUAGE plpgsql;
+ SELECT ''plpgsql language created''::TEXT;
+' LANGUAGE sql;
+
+SELECT CASE WHEN
+ (SELECT true
+ FROM pg_language
+ WHERE lanname='plpgsql')
+ THEN
+ (SELECT 'plpgsql language already installed'::TEXT)
+ ELSE
+ (SELECT create_plpgsql())
+END;
+
+DROP FUNCTION create_plpgsql();
+
CREATE OR REPLACE FUNCTION update_stats() RETURNS trigger AS '
DECLARE
parent_table varchar;
Modified: mgmt/trunk/mint/sql/triggers.sql
===================================================================
--- mgmt/trunk/mint/sql/triggers.sql 2008-12-08 18:15:49 UTC (rev 2949)
+++ mgmt/trunk/mint/sql/triggers.sql 2008-12-08 19:33:25 UTC (rev 2950)
@@ -1,4 +1,21 @@
+CREATE OR REPLACE FUNCTION create_plpgsql() RETURNS TEXT AS '
+ CREATE LANGUAGE plpgsql;
+ SELECT ''plpgsql language created''::TEXT;
+' LANGUAGE sql;
+
+SELECT CASE WHEN
+ (SELECT true
+ FROM pg_language
+ WHERE lanname='plpgsql')
+ THEN
+ (SELECT 'plpgsql language already installed'::TEXT)
+ ELSE
+ (SELECT create_plpgsql())
+END;
+
+DROP FUNCTION create_plpgsql();
+
CREATE OR REPLACE FUNCTION update_stats() RETURNS trigger AS '
DECLARE
parent_table varchar;
17 years, 4 months
rhmessaging commits: r2949 - in mgmt/trunk/mint: sql and 1 other directory.
by rhmessaging-commits@lists.jboss.org
Author: nunofsantos
Date: 2008-12-08 13:15:49 -0500 (Mon, 08 Dec 2008)
New Revision: 2949
Modified:
mgmt/trunk/mint/python/mint/schema.py
mgmt/trunk/mint/python/mint/schemaparser.py
mgmt/trunk/mint/sql/triggers.sql
Log:
create indexes for qmf_update_time on _stats tables
Modified: mgmt/trunk/mint/python/mint/schema.py
===================================================================
--- mgmt/trunk/mint/python/mint/schema.py 2008-12-08 17:14:23 UTC (rev 2948)
+++ mgmt/trunk/mint/python/mint/schema.py 2008-12-08 18:15:49 UTC (rev 2949)
@@ -1351,16 +1351,16 @@
Master.sqlmeta.addJoin(SQLMultipleJoin('MasterStats', joinMethodName='stats'))
-classToSchemaNameMap['Acl'] = 'Acl'
-schemaNameToClassMap['Acl'] = Acl
+classToSchemaNameMap['Acl'] = 'acl'
+schemaNameToClassMap['acl'] = Acl
Broker.sqlmeta.addJoin(SQLMultipleJoin('Acl', joinMethodName='acls'))
Acl.sqlmeta.addJoin(SQLMultipleJoin('AclStats', joinMethodName='stats'))
-classToSchemaNameMap['Cluster'] = 'Cluster'
-schemaNameToClassMap['Cluster'] = Cluster
+classToSchemaNameMap['Cluster'] = 'cluster'
+schemaNameToClassMap['cluster'] = Cluster
Broker.sqlmeta.addJoin(SQLMultipleJoin('Cluster', joinMethodName='clusters'))
Modified: mgmt/trunk/mint/python/mint/schemaparser.py
===================================================================
--- mgmt/trunk/mint/python/mint/schemaparser.py 2008-12-08 17:14:23 UTC (rev 2948)
+++ mgmt/trunk/mint/python/mint/schemaparser.py 2008-12-08 18:15:49 UTC (rev 2949)
@@ -135,9 +135,10 @@
pythonName = self.style.dbTableToPythonClass(schemaName + "_stats")
colPythonName = self.style.dbColumnToPythonAttr(schemaName)
keyPythonName = self.style.dbTableToPythonClass(schemaName)
- #self.sqlTriggersOutput += "DROP TRIGGER update_stats ON %s; \n" % (self.style.pythonClassToDBTable(pythonName))
- self.sqlTriggersOutput += "CREATE TRIGGER update_stats AFTER INSERT ON %s \n" % (self.style.pythonClassToDBTable(pythonName))
+ sqlTable = self.style.pythonClassToDBTable(pythonName)
+ self.sqlTriggersOutput += "CREATE TRIGGER update_stats AFTER INSERT ON %s \n" % (sqlTable)
self.sqlTriggersOutput += " FOR EACH ROW EXECUTE PROCEDURE update_stats(); \n\n"
+ self.sqlTriggersOutput += "CREATE INDEX %s_update_time ON %s (qmf_update_time);\n\n" % (sqlTable, sqlTable)
else:
pythonName = self.style.dbTableToPythonClass(schemaName)
statsPythonName = self.style.dbTableToPythonClass(schemaName + "_stats")
Modified: mgmt/trunk/mint/sql/triggers.sql
===================================================================
--- mgmt/trunk/mint/sql/triggers.sql 2008-12-08 17:14:23 UTC (rev 2948)
+++ mgmt/trunk/mint/sql/triggers.sql 2008-12-08 18:15:49 UTC (rev 2949)
@@ -17,69 +17,115 @@
CREATE TRIGGER update_stats AFTER INSERT ON slot_stats
FOR EACH ROW EXECUTE PROCEDURE update_stats();
+CREATE INDEX slot_stats_update_time ON slot_stats (qmf_update_time);
+
CREATE TRIGGER update_stats AFTER INSERT ON job_stats
FOR EACH ROW EXECUTE PROCEDURE update_stats();
+CREATE INDEX job_stats_update_time ON job_stats (qmf_update_time);
+
CREATE TRIGGER update_stats AFTER INSERT ON scheduler_stats
FOR EACH ROW EXECUTE PROCEDURE update_stats();
+CREATE INDEX scheduler_stats_update_time ON scheduler_stats (qmf_update_time);
+
CREATE TRIGGER update_stats AFTER INSERT ON submitter_stats
FOR EACH ROW EXECUTE PROCEDURE update_stats();
+CREATE INDEX submitter_stats_update_time ON submitter_stats (qmf_update_time);
+
CREATE TRIGGER update_stats AFTER INSERT ON negotiator_stats
FOR EACH ROW EXECUTE PROCEDURE update_stats();
+CREATE INDEX negotiator_stats_update_time ON negotiator_stats (qmf_update_time);
+
CREATE TRIGGER update_stats AFTER INSERT ON collector_stats
FOR EACH ROW EXECUTE PROCEDURE update_stats();
+CREATE INDEX collector_stats_update_time ON collector_stats (qmf_update_time);
+
CREATE TRIGGER update_stats AFTER INSERT ON master_stats
FOR EACH ROW EXECUTE PROCEDURE update_stats();
+CREATE INDEX master_stats_update_time ON master_stats (qmf_update_time);
+
CREATE TRIGGER update_stats AFTER INSERT ON acl_stats
FOR EACH ROW EXECUTE PROCEDURE update_stats();
+CREATE INDEX acl_stats_update_time ON acl_stats (qmf_update_time);
+
CREATE TRIGGER update_stats AFTER INSERT ON cluster_stats
FOR EACH ROW EXECUTE PROCEDURE update_stats();
+CREATE INDEX cluster_stats_update_time ON cluster_stats (qmf_update_time);
+
CREATE TRIGGER update_stats AFTER INSERT ON store_stats
FOR EACH ROW EXECUTE PROCEDURE update_stats();
+CREATE INDEX store_stats_update_time ON store_stats (qmf_update_time);
+
CREATE TRIGGER update_stats AFTER INSERT ON journal_stats
FOR EACH ROW EXECUTE PROCEDURE update_stats();
+CREATE INDEX journal_stats_update_time ON journal_stats (qmf_update_time);
+
CREATE TRIGGER update_stats AFTER INSERT ON system_stats
FOR EACH ROW EXECUTE PROCEDURE update_stats();
+CREATE INDEX system_stats_update_time ON system_stats (qmf_update_time);
+
CREATE TRIGGER update_stats AFTER INSERT ON broker_stats
FOR EACH ROW EXECUTE PROCEDURE update_stats();
+CREATE INDEX broker_stats_update_time ON broker_stats (qmf_update_time);
+
CREATE TRIGGER update_stats AFTER INSERT ON agent_stats
FOR EACH ROW EXECUTE PROCEDURE update_stats();
+CREATE INDEX agent_stats_update_time ON agent_stats (qmf_update_time);
+
CREATE TRIGGER update_stats AFTER INSERT ON vhost_stats
FOR EACH ROW EXECUTE PROCEDURE update_stats();
+CREATE INDEX vhost_stats_update_time ON vhost_stats (qmf_update_time);
+
CREATE TRIGGER update_stats AFTER INSERT ON queue_stats
FOR EACH ROW EXECUTE PROCEDURE update_stats();
+CREATE INDEX queue_stats_update_time ON queue_stats (qmf_update_time);
+
CREATE TRIGGER update_stats AFTER INSERT ON exchange_stats
FOR EACH ROW EXECUTE PROCEDURE update_stats();
+CREATE INDEX exchange_stats_update_time ON exchange_stats (qmf_update_time);
+
CREATE TRIGGER update_stats AFTER INSERT ON binding_stats
FOR EACH ROW EXECUTE PROCEDURE update_stats();
+CREATE INDEX binding_stats_update_time ON binding_stats (qmf_update_time);
+
CREATE TRIGGER update_stats AFTER INSERT ON client_connection_stats
FOR EACH ROW EXECUTE PROCEDURE update_stats();
+CREATE INDEX client_connection_stats_update_time ON client_connection_stats (qmf_update_time);
+
CREATE TRIGGER update_stats AFTER INSERT ON link_stats
FOR EACH ROW EXECUTE PROCEDURE update_stats();
+CREATE INDEX link_stats_update_time ON link_stats (qmf_update_time);
+
CREATE TRIGGER update_stats AFTER INSERT ON bridge_stats
FOR EACH ROW EXECUTE PROCEDURE update_stats();
+CREATE INDEX bridge_stats_update_time ON bridge_stats (qmf_update_time);
+
CREATE TRIGGER update_stats AFTER INSERT ON session_stats
FOR EACH ROW EXECUTE PROCEDURE update_stats();
+CREATE INDEX session_stats_update_time ON session_stats (qmf_update_time);
+
CREATE TRIGGER update_stats AFTER INSERT ON sysimage_stats
FOR EACH ROW EXECUTE PROCEDURE update_stats();
+CREATE INDEX sysimage_stats_update_time ON sysimage_stats (qmf_update_time);
+
17 years, 4 months
rhmessaging commits: r2948 - mgmt/trunk/mint/python/mint.
by rhmessaging-commits@lists.jboss.org
Author: eallen
Date: 2008-12-08 12:14:23 -0500 (Mon, 08 Dec 2008)
New Revision: 2948
Modified:
mgmt/trunk/mint/python/mint/schema.py
Log:
Fixing BZ 471467 - Modules loaded not enabled in console. CapItaLizatiOn iSsue.
Modified: mgmt/trunk/mint/python/mint/schema.py
===================================================================
--- mgmt/trunk/mint/python/mint/schema.py 2008-12-08 14:27:18 UTC (rev 2947)
+++ mgmt/trunk/mint/python/mint/schema.py 2008-12-08 17:14:23 UTC (rev 2948)
@@ -1351,16 +1351,16 @@
Master.sqlmeta.addJoin(SQLMultipleJoin('MasterStats', joinMethodName='stats'))
-classToSchemaNameMap['Acl'] = 'acl'
-schemaNameToClassMap['acl'] = Acl
+classToSchemaNameMap['Acl'] = 'Acl'
+schemaNameToClassMap['Acl'] = Acl
Broker.sqlmeta.addJoin(SQLMultipleJoin('Acl', joinMethodName='acls'))
Acl.sqlmeta.addJoin(SQLMultipleJoin('AclStats', joinMethodName='stats'))
-classToSchemaNameMap['Cluster'] = 'cluster'
-schemaNameToClassMap['cluster'] = Cluster
+classToSchemaNameMap['Cluster'] = 'Cluster'
+schemaNameToClassMap['Cluster'] = Cluster
Broker.sqlmeta.addJoin(SQLMultipleJoin('Cluster', joinMethodName='clusters'))
17 years, 4 months
rhmessaging commits: r2947 - store/trunk/cpp/lib/gen/qmf/com/redhat/rhm/store.
by rhmessaging-commits@lists.jboss.org
Author: tedross
Date: 2008-12-08 09:27:18 -0500 (Mon, 08 Dec 2008)
New Revision: 2947
Modified:
store/trunk/cpp/lib/gen/qmf/com/redhat/rhm/store/Journal.h
store/trunk/cpp/lib/gen/qmf/com/redhat/rhm/store/Store.h
Log:
Regenerated QMF code
Modified: store/trunk/cpp/lib/gen/qmf/com/redhat/rhm/store/Journal.h
===================================================================
--- store/trunk/cpp/lib/gen/qmf/com/redhat/rhm/store/Journal.h 2008-12-05 22:50:42 UTC (rev 2946)
+++ store/trunk/cpp/lib/gen/qmf/com/redhat/rhm/store/Journal.h 2008-12-08 14:27:18 UTC (rev 2947)
@@ -119,28 +119,28 @@
void aggregatePerThreadStats(struct PerThreadStats*);
// Private Methods
- static void writeSchema (::qpid::framing::Buffer& buf);
- void writeProperties (::qpid::framing::Buffer& buf);
- void writeStatistics (::qpid::framing::Buffer& buf,
- bool skipHeaders = false);
- void doMethod (std::string& methodName,
- ::qpid::framing::Buffer& inBuf,
- ::qpid::framing::Buffer& outBuf);
- writeSchemaCall_t getWriteSchemaCall(void) { return writeSchema; }
+ static void writeSchema(::qpid::framing::Buffer& buf);
+ void writeProperties(::qpid::framing::Buffer& buf);
+ void writeStatistics(::qpid::framing::Buffer& buf,
+ bool skipHeaders = false);
+ void doMethod(std::string& methodName,
+ ::qpid::framing::Buffer& inBuf,
+ ::qpid::framing::Buffer& outBuf);
+ writeSchemaCall_t getWriteSchemaCall() { return writeSchema; }
public:
- Journal (::qpid::management::ManagementAgent* agent,
+ Journal(::qpid::management::ManagementAgent* agent,
::qpid::management::Manageable* coreObject);
- ~Journal (void);
+ ~Journal();
void setReference(::qpid::management::ObjectId objectId) { queueRef = objectId; }
- static void registerSelf (::qpid::management::ManagementAgent* agent);
- std::string& getPackageName (void) const { return packageName; }
- std::string& getClassName (void) const { return className; }
- uint8_t* getMd5Sum (void) const { return md5Sum; }
+ static void registerSelf(::qpid::management::ManagementAgent* agent);
+ std::string& getPackageName() const { return packageName; }
+ std::string& getClassName() const { return className; }
+ uint8_t* getMd5Sum() const { return md5Sum; }
// Method IDs
static const uint32_t METHOD_EXPAND = 1;
Modified: store/trunk/cpp/lib/gen/qmf/com/redhat/rhm/store/Store.h
===================================================================
--- store/trunk/cpp/lib/gen/qmf/com/redhat/rhm/store/Store.h 2008-12-05 22:50:42 UTC (rev 2946)
+++ store/trunk/cpp/lib/gen/qmf/com/redhat/rhm/store/Store.h 2008-12-08 14:27:18 UTC (rev 2947)
@@ -93,27 +93,27 @@
void aggregatePerThreadStats(struct PerThreadStats*);
// Private Methods
- static void writeSchema (::qpid::framing::Buffer& buf);
- void writeProperties (::qpid::framing::Buffer& buf);
- void writeStatistics (::qpid::framing::Buffer& buf,
- bool skipHeaders = false);
- void doMethod (std::string& methodName,
- ::qpid::framing::Buffer& inBuf,
- ::qpid::framing::Buffer& outBuf);
- writeSchemaCall_t getWriteSchemaCall(void) { return writeSchema; }
+ static void writeSchema(::qpid::framing::Buffer& buf);
+ void writeProperties(::qpid::framing::Buffer& buf);
+ void writeStatistics(::qpid::framing::Buffer& buf,
+ bool skipHeaders = false);
+ void doMethod(std::string& methodName,
+ ::qpid::framing::Buffer& inBuf,
+ ::qpid::framing::Buffer& outBuf);
+ writeSchemaCall_t getWriteSchemaCall() { return writeSchema; }
public:
- Store (::qpid::management::ManagementAgent* agent,
+ Store(::qpid::management::ManagementAgent* agent,
::qpid::management::Manageable* coreObject, ::qpid::management::Manageable* _parent);
- ~Store (void);
+ ~Store();
- static void registerSelf (::qpid::management::ManagementAgent* agent);
- std::string& getPackageName (void) const { return packageName; }
- std::string& getClassName (void) const { return className; }
- uint8_t* getMd5Sum (void) const { return md5Sum; }
+ static void registerSelf(::qpid::management::ManagementAgent* agent);
+ std::string& getPackageName() const { return packageName; }
+ std::string& getClassName() const { return className; }
+ uint8_t* getMd5Sum() const { return md5Sum; }
// Method IDs
17 years, 4 months
rhmessaging commits: r2946 - mgmt/trunk/cumin/python/cumin.
by rhmessaging-commits@lists.jboss.org
Author: justi9
Date: 2008-12-05 17:50:42 -0500 (Fri, 05 Dec 2008)
New Revision: 2946
Modified:
mgmt/trunk/cumin/python/cumin/charts.py
Log:
Very slightly more elegant handling of null values
Modified: mgmt/trunk/cumin/python/cumin/charts.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/charts.py 2008-12-05 22:43:52 UTC (rev 2945)
+++ mgmt/trunk/cumin/python/cumin/charts.py 2008-12-05 22:50:42 UTC (rev 2946)
@@ -29,8 +29,8 @@
for dt, value in samples:
if value is None:
- log.warn("Unexpected null value") # XXX
- value = 0
+ log.debug("Unexpected null value") # XXX
+ continue
t = secs(dt)
# prevent line from drawing off right side of grid
17 years, 4 months
rhmessaging commits: r2945 - mgmt/trunk/cumin/python/cumin.
by rhmessaging-commits@lists.jboss.org
Author: justi9
Date: 2008-12-05 17:43:52 -0500 (Fri, 05 Dec 2008)
New Revision: 2945
Modified:
mgmt/trunk/cumin/python/cumin/model.py
Log:
Sync the data object before sending xml
Modified: mgmt/trunk/cumin/python/cumin/model.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/model.py 2008-12-05 22:07:16 UTC (rev 2944)
+++ mgmt/trunk/cumin/python/cumin/model.py 2008-12-05 22:43:52 UTC (rev 2945)
@@ -500,6 +500,8 @@
stat.write_xml(writer, object)
def write_xml(self, session, writer, object):
+ object.sync()
+
writer.write("<%s id=\"%s\" name=\"%s\">" % \
(self.cumin_name, str(object.id),
self.get_object_name(object)))
17 years, 4 months
rhmessaging commits: r2944 - mgmt/trunk/cumin/python/cumin.
by rhmessaging-commits@lists.jboss.org
Author: justi9
Date: 2008-12-05 17:07:16 -0500 (Fri, 05 Dec 2008)
New Revision: 2944
Modified:
mgmt/trunk/cumin/python/cumin/scheduler.py
Log:
For the scheduler charts, make the default duration 1 hour
Modified: mgmt/trunk/cumin/python/cumin/scheduler.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/scheduler.py 2008-12-05 21:59:00 UTC (rev 2943)
+++ mgmt/trunk/cumin/python/cumin/scheduler.py 2008-12-05 22:07:16 UTC (rev 2944)
@@ -161,9 +161,11 @@
self.add_child(stats)
chart = self.UsersChart(app, "users")
+ chart.duration.param.default = "h"
self.add_child(chart)
chart = self.JobsChart(app, "jobs")
+ chart.duration.param.default = "h"
self.add_child(chart)
def render_title(self, session):
17 years, 4 months
rhmessaging commits: r2943 - mgmt/trunk/wooly/python/wooly.
by rhmessaging-commits@lists.jboss.org
Author: justi9
Date: 2008-12-05 16:59:00 -0500 (Fri, 05 Dec 2008)
New Revision: 2943
Modified:
mgmt/trunk/wooly/python/wooly/widgets.py
Log:
Shorten some more so actions fit
Modified: mgmt/trunk/wooly/python/wooly/widgets.py
===================================================================
--- mgmt/trunk/wooly/python/wooly/widgets.py 2008-12-05 21:46:33 UTC (rev 2942)
+++ mgmt/trunk/wooly/python/wooly/widgets.py 2008-12-05 21:59:00 UTC (rev 2943)
@@ -443,8 +443,8 @@
escapable = True
if type(value) is str and escapable:
- if len(value) > 36:
- value = value[:36] + "..."
+ if len(value) > 30:
+ value = value[:30] + "..."
value = escape(value)
elif value is None:
17 years, 4 months
rhmessaging commits: r2942 - mgmt/trunk/cumin/python/cumin.
by rhmessaging-commits@lists.jboss.org
Author: justi9
Date: 2008-12-05 16:46:33 -0500 (Fri, 05 Dec 2008)
New Revision: 2942
Modified:
mgmt/trunk/cumin/python/cumin/model.py
Log:
Make the see-all-pools link an action instead of a property
Modified: mgmt/trunk/cumin/python/cumin/model.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/model.py 2008-12-05 21:38:06 UTC (rev 2941)
+++ mgmt/trunk/cumin/python/cumin/model.py 2008-12-05 21:46:33 UTC (rev 2942)
@@ -1871,11 +1871,6 @@
def __init__(self, model):
super(CuminPool, self).__init__(model, "pool", Pool)
- prop = self.OtherPools(self, "others")
- prop.title = "See Other Pools"
- prop.escape = False
- prop.summary = True
-
prop = CuminProperty(self, "id")
prop.title = "Collector ID"
prop.summary = True
@@ -1904,6 +1899,9 @@
action = self.VisMachine(self, "machines")
action.navigable = False
+ action = self.SeeAllPools(self, "allpools")
+ action.summary = True
+
self.fake_stats = self.FakeJobStats(self, "fakestats")
self.fake_stats.navigable = False
@@ -1924,22 +1922,15 @@
def get_icon_href(self, session):
return "resource?name=cluster-36.png"
- class OtherPools(CuminProperty):
+ class SeeAllPools(CuminAction):
def get_title(self, session):
- return ""
-
- def value(self, session, object):
+ return "See All Pools"
+
+ def get_href(self, session, object):
branch = session.branch()
self.model.frame.view.show(branch)
- href = branch.marshal()
-
- html = """
- <ul class="ActionSet">
- <li><a href="%s">%s</a></li>
- </ul>"""
- return html % (href, self.title)
-
-
+ return branch.marshal()
+
def write_stat_xml(self, session, writer, object):
record = self.fake_stats.get_stat_record(session, object)
for stat in self.stats:
17 years, 4 months
rhmessaging commits: r2941 - mgmt/trunk/wooly/python/wooly.
by rhmessaging-commits@lists.jboss.org
Author: justi9
Date: 2008-12-05 16:38:06 -0500 (Fri, 05 Dec 2008)
New Revision: 2941
Modified:
mgmt/trunk/wooly/python/wooly/widgets.py
Log:
Shorten long property values
Modified: mgmt/trunk/wooly/python/wooly/widgets.py
===================================================================
--- mgmt/trunk/wooly/python/wooly/widgets.py 2008-12-05 21:23:42 UTC (rev 2940)
+++ mgmt/trunk/wooly/python/wooly/widgets.py 2008-12-05 21:38:06 UTC (rev 2941)
@@ -443,6 +443,9 @@
escapable = True
if type(value) is str and escapable:
+ if len(value) > 36:
+ value = value[:36] + "..."
+
value = escape(value)
elif value is None:
value = "<em>None</em>"
17 years, 4 months