def VIEW_REBIND(self, varname, rebinding_str): """ Rebind a view. """ try: rebindings = self._rebindings(rebinding_str) rebound = self.probe_loader.lookup(varname, *rebindings) msg = simplejson.dumps(rebound.to_basic()) except StandardError, exc: # reply(failure_reply(str(exc))) from simx.act.context import R R.reply(failure_reply(exc.message))
def _rebindings(self, rebinding_str): """ Returns split replacements strings or None. """ pairs = [pok for pok in (p.strip() for p in rebinding_str.split(",")) if pok] rebindings = [p.split("=") for p in pairs] #print "pairs****", pairs #print "rebindings****", rebindings try: # don't actually do anything, but will throw an exception # if an invalid assignment occurs for (a, b) in rebindings: pass except: # raise ValueError("Invalid replacement: %s" % rebinding_str) reply = failure_reply("Invalid replacement: %s" % rebinding_str) from simx.act.context import R R.reply(reply) else: return rebindings
def ATTACH_NODE(self, probe_id, node_id): try: self.attach_node(probe_id, node_id) except StandardError, exc: reply(failure_reply(exc.message))