# Mark Huang <mlhuang@cs.princeton.edu>
# Copyright (C) 2006 The Trustees of Princeton University
#
-# $Id: Nodes.py 800 2007-08-30 03:49:35Z thierry $
+# $Id$
#
from types import StringTypes
" where node_id = %d" % ( self['node_id']) )
self.sync(commit)
+
+ def update_last_updated(self, commit = True):
+ """
+ Update last_updated field with current time
+ """
+
+ assert 'node_id' in self
+ assert self.table_name
+
+ self.api.db.do("UPDATE %s SET last_updated = CURRENT_TIMESTAMP " % (self.table_name) + \
+ " where node_id = %d" % (self['node_id']) )
+ self.sync(commit)
+
def delete(self, commit = True):
"""
Delete existing node.
ints = filter(lambda x: isinstance(x, (int, long)), node_filter)
strs = filter(lambda x: isinstance(x, StringTypes), node_filter)
node_filter = Filter(Node.fields, {'node_id': ints, 'hostname': strs})
- sql += " AND (%s)" % node_filter.sql(api, "OR")
+ sql += " AND (%s) %s" % node_filter.sql(api, "OR")
elif isinstance(node_filter, dict):
node_filter = Filter(Node.fields, node_filter)
- sql += " AND (%s)" % node_filter.sql(api, "AND")
+ sql += " AND (%s) %s" % node_filter.sql(api, "AND")
elif isinstance (node_filter, StringTypes):
node_filter = Filter(Node.fields, {'hostname':[node_filter]})
- sql += " AND (%s)" % node_filter.sql(api, "AND")
+ sql += " AND (%s) %s" % node_filter.sql(api, "AND")
elif isinstance (node_filter, int):
node_filter = Filter(Node.fields, {'node_id':[node_filter]})
- sql += " AND (%s)" % node_filter.sql(api, "AND")
+ sql += " AND (%s) %s" % node_filter.sql(api, "AND")
else:
raise PLCInvalidArgument, "Wrong node filter %r"%node_filter