Hi all,
Sorry to disturb you again.
We want to use libzypp-bindings to get package list for special pattern, just as the function of ‘zypper pattern-info’.
But fails with some unexpected error.
Error 1:
Code:
pool = myZypp.pool() # pool of packages
group = "tablet"
pattern = pool.byIdentBegin (zypp.ResKind.pattern, group)# this would trigger the following error:
File "/usr/lib/python2.6/site-packages/zypp.py", line 3084, in byIdentBegin
def byIdentBegin(self, *args): return _zypp.ResPool_byIdentBegin(self, *args)
NotImplementedError: Wrong number of arguments for overloaded function 'ResPool_byIdentBegin'.
Possible C/C++ prototypes are:
byIdentBegin(zypp::ResPool const *,zypp::ResPool::ByIdent const &)
byIdentBegin(zypp::ResPool const *,zypp::ResKind,zypp::IdString)
byIdentBegin(zypp::ResPool const *,zypp::ResKind,C_Str const &)
byIdentBegin(zypp::ResPool const *,zypp::PoolItem const &)
byIdentBegin(zypp::ResPool const *,zypp::sat::Solvable)
byIdentBegin(zypp::ResPool const *,zypp::IdString)
In fact, my arguments are correct.
Error 2:
Code
for item in pool: # iterate over the pool
msg = ""
if zypp.isKindPattern(item) and str(item.name()) == "tablet":
msg += str(item.name())
pattern= zypp.asKindPattern(item)
contents = pattern.contents(); # This code will trigger the following error:
swig/python detected a memory leak of type 'zypp::sat::SolvableSet *', no destructor found.
Attached are two c++ code to implement this function, and one python code.
Thanks in advance
Qiang