ar.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: ... Ú