fork download
  1. class package:
  2. def __init__(self, name, dependencies):
  3. self.name = name
  4. self.dependencies = dependencies
  5.  
  6. repository = [
  7. package('udev', ['util-linux']),
  8. package('util-linux', ['udev']),
  9. package('kde', ['qt'])
  10. ]
  11.  
  12. good_packages = []
  13. bad_packages = []
  14.  
  15. def dependencies_in_repository(dependencies):
  16. for dependency in dependencies:
  17. if dependency not in [pkg.name for pkg in repository]:
  18. return False
  19. return True
  20.  
  21. for pkg in repository:
  22. if dependencies_in_repository(pkg.dependencies):
  23. good_packages.append(pkg)
  24. else:
  25. bad_packages.append(pkg)
  26.  
  27. print 'good packages:', [pkg.name for pkg in good_packages]
  28. print 'bad packages:', [pkg.name for pkg in bad_packages]
  29.  
Success #stdin #stdout 0.01s 7852KB
stdin
Standard input is empty
stdout
good packages: ['udev', 'util-linux']
bad packages: ['kde']