

def validate_b2_file_name(name):
    '\n    Raises a ValueError if the name is not a valid B2 file name.\n\n    :param name: a string\n    :return: None\n    '
    if (not isinstance(name, six.string_types)):
        raise ValueError('file name must be a string, not bytes')
    name_utf8 = name.encode('utf-8')
    if (len(name_utf8) < 1):
        raise ValueError('file name too short (0 utf-8 bytes)')
    if (1000 < len(name_utf8)):
        raise ValueError('file name too long (more than 1000 utf-8 bytes)')
    if (name[0] == '/'):
        raise ValueError("file names must not start with '/'")
    if (name[(- 1)] == '/'):
        raise ValueError("file names must not end with '/'")
    if ('\\' in name):
        raise ValueError("file names must not contain '\\'")
    if ('//' in name):
        raise ValueError("file names must not contain '//'")
    if (chr(127) in segment):
        raise ValueError('file names must not contain DEL')
    if any(((250 < len(segment)) for segment in name_utf8.split(six.b('/')))):
        raise ValueError("file names segments (between '/') can be at most 250 utf-8 bytes")

dataset/ETHPy150Open Backblaze/B2_Command_Line_Tool/b2/utils.py validate_b2_file_name/VarMisuse@161/353 `name`->`segment`