code: def handle_command(self, command):
          
          try:
              tree = secET.fromstring(command)
          except secET.ParseError:
              logger.debug("Erroneous client input: %s", command)
              raise OSPDError('Invalid data')
  
          if not self.command_exists(tree.tag) and tree.tag != "authenticate":
              raise OSPDError('Bogus command name')
  
          if tree.tag == "get_version":
              return self.handle_get_version_command()
          elif tree.tag == "start_scan":
              return self.handle_start_scan_command(tree)
          elif tree.tag == "stop_scan":
              return self.handle_stop_scan_command(tree)
          elif tree.tag == "get_scans":
              return self.handle_get_scans_command(tree)
          elif tree.tag == "get_vts":
              return self.handle_get_vts_command(tree)
          elif tree.tag == "delete_scan":
              return self.handle_delete_scan_command(tree)
          elif tree.tag == "help":
              return self.handle_help_command(tree)
          elif tree.tag == "get_scanner_details":
              return self.handle_get_scanner_details()
          else:
              assert False, "Unhandled command: {0}".format(tree.tag)
docs: Handles an osp command in a string.
  
          @return: OSP Response to command.