1 | #! /usr/bin/python -tt |
---|
2 | |
---|
3 | import os |
---|
4 | import sys |
---|
5 | import yum |
---|
6 | |
---|
7 | yb = yum.YumBase() |
---|
8 | yb.setCacheDir() |
---|
9 | yb.conf.cache = os.geteuid() != 1 |
---|
10 | |
---|
11 | try: |
---|
12 | if len(sys.argv) > 1 and sys.argv[1] in ['all', |
---|
13 | 'installed', |
---|
14 | 'available', |
---|
15 | 'updates', |
---|
16 | 'recent', |
---|
17 | 'obsoletes', |
---|
18 | 'extras']: |
---|
19 | what = sys.argv[1] |
---|
20 | if len(sys.argv) < 3: |
---|
21 | pl = yb.doPackageLists(pkgnarrow=what) |
---|
22 | else: |
---|
23 | pl = yb.doPackageLists(pkgnarrow=what, patterns=sys.argv[2:]) |
---|
24 | else: |
---|
25 | what = '' |
---|
26 | if len(sys.argv) < 2: |
---|
27 | pl = yb.doPackageLists() |
---|
28 | else: |
---|
29 | pl = yb.doPackageLists(patterns=sys.argv[1:]) |
---|
30 | except yum.Errors.YumBaseError as exc: |
---|
31 | what, why, other = exc.value |
---|
32 | print 'Error:', what, why |
---|
33 | |
---|
34 | if pl.installed: |
---|
35 | print "Installed Packages" |
---|
36 | for pkg in sorted(pl.installed): |
---|
37 | print pkg.name, pkg.version + "-" + pkg.release, pkg.repoid, pkg.summary |
---|
38 | print |
---|
39 | if pl.available: |
---|
40 | print "Available Packages" |
---|
41 | for pkg in sorted(pl.available): |
---|
42 | print pkg.name, pkg.version + "-" + pkg.release, pkg.repo, pkg.summary |
---|
43 | print |
---|
44 | |
---|
45 | if what == '': |
---|
46 | pl = yb.doPackageLists(pkgnarrow='updates',patterns=sys.argv[1:]) |
---|
47 | if pl.updates: |
---|
48 | print "Updated Packages" |
---|
49 | for pkg in sorted(pl.updates): |
---|
50 | print pkg.name, pkg.version + "-" + pkg.release, pkg.repo |
---|
51 | print |
---|
52 | |
---|
53 | if what == '': |
---|
54 | pl = yb.doPackageLists(pkgnarrow='recent',patterns=sys.argv[1:]) |
---|
55 | if pl.recent: |
---|
56 | print "Recently Added Packages" |
---|
57 | for pkg in sorted(pl.recent): |
---|
58 | print pkg.name, pkg.version + "-" + pkg.release, pkg.repo |
---|
59 | print |
---|
60 | |
---|
61 | if pl.obsoletes: |
---|
62 | print "Obsolete Packages" |
---|
63 | for pkg in sorted(pl.obsoletes): |
---|
64 | print pkg.name, pkg.version + "-" + pkg.release, pkg.repo, pkg.summary |
---|
65 | print |
---|
66 | |
---|
67 | if pl.extras: |
---|
68 | print "Extra Packages" |
---|
69 | for pkg in sorted(pl.extras): |
---|
70 | print pkg.name, pkg.version + "-" + pkg.release, pkg.repo, pkg.summary |
---|
71 | print |
---|
72 | |
---|