1
2
3
4
5
6
7
8
9
10
11
12
13 import rpm
14
15 read_ts = None
16 ts = None
17
18
19
20
21
22
23
24
25
26
27
28
29
31
32
34 self.data = {}
35
36
37
38
39
40 self.data['packages'] = []
41
42 self.data['flags'] = []
43 self.data['vsflags'] = []
44 self.data['probFilterFlags'] = []
45
46
48 out = ""
49 removed = []
50 installed = []
51 updated = []
52 misc = []
53 for (pkgInfo, mode) in self.data['packages']:
54 if mode == 'u':
55 updated.append(pkgInfo)
56 elif mode == 'i':
57 installed.append(pkgInfo)
58 elif mode == 'e':
59 removed.append(pkgInfo)
60 else:
61 misc.append(pkgInfo)
62 for pkgInfo in removed:
63 out = out + "\t\t[e] %s-%s-%s:%s\n" % (pkgInfo[0], pkgInfo[1], pkgInfo[2], pkgInfo[3])
64 for pkgInfo in installed:
65 out = out + "\t\t[i] %s-%s-%s:%s\n" % (pkgInfo[0], pkgInfo[1], pkgInfo[2], pkgInfo[3])
66 for pkgInfo in updated:
67 out = out + "\t\t[u] %s-%s-%s:%s\n" % (pkgInfo[0], pkgInfo[1], pkgInfo[2], pkgInfo[3])
68 for pkgInfo in misc:
69 out = out + "\t\t[%s] %s-%s-%s:%s\n" % (pkgInfo[5], pkgInfo[0], pkgInfo[1],
70 pkgInfo[2], pkgInfo[3])
71 return out
72
73
74
75
78 self.ts = rpm.TransactionSet()
79 self._methods = ['dbMatch',
80 'check',
81 'order',
82 'addErase',
83 'addInstall',
84 'run',
85 'IDTXload',
86 'IDTXglob',
87 'rollback',
88 'pgpImportPubkey',
89 'pgpPrtPkts',
90 'Debug',
91 'setFlags',
92 'setVSFlags',
93 'setProbFilter',
94 'hdrFromFdno']
95 self.tsflags = []
96
98 if attr in self._methods:
99 return self.getMethod(attr)
100 else:
101 raise AttributeError(attr)
102
104
105
106 return getattr(self.ts, method)
107
108
109
110
112 self.tsflags.append(flags)
113 self.ts.setVSFlags(self.tsflags[-1])
114
116 del self.tsflags[-1]
117 self.ts.setVSFlags(self.tsflags[-1])
118
126