'Return a dictionary of fields, or None if line cannot be parsed.
@param line: line of text expected to contain a directory entry
@type line: str
@return: dict'

def parseDirectoryLine(self, line):

    match = self.fileLinePattern.match(line)
    if (match is None):
        return None
    else:
        d = match.groupdict()
        d['filename'] = d['filename'].replace('\\    ', '    ')
        d['nlinks'] = int(d['nlinks'])
        d['size'] = int(d['size'])
        if d['linktarget']:
            d['linktarget'] = d['linktarget'].replace('\\    ', '    ')
        return d
