code: def parse_args_and_options(self):
          
          args_namespace, options_list = self.arg_parser.parse_known_args()
          args = args_namespace.__dict__
  
          # Make sure token is provided. There are four possible ways to specify:
          #   --token=path to token-containing file
          #   --token=140fefe...1f3
          #   when --token is not specified on the command line, the default value is #
          #     - try environment variable CONTENT_CURATION_TOKEN
          #     - else prompt user
          # If ALL of these fail, this call will raise and chef run will stop
          args['token'] = get_content_curation_token(args['token'])
  
          # Parse additional compatibility mode keyword arguments from `options_list`
          options = {}
          for preoption in options_list:
              try:
                  option_key, option_value = preoption.split('=')
                  options.update({option_key.strip(): option_value.strip()})
              except IndexError:
                  msg = "Invalid option '{0}': use [key]=[value] format (no whitespace)".format(preoption)
                  raise InvalidUsageException(msg)
  
          # For compatibility mode, we check the chef script file exists and load it
          if self.compatibility_mode:
              try:
                  # Try to load the chef_script as a module
                  self.chef_module = SourceFileLoader("mod", args['chef_script']).load_module()
              except FileNotFoundError as e:
                  raise InvalidUsageException('Error: must specify `chef_module` for compatibility_mode')
  
          return args, options
docs: Parses all known command line args and also additional key=value options.
          NOTE: this should be the only place cli args are parsed in order to have
          a single consistent interface for all chef scripts.
  
          Args: None, but implicitly depends on `self.arg_parser` and `sys.argv`
          Returns:
            tuple (`args`, `options`)
              args (dict): chef command line arguments
              options (dict): extra compatibility-mode options given on command line