ACC SHELL
Ñò
æõfJc @ s£ d d k Z d d k Z d d k Z d d k Z d d k l Z d d k l Z y e d ƒ Z Wn
d Z n Xd e
f d „ ƒ YZ d e i f d „ ƒ YZ
d S( iÿÿÿÿN( t fnmatch( t SafeConfigParsert satsolvert
SolvParserc B s/ e Z d Z d Z d Z d „ Z e d „ Z RS( s /etc/zypp/repos.ds /var/cache/zypp/solv/%s/solvs` ^/(bin|sbin|usr/bin|usr/sbin|usr/games|opt/kde3/bin|opt/kde3/sbin|opt/gnome/bin|opt/gnome/sbin)/c
C sò t i ƒ | _ t ƒ | _ xÐ g } t i | i ƒ D]! } t | d ƒ o | | q5 q5 ~ D] } y} t i i
| ƒ d } | i i d | i | f ƒ | i i | d ƒ d j o* | i i
| i | ƒ } | i | ƒ n Wq] q] Xq] Wd S( Ns *.repoi s %s/%st enabledt 1( R t Poolt poolR t parsert ost listdirt etcpathR t patht splitextt readt gett add_solvt solvfilet set_name( t selft _[1]t ft repofilet namet repo( ( s ./scout/bin.pyt __init__ s B c C sÎ g } | pÔ t i | i t i | ƒ d ƒ } x—| i i | t i d d ƒ D]Š } | i ƒ } | i
| ƒ p qO n d | i ƒ i ƒ i
ƒ | i ƒ i
ƒ | t | ƒ d | f } | | j o | i | ƒ qO qO Wnê t i | i d ƒ } xÐ | i i | t i d d ƒ D]° } x§ | i ƒ i d ƒ D] } | i
| ƒ p q2n t i i | ƒ } d | i ƒ i ƒ i
ƒ | i ƒ i
ƒ | t | ƒ d | f } | | j o | i | ƒ q2q2WqW| S( Nt $s solvable:filelists zypp (%s)i s [^/]+$s
solvable:name( t ret compilet pathret escapeR t searchR t
SEARCH_STRINGt Nonet valuet matcht solvableR R t lent appendt attr_valuesR R t basename( R t termt
inversesearcht pkgmatcht pathreprgt dR t rowt binary( ( s ./scout/bin.pyR % s. # C
C
( t __name__t
__module__R R R R t FalseR ( ( ( s ./scout/bin.pyR s
t ScoutModulec B sG e Z d Z e d ƒ Z d „ Z e d „ Z e d „ Z d d „ Z
RS( t bins. Search for binaries contained in the packages.c C s t | i | ƒ i ƒ t d j o t i | i i ƒ | _ n t i | i i d ƒ | _ t i
| i i | i i ƒ | _ d S( Nt zypp( R5 (
t supert __class__R R R! t scoutt RepoListt _clsR t
_repo_listt Parsert repost _parser( R ( ( s ./scout/bin.pyR @ s
c C s+ t d j o d St ƒ } | i | | ƒ S( N( R R! R R ( R R) R* t s( ( s ./scout/bin.pyt
query_zyppI s
c C s° t i | i d | ƒ } | p | i d | ƒ } n | i d | ƒ } | d j o d St | t ƒ o- g } | D] } | | g t | ƒ qv ~ S| g t | ƒ g Sd S( Nt -s— SELECT package, path, binary FROM binary LEFT JOIN path ON binary.id_path=path.id_path LEFT JOIN package ON binary.id_pkg=package.id_pkg WHERE binary=?s˜ SELECT package, path, binary FROM binary LEFT JOIN path ON binary.id_path=path.id_path LEFT JOIN package ON binary.id_pkg=package.id_pkg WHERE package=?( R8 t Databaset _namet queryR! t
isinstancet list( R R R) R* t dbt rR t x( ( s ./scout/bin.pyt
query_repoO s
-c C s† d } y | i i | ƒ } Wn0 t i j
o! | i i ƒ t i d ƒ n X| i o | i ƒ S| i
} t i i ƒ t
d ƒ t
d ƒ t
d ƒ t
d ƒ g } t
d ƒ t
d ƒ t
d ƒ t
d ƒ g } t i i ƒ t i | | ƒ } | i i } | d j o d S| i o | i f } n xZ | D]R } | d j o | i | i | | i ƒ ƒ q,| i | i | | | i ƒ ƒ q,W| S(
Ni R t pkgR R4 t
repositoryt packageR/ R5 ( R! R>