parameters: (path)
docstring: Validate the resource paths according to the docs.
          https://setuptools.pypa.io/en/latest/pkg_resources.html#basic-resource-access
  
          >>> warned = getfixture('recwarn')
          >>> warnings.simplefilter('always')
          >>> vrp = NullProvider._validate_resource_path
          >>> vrp('foo/bar.txt')
          >>> bool(warned)
          False
          >>> vrp('../foo/bar.txt')
          >>> bool(warned)
          True
          >>> warned.clear()
          >>> vrp('/foo/bar.txt')
          >>> bool(warned)
          True
          >>> vrp('foo/../../bar.txt')
          >>> bool(warned)
          True
          >>> warned.clear()
          >>> vrp('foo/f../bar.txt')
          >>> bool(warned)
          False
  
          Windows path separators are straight-up disallowed.
          >>> vrp(r'\\foo/bar.txt')
          Traceback (most recent call last):
          ...
          ValueError: Use of .. or absolute path in a resource path \
  is not allowed.
  
          >>> vrp(r'C:\\foo/bar.txt')
          Traceback (most recent call last):
          ...
          ValueError: Use of .. or absolute path in a resource path \
  is not allowed.
  
          Blank values are allowed
  
          >>> vrp('')
          >>> bool(warned)
          False
  
          Non-string values are not.
  
          >>> vrp(None)
          Traceback (most recent call last):
          ...
          AttributeError: ...
docstring_summary: Validate the resource paths according to the docs.
          https://setuptools.pypa.io/en/latest/pkg_resources.html#basic-resource-access
docstring_tokens: Validate the resource paths according to the docs . https : // setuptools . pypa . io / en / latest / pkg_resources . html#basic - resource - access
function: def _validate_resource_path(path):
          """
          Validate the resource paths according to the docs.
          https://setuptools.pypa.io/en/latest/pkg_resources.html#basic-resource-access
  
          >>> warned = getfixture('recwarn')
          >>> warnings.simplefilter('always')
          >>> vrp = NullProvider._validate_resource_path
          >>> vrp('foo/bar.txt')
          >>> bool(warned)
          False
          >>> vrp('../foo/bar.txt')
          >>> bool(warned)
          True
          >>> warned.clear()
          >>> vrp('/foo/bar.txt')
          >>> bool(warned)
          True
          >>> vrp('foo/../../bar.txt')
          >>> bool(warned)
          True
          >>> warned.clear()
          >>> vrp('foo/f../bar.txt')
          >>> bool(warned)
          False
  
          Windows path separators are straight-up disallowed.
          >>> vrp(r'\\foo/bar.txt')
          Traceback (most recent call last):
          ...
          ValueError: Use of .. or absolute path in a resource path \
  is not allowed.
  
          >>> vrp(r'C:\\foo/bar.txt')
          Traceback (most recent call last):
          ...
          ValueError: Use of .. or absolute path in a resource path \
  is not allowed.
  
          Blank values are allowed
  
          >>> vrp('')
          >>> bool(warned)
          False
  
          Non-string values are not.
  
          >>> vrp(None)
          Traceback (most recent call last):
          ...
          AttributeError: ...
          """
          invalid = (
              os.path.pardir in path.split(posixpath.sep) or
              posixpath.isabs(path) or
              ntpath.isabs(path)
          )
          if not invalid:
              return
  
          msg = "Use of .. or absolute path in a resource path is not allowed."
  
          # Aggressively disallow Windows absolute paths
          if ntpath.isabs(path) and not posixpath.isabs(path):
              raise ValueError(msg)
  
          # for compatibility, warn; in future
          # raise ValueError(msg)
          warnings.warn(
              msg[:-1] + " and will raise exceptions in a future release.",
              DeprecationWarning,
              stacklevel=4,
          )
function_tokens: def _validate_resource_path ( path ) : invalid = ( os . path . pardir in path . split ( posixpath . sep ) or posixpath . isabs ( path ) or ntpath . isabs ( path ) ) if not invalid : return msg = "Use of .. or absolute path in a resource path is not allowed." # Aggressively disallow Windows absolute paths if ntpath . isabs ( path ) and not posixpath . isabs ( path ) : raise ValueError ( msg ) # for compatibility, warn; in future # raise ValueError(msg) warnings . warn ( msg [ : - 1 ] + " and will raise exceptions in a future release." , DeprecationWarning , stacklevel = 4 , )