3 # vim: sw=4 ts=4 expandtab ai
6 from heapq import nlargest
9 for pkg in cache.Packages:
10 # pkg is from a list of packages, sorted by name.
11 if pkg.CurrentState == apt_pkg.CurStateInstalled:
12 yield [version.InstalledSize for version in pkg.VersionList][0], pkg.Name
14 def size_convert(size):
15 """Return string with file size in b or Kb or Mb or Gb or Tb."""
16 for i, unit in enumerate(['%d b', '%.1f Kb', '%.2f Mb', '%.3f Gb', '%.4f Tb']):
17 if size < 1024**(i+1):
18 return unit % (size/1024.**i)
22 """The main function."""
26 cache = apt_pkg.GetCache()
28 for size, packg in nlargest(count, pkggetter(cache)):
29 print packg, size_convert(size)
31 if __name__ == "__main__":