class_docstr: Handles metadata supplied in configuration files.
class_docstr_tok: ["Handles","metadata","supplied","in","configuration","files","."]
docstr: Returns a parser function to make sure field inputs
  are not files.
  
  Parses a value after getting the key so error messages are
  more informative.
  
  :param key:
  :rtype: callable
docstr_tok: ["Returns","a","parser","function","to","make","sure","field","inputs","are","not","files",".","Parses","a","value","after","getting","the","key","so","error","messages","are","more","informative",".",":","param","key",":",":","rtype",":","callable"]
code: def _exclude_files_parser(cls, key):
      """Returns a parser function to make sure field inputs
      are not files.
  
      Parses a value after getting the key so error messages are
      more informative.
  
      :param key:
      :rtype: callable
      """
  
      def parser(value):
          exclude_directive = "file:"
          if value.startswith(exclude_directive):
              raise ValueError(
                  "Only strings are accepted for the {0} field, "
                  "files are not accepted".format(key)
              )
          return value
  
      return parser
  
imports: from __future__ import absolute_import, unicode_literals
  import io
  import os
  import sys
  import warnings
  import functools
  from collections import defaultdict
  from functools import partial
  from functools import wraps
  from importlib import import_module
  from distutils.errors import DistutilsOptionError, DistutilsFileError
  from setuptools.extern.packaging.version import LegacyVersion, parse
  from setuptools.extern.packaging.specifiers import SpecifierSet
  from setuptools.extern.six import string_types, PY3
label_desc: Use image node_id 7 for calling the ConfigHandler obj's underlying member method code with example usage: obj._exclude_files_parser(cls, key) and returns: parser, value