
武山です cnf のソースコードをちょっと追ってみました if len(sys.argv) == 3: repo = sys.argv[2] else: repo = 'zypp' module = bin.ScoutModule() if repo == 'zypp': rows = module.query_zypp(term) else: rows = module.query_repo(repo, term) リポジトリを指定したときとそうでないときは動作が少し違い、 指定しないときは Sat solver に渡り、 def query_zypp(self, term, inversesearch = False): if satsolver == None: return None s = SolvParser() return s.search(term, inversesearch) リポジトリを指定したときは例のファイルリストから引いているように見えます。 def query_repo(self, repo, term, inversesearch = False): db = scout.Database(self._name + '-' + repo) if not inversesearch: r = db.query('SELECT package, path, binary FROM binary LEFT JOIN path ON binary.id_path=path.id_path LEFT JOIN pa ckage ON binary.id_pkg=package.id_pkg WHERE binary=?', term) else: r = db.query('SELECT package, path, binary FROM binary LEFT JOIN path ON binary.id_path=path.id_path LEFT JOIN pa ckage ON binary.id_pkg=package.id_pkg WHERE package=?', term) if r == None: return None if isinstance(r, list): return [ [repo] + list(x) for x in r] else: return [ [repo] + list(r) ] libzypp にはファイルを引く API が無いんですかね… Fuminobu TAKEYAMA (2013/07/27 18:10), 1xx wrote:
2013年7月27日 17:54 akishika <kshkss@gmail.com>:
013-07-27 (土) の 13:50 +0900 に 1xx さんは書きました:
ただ、zypper wpとcnfでは検索方式が違うかもしれません。 というのは zypper wp chromium は見つかるのに cnf chromium では見つからないからです。
横から申し訳ありませんが、私もzypper wpとcnfでは検索方式が異なっていると 思います。
この件、bugreportを書きました。 https://bugzilla.novell.com/show_bug.cgi?id=831584 opensuse-ja MLに報告したつもりだったんですが、 まだだったのでいま報告します。
-- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ja+owner@opensuse.org