def load(cls, path, base=None):
        '''Return a list of the tasks stored in a file'''
        base = base or os.getcwd()
        absolute = os.path.abspath(path)
        parent = os.path.dirname(absolute)
        name, _, _ = os.path.basename(absolute).rpartition('.py')
        fobj, path, description = imp.find_module(name, [parent])
        try:
            imp.load_module(name, fobj, path, description)
        finally:
            if fobj:
                fobj.close()
        # Manipulate the full names of the tasks to be relative to the provided
        # base
        relative, _, _ = os.path.relpath(path, base).rpartition('.py')
        for task in cls._cache:
            parts = relative.split(os.path.sep)
            parts.append(task.name)
            # If it's either in shovel.py, or folder/__init__.py, then we
            # should consider it as being at one level above that file
            parts = [part.strip('.') for part in parts if part not in
                ('shovel', '.shovel', '__init__', '.', '..', '')]
            task.fullname = '.'.join(parts)
            logger.debug('Found task %s in %s' % (task.fullname, task.module))
        return cls.clear()
Return a list of the tasks stored in a file