code: def cmd_exec(self, cmd):
          
  
          if not cmd:
              return
          ns = self.cmd_namespace
          import copy
          rval = True
          nscopy = copy.copy(ns)
          try:
              r = eval(cmd, ns)
              if isinstance(r, SystemObject) and not r.system:
                  r.setup_system(self)
              if callable(r):
                  r = r()
                  cmd += "()"
              self.logger.info("Eval: %s", cmd)
              self.logger.info("Result: %s", r)
          except SyntaxError:
              r = {}
              try:
                  exec (cmd, ns)
                  self.logger.info("Exec: %s", cmd)
              except ExitException:
                  raise
              except Exception as e:
                  self.logger.info("Failed to exec cmd %s: %s.", cmd, e)
                  rval = False
              for key, value in list(ns.items()):
                  if key not in nscopy or not value is nscopy[key]:
                      if key in self.namespace:
                          del self.namespace[key]
                      self.namespace[key] = value
                      r[key] = value
              self.logger.info("Set items in namespace: %s", r)
          except ExitException:
              raise
          except Exception as e:
              self.logger.info("Failed to eval cmd %s: %s", cmd, e)
              return False
  
          return rval
docs: Execute commands in automate namespace