euscan: better output
Signed-off-by: Corentin Chary <corentincj@iksaif.net>
This commit is contained in:
parent
a13d593d8d
commit
7fb4e6edff
35
bin/euscan
35
bin/euscan
@ -23,9 +23,11 @@ import errno
|
||||
import httplib
|
||||
|
||||
from portage.output import white, yellow, turquoise, green, EOutput
|
||||
from portage.exception import AmbiguousPackageName
|
||||
|
||||
import gentoolkit.pprinter as pp
|
||||
from gentoolkit import pprinter as pp
|
||||
from gentoolkit.eclean.search import (port_settings)
|
||||
from gentoolkit.errors import GentoolkitException
|
||||
|
||||
from euscan import CONFIG, output
|
||||
from euscan.scan import scan_upstream
|
||||
@ -77,7 +79,7 @@ def printUsage(_error=None, help=None):
|
||||
if _error in ('global-options', 'packages',) or help == 'all':
|
||||
print( " "+turquoise(__productname__),
|
||||
yellow("[options]"),
|
||||
green("<package>"), file=out)
|
||||
green("<package> [<package> [...]]"), file=out)
|
||||
if _error in ('global-options',) or help == 'all':
|
||||
print( " "+turquoise(__productname__),
|
||||
yellow("[--help, --version]"), file=out)
|
||||
@ -103,7 +105,7 @@ def printUsage(_error=None, help=None):
|
||||
print( file=out)
|
||||
if _error in ('packages',) or help:
|
||||
print( green(" package")+
|
||||
" - the package (or ebuild) you want to scan", file=out)
|
||||
" - the packages (or ebuilds) you want to scan", file=out)
|
||||
print( file=out)
|
||||
'''print( "More detailed instruction can be found in",
|
||||
turquoise("`man %s`" % __productname__), file=out)'''
|
||||
@ -167,10 +169,10 @@ def parseArgs():
|
||||
' set options accordingly '
|
||||
optionSwitch(opts)
|
||||
|
||||
if len(args) != 1:
|
||||
if len(args) < 1:
|
||||
raise ParseArgsException('packages')
|
||||
|
||||
return args[0]
|
||||
return args
|
||||
|
||||
def main():
|
||||
"""Parse command line and execute all actions."""
|
||||
@ -180,7 +182,7 @@ def main():
|
||||
pp.output.nocolor()
|
||||
' parse command line options and actions '
|
||||
try:
|
||||
package = parseArgs()
|
||||
packages = parseArgs()
|
||||
except ParseArgsException as e:
|
||||
if e.value == 'help':
|
||||
printUsage(help='all')
|
||||
@ -197,11 +199,28 @@ def main():
|
||||
|
||||
""" Change euscan's output """
|
||||
output = EOutput(CONFIG['quiet'])
|
||||
ret = scan_upstream(package)
|
||||
|
||||
if CONFIG['verbose'] > 2:
|
||||
httplib.HTTPConnection.debuglevel = 1
|
||||
|
||||
for package in packages:
|
||||
try:
|
||||
ret = scan_upstream(package)
|
||||
except AmbiguousPackageName as e:
|
||||
pkgs = e.args[0]
|
||||
for candidate in pkgs:
|
||||
print(candidate)
|
||||
|
||||
from os.path import basename # To get the short name
|
||||
|
||||
print(file=sys.stderr)
|
||||
print(pp.error("The short ebuild name '%s' is ambiguous. Please specify" % basename(pkgs[0])),
|
||||
file=sys.stderr, end="")
|
||||
pp.die(1, "one of the above fully-qualified ebuild names instead.")
|
||||
except GentoolkitException as err:
|
||||
pp.die(1, str(err))
|
||||
finally:
|
||||
ret = []
|
||||
|
||||
print ()
|
||||
|
||||
for url, version in ret:
|
||||
|
@ -1,5 +1,3 @@
|
||||
from __future__ import print_function
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
@ -39,7 +37,7 @@ def scan_upstream_urls(cpv, urls):
|
||||
|
||||
for filename in urls:
|
||||
for url in urls[filename]:
|
||||
print ()
|
||||
pp.uprint()
|
||||
output.einfo("SRC_URI is '%s'" % url)
|
||||
|
||||
if '://' not in url:
|
||||
|
Loading…
Reference in New Issue
Block a user