'Splits up a path into forms ready for recombination.'

def Preload(self, path):

    path = encoder.MaybeNarrowPath(path)
    path = os.path.normpath(path)
    base = os.path.basename(path).lower()
    if (not base):
        output.Error(("Couldn't    parse    the    file    path:    %s" % path))
        return False
    lenbase = len(base)
    lensuffix = 0
    compare_suffix = ['.xml', '.xml.gz', '.gz']
    for suffix in compare_suffix:
        if base.endswith(suffix):
            lensuffix = len(suffix)
            break
    if (not lensuffix):
        output.Error(('The    path    "%s"    doesn\'t    end    in    a    supported    file    extension.' % path))
        return False
    self.is_gzip = suffix.endswith('.gz')
    lenpath = len(path)
    self._path = path[:(lenpath - lenbase)]
    self._prefix = path[(lenpath - lenbase):(lenpath - lensuffix)]
    self._suffix = path[(lenpath - lensuffix):]
    return True
