本文整理汇总了Python中api.PackageInfo.state方法的典型用法代码示例。如果您正苦于以下问题:Python PackageInfo.state方法的具体用法?Python PackageInfo.state怎么用?Python PackageInfo.state使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类api.PackageInfo
的用法示例。
在下文中一共展示了PackageInfo.state方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: search
# 需要导入模块: from api import PackageInfo [as 别名]
# 或者: from api.PackageInfo import state [as 别名]
def search(self, query):
if query.strip() == "":
return []
try:
out_s = subprocess.check_output([
'urpmq', "-Y",
"--summary", query
])
except subprocess.CalledProcessError as e:
return []
r = []
for l in out_s.split('\n'):
s = l.strip().split(":", 1)
if len(s) != 2:
continue
summary_list = s[1].rsplit("(",1)
if len(summary_list) != 2:
continue
p = PackageInfo()
p.name = s[0].strip()
p.summary = summary_list[0].strip()
p.version = summary_list[1].rsplit(")",1)[0].strip()
p.state = 'r'
if p.name in self.all_dict and self.all_dict[p.name].state == 'i':
p.state = 'i'
r.append(p)
return r
示例2: search
# 需要导入模块: from api import PackageInfo [as 别名]
# 或者: from api.PackageInfo import state [as 别名]
def search(self, query):
try:
out_s = subprocess.check_output(['pacman', '-Ss', query])
except subprocess.CalledProcessError as cpe:
self.context.notify('info', _('No search results found'))
logging.info('No search results found')
out_s = ''
r = []
for l in out_s.split('\n'):
s = l.split('/')
if len(s) == 2 and not(s[0].startswith(' ')):
sn = s[1].split(' ')
pkg = sn[0]
p = PackageInfo()
p.name = sn[0]
pkg_installed = True
try:
out_i = subprocess.check_output(['pacman', '-Q', p.name])
except subprocess.CalledProcessError as cpe:
p.state = 'r'
pkg_installed = False
if pkg_installed:
p.state = 'i'
p.version = sn[1]
r.append(p)
return r
示例3: search
# 需要导入模块: from api import PackageInfo [as 别名]
# 或者: from api.PackageInfo import state [as 别名]
def search(self, query):
out_s = subprocess.check_output(['yum', '-C', '-q', '-d0', '-e0', 'search', query])
r = []
for l in out_s.split('\n'):
s = l.split()
if len(s) < 2:
continue
if s[0].startswith('====') or s[0] == ':':
continue
else:
p = PackageInfo()
p.name = s[0]
p.state = 'r'
if p.name in self.all_dict and self.all_dict[p.name].state == 'i':
p.state = 'i'
r.append(p)
return r
示例4: search
# 需要导入模块: from api import PackageInfo [as 别名]
# 或者: from api.PackageInfo import state [as 别名]
def search(self, query):
out_s = subprocess.check_output(['apt-cache', 'search', query])
r = []
for l in out_s.split('\n'):
s = filter(None, l.split(' '))
if len(s) == 0:
continue
p = PackageInfo()
p.name = s[0]
p.state = 'i' if p.name in self.all_dict else 'r'
p.description = ' '.join(s[2:])
r.append(p)
return r
示例5: _parse_yum
# 需要导入模块: from api import PackageInfo [as 别名]
# 或者: from api.PackageInfo import state [as 别名]
def _parse_yum(self, ss):
r = []
for s in ss.splitlines():
s = s.split()
try:
if s[0] == '':
continue
else:
p = PackageInfo()
p.name = s[0]
p.state = 'i'
r.append(p)
if len(r.keys()) > 250:
break
except:
pass
return r
示例6: _parse_urpmi
# 需要导入模块: from api import PackageInfo [as 别名]
# 或者: from api.PackageInfo import state [as 别名]
def _parse_urpmi(self, ss):
r = []
for s in ss.splitlines():
s = s.strip().rsplit("-", 2)
if len(s) != 3:
continue
try:
p = PackageInfo()
p.name = s[0]
p.version = "-".join(s[1:])
p.state = 'i'
r.append(p)
if len(r.keys()) > 2500:
break
except:
pass
return r
示例7: _parse_dpkg
# 需要导入模块: from api import PackageInfo [as 别名]
# 或者: from api.PackageInfo import state [as 别名]
def _parse_dpkg(self, d):
r = []
for l in d.split('\n'):
s = filter(None, l.split(' '))
if len(s) == 0:
continue
p = PackageInfo()
if s[0][0] == 'i':
p.state = 'i'
else:
continue
p.name = s[1]
p.version = s[2]
p.description = ' '.join(s[3:])
r.append(p)
return r
示例8: search
# 需要导入模块: from api import PackageInfo [as 别名]
# 或者: from api.PackageInfo import state [as 别名]
def search(self, query):
out_s = subprocess.check_output(['apt-show-versions', '-a', '-R', query])
r = []
found = {}
for l in out_s.split('\n'):
s = l.split()
if len(s) < 4:
continue
p = PackageInfo()
p.name = s[0]
p.state = 'i' if p.name in self.all_dict else 'r'
p.version = s[1]
if not p.name in found or found[p.name] < p.version:
r.append(p)
found[p.name] = p.version
return r
示例9: _parse_all_installed
# 需要导入模块: from api import PackageInfo [as 别名]
# 或者: from api.PackageInfo import state [as 别名]
def _parse_all_installed(self, d):
r = []
lines = d.splitlines()
infos = ['\n'.join(lines[i:i+2]) for i in range(0, len(lines), 2)]
for info in infos:
s = info.split('\n')
if len(s) == 0:
continue
package = s[0].split(' ')
p = PackageInfo()
p.state = 'i'
p.name = package[0]
p.version = package[1]
s[1].lstrip().rstrip()
p.description = ' '.join(s[1])
r.append(p)
return r