'This method will go throught each file, checking if it\'s a valid
software package file by calling :method:`is_software_package` and
calling :method:`load_package_info` if it\'s so.'

def get_packages_info(self):

    packages_info = set()
    for (dirpath, dirnames, filenames) in os.walk(self.path):
        for filename in filenames:
            path = os.path.join(dirpath, filename)
            if self.is_software_package(path):
                packages_info.add(self.get_package_info(path))
    return list(packages_info)
