def declare_extras_features(context): LOG.debug('declaring extras for {0}'.format(context.info)) package_name = find_package_by_module(context.package) extras = find_extras_by_package(package_name) LOG.debug('extras for {}: {}'.format(package_name, extras)) installed_extras = [name for (name, dependencies) in extras.items() if all_packages_installed(dependencies)] for postfix in combine_features(installed_extras): feature_name = '{}:{}'.format(package_name, postfix) LOG.debug('declaring feature {}'.format(feature_name)) context.provideFeature(feature_name)
def test_not_all_packages_installed(self): self.assertFalse(all_packages_installed(['ftw.autofeature', 'django']))
def test_all_packages_installed(self): self.assertTrue(all_packages_installed(['ftw.autofeature', 'unittest2']))