本文整理汇总了Python中portage.output.blue函数的典型用法代码示例。如果您正苦于以下问题:Python blue函数的具体用法?Python blue怎么用?Python blue使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了blue函数的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: convert_myoldbest
def convert_myoldbest(self, pkg, pkg_info):
"""converts and colorizes a version list to a string
@param pkg: _emerge.Package.Package instance
@param pkg_info: dictionary
@rtype string.
"""
myoldbest = pkg_info.oldbest_list
# Convert myoldbest from a list to a string.
myoldbest_str = ""
if myoldbest:
versions = []
for pos, old_pkg in enumerate(myoldbest):
key = old_pkg.version
if key[-3:] == "-r0":
key = key[:-3]
if self.conf.verbosity == 3:
if pkg_info.attr_display.new_slot:
key += _slot_separator + old_pkg.slot
if old_pkg.slot != old_pkg.sub_slot:
key += "/" + old_pkg.sub_slot
elif any(x.slot + "/" + x.sub_slot != "0/0" for x in myoldbest + [pkg]):
key += _slot_separator + old_pkg.slot
if old_pkg.slot != old_pkg.sub_slot or \
old_pkg.slot == pkg.slot and old_pkg.sub_slot != pkg.sub_slot:
key += "/" + old_pkg.sub_slot
if not self.quiet_repo_display and (self.verbose_main_repo_display or
self.portdb.repositories.mainRepo() is None or
any(x.repo != self.portdb.repositories.mainRepo().name for x in myoldbest + [pkg])):
key += _repo_separator + old_pkg.repo
versions.append(key)
myoldbest_str = blue("["+", ".join(versions)+"]")
return myoldbest_str
示例2: _insert_slot
def _insert_slot(self, pkg, pkg_info, myinslotlist):
"""Adds slot info to the message
@returns addl: formatted slot info
@returns myoldbest: installed version list
Modifies self.counters.downgrades, self.counters.upgrades,
self.counters.binary
"""
addl = " " + pkg_info.fetch_symbol
if not cpvequal(pkg.cpv,
best([pkg.cpv] + [x.cpv for x in myinslotlist])):
# Downgrade in slot
addl += turquoise("U")+blue("D")
if pkg_info.ordered:
self.counters.downgrades += 1
if pkg.type_name == "binary":
self.counters.binary += 1
else:
# Update in slot
addl += turquoise("U") + " "
if pkg_info.ordered:
self.counters.upgrades += 1
if pkg.type_name == "binary":
self.counters.binary += 1
return addl
示例3: _set_no_columns
def _set_no_columns(self, pkg, pkg_info):
"""prints pkg info without column indentation.
@param pkg: _emerge.Package.Package instance
@param pkg_info: dictionary
@rtype the updated addl
"""
pkg_str = pkg.cpv
if self.conf.verbosity == 3:
pkg_str = self._append_slot(pkg_str, pkg, pkg_info)
pkg_str = self._append_repository(pkg_str, pkg, pkg_info)
if not pkg_info.merge:
addl = self.empty_space_in_brackets()
myprint = "[%s%s] %s%s %s" % \
(self.pkgprint(pkg_info.operation.ljust(13),
pkg_info), addl,
self.indent, self.pkgprint(pkg_str, pkg_info),
pkg_info.oldbest)
else:
myprint = "[%s %s%s] %s%s %s" % \
(self.pkgprint(pkg.type_name, pkg_info),
pkg_info.attr_display, \
bold(blue("L")) if self._has_local_patch(pkg) else " ", \
self.indent, \
self.pkgprint(pkg_str, pkg_info), pkg_info.oldbest)
#if self.localpatch_enabled:
#self. += bold(blue("L")) if self._has_local_patch(pkg) else " "
return myprint
示例4: __str__
def __str__(self):
s = self.name
if self.enabled:
s = red(s)
else:
s = '-' + s
s = blue(s)
if self.forced:
s = '(%s)' % s
return s
示例5: convert_myoldbest
def convert_myoldbest(myoldbest):
"""converts and colorizes a version list to a string
@param myoldbest: list
@rtype string.
"""
# Convert myoldbest from a list to a string.
myoldbest_str = ""
if myoldbest:
versions = []
for pos, pkg in enumerate(myoldbest):
key = catpkgsplit(pkg.cpv)[2] + \
"-" + catpkgsplit(pkg.cpv)[3]
if key[-3:] == "-r0":
key = key[:-3]
versions.append(key)
myoldbest_str = blue("["+", ".join(versions)+"]")
return myoldbest_str
示例6: do_normal
def do_normal(pkg, verbose):
data = []
if not pkg[4]:
installed = "[ Not Installed ]"
else:
installed = pkg[4]
if pkg[2]:
masked = red(" [ Masked ]")
else:
masked = ""
data.append("%s %s%s\n %s %s\n %s %s" % \
(green("*"), bold(pkg[1]), masked,
darkgreen("Latest version available:"), pkg[3],
darkgreen("Latest version installed:"), installed))
if verbose:
mpv = best(portdb.xmatch("match-all", pkg[1]))
iuse_split, final_use = get_flags(mpv, final_setting=True)
iuse = ""
use_list = []
for ebuild_iuse in iuse_split:
use = ebuild_iuse.lstrip('+-')
if use in final_use:
use_list.append(red("+" + use) + " ")
else:
use_list.append(blue("-" + use) + " ")
use_list.sort()
iuse = ' '.join(use_list)
if iuse == "":
iuse = "-"
data.append(" %s %s\n %s %s" % \
(darkgreen("Unstable version:"), pkg_version(mpv),
darkgreen("Use Flags (stable):"), iuse))
data.append(" %s %s\n %s %s\n %s %s\n %s %s\n" % \
(darkgreen("Size of downloaded files:"), pkg[5],
darkgreen("Homepage:"), pkg[6],
darkgreen("Description:"), pkg[7],
darkgreen("License:"), pkg[8]))
return data
示例7: convert_myoldbest
def convert_myoldbest(self, pkg, myoldbest):
"""converts and colorizes a version list to a string
@param pkg: _emerge.Package.Package instance
@param myoldbest: list
@rtype string.
"""
# Convert myoldbest from a list to a string.
myoldbest_str = ""
if myoldbest:
versions = []
for pos, old_pkg in enumerate(myoldbest):
key = catpkgsplit(old_pkg.cpv)[2] + "-" + catpkgsplit(old_pkg.cpv)[3]
if key[-3:] == "-r0":
key = key[:-3]
if self.conf.verbosity == 3 and not self.quiet_repo_display and (self.verbose_main_repo_display or
any(x.repo != self.portdb.repositories.mainRepo().name for x in myoldbest + [pkg])):
key += _repo_separator + old_pkg.repo
versions.append(key)
myoldbest_str = blue("["+", ".join(versions)+"]")
return myoldbest_str
示例8: _sync
#.........这里部分代码省略.........
family, socket.SOCK_STREAM))
except socket.error as e:
writemsg_level(
"!!! getaddrinfo failed for '%s': %s\n" % (hostname, e),
noiselevel=-1, level=logging.ERROR)
if addrinfos:
AF_INET = socket.AF_INET
AF_INET6 = None
if socket.has_ipv6:
AF_INET6 = socket.AF_INET6
ips_v4 = []
ips_v6 = []
for addrinfo in addrinfos:
if addrinfo[0] == AF_INET:
ips_v4.append("%s" % addrinfo[4][0])
elif AF_INET6 is not None and addrinfo[0] == AF_INET6:
# IPv6 addresses need to be enclosed in square brackets
ips_v6.append("[%s]" % addrinfo[4][0])
random.shuffle(ips_v4)
random.shuffle(ips_v6)
# Give priority to the address family that
# getaddrinfo() returned first.
if AF_INET6 is not None and addrinfos and \
addrinfos[0][0] == AF_INET6:
ips = ips_v6 + ips_v4
else:
ips = ips_v4 + ips_v6
for ip in ips:
uris.append(syncuri.replace(
"//" + user_name + hostname + port + "/",
"//" + user_name + ip + port + "/", 1))
if not uris:
# With some configurations we need to use the plain hostname
# rather than try to resolve the ip addresses (bug #340817).
uris.append(syncuri)
# reverse, for use with pop()
uris.reverse()
effective_maxretries = maxretries
if effective_maxretries < 0:
effective_maxretries = len(uris) - 1
while (1):
if uris:
dosyncuri = uris.pop()
else:
writemsg("!!! Exhausted addresses for %s\n" % \
hostname, noiselevel=-1)
return (1, False)
if (retries==0):
if "--ask" in opts:
uq = UserQuery(opts)
if uq.query("Do you want to sync your Portage tree " + \
"with the mirror at\n" + blue(dosyncuri) + bold("?"),
enter_invalid) == "No":
print()
print("Quitting.")
print()
sys.exit(128 + signal.SIGINT)
self.logger(self.xterm_titles,
">>> Starting rsync with " + dosyncuri)
if "--quiet" not in opts:
print(">>> Starting rsync with "+dosyncuri+"...")
else:
self.logger(self.xterm_titles,
">>> Starting retry %d of %d with %s" % \
(retries, effective_maxretries, dosyncuri))
writemsg_stdout(
"\n\n>>> Starting retry %d of %d with %s\n" % \
(retries, effective_maxretries, dosyncuri), noiselevel=-1)
if dosyncuri.startswith('ssh://'):
dosyncuri = dosyncuri[6:].replace('/', ':/', 1)
is_synced, exitcode = self._do_rsync(dosyncuri, timestamp, opts)
if is_synced:
break
retries=retries+1
if maxretries < 0 or retries <= maxretries:
print(">>> Retrying...")
else:
# over retries
# exit loop
updatecache_flg=False
exitcode = EXCEEDED_MAX_RETRIES
break
self._process_exitcode(exitcode, dosyncuri, out, maxretries)
return (exitcode, updatecache_flg)
示例9: main
def main(settings=None, logger=None):
"""Main program operation method....
@param settings: dict. defaults to settings.DEFAULTS
@param logger: python logging module defaults to init_logger(settings)
@return boolean success/failure
"""
if settings is None:
print("NO Input settings, using defaults...")
settings = DEFAULTS.copy()
if logger is None:
logger = init_logger(settings)
_libs_to_check = settings['library']
if not settings['stdout'].isatty() or settings['nocolor']:
nocolor()
logger.warning(blue(' * ') +
yellow('This is the new python coded version'))
logger.warning(blue(' * ') +
yellow('Please report any bugs found using it.'))
logger.warning(blue(' * ') +
yellow('The original revdep-rebuild script is '
'installed as revdep-rebuild.sh'))
logger.warning(blue(' * ') +
yellow('Please file bugs at: '
'https://bugs.gentoo.org/'))
if os.getuid() != 0 and not settings['PRETEND']:
logger.warning(blue(' * ') +
yellow('You are not root, adding --pretend to portage options'))
settings['PRETEND'] = True
logger.debug("\tmain(), _libs_to_check = %s" % str(_libs_to_check))
if settings['USE_TMP_FILES'] \
and check_temp_files(settings['DEFAULT_TMP_DIR'], logger=logger):
libraries, la_libraries, libraries_links, binaries = read_cache(
settings['DEFAULT_TMP_DIR'])
assigned, orphaned = analyse(
settings=settings,
logger=logger,
libraries=libraries,
la_libraries=la_libraries,
libraries_links=libraries_links,
binaries=binaries,
_libs_to_check=_libs_to_check)
else:
assigned, orphaned = analyse(settings, logger, _libs_to_check=_libs_to_check)
if not assigned and not orphaned:
logger.warning('\n' + bold('Your system is consistent'))
# return the correct exit code
return 0
elif orphaned:
# blank line for beter visibility of the following lines
logger.warning('')
if settings['library']:
logger.warning(red(' !!! Dependant orphaned files: ') +
bold('No installed package was found for the following:'))
else:
logger.warning(red(' !!! Broken orphaned files: ') +
bold('No installed package was found for the following:'))
for filename in orphaned:
logger.warning(red('\t* ') + filename)
success = rebuild(logger, assigned, settings)
logger.debug("rebuild return code = %i" %success)
return success
示例10: update
#.........这里部分代码省略.........
uris.append(syncuri.replace(
"//" + user_name + hostname + port + "/",
"//" + user_name + ip + port + "/", 1))
if not uris:
# With some configurations we need to use the plain hostname
# rather than try to resolve the ip addresses (bug #340817).
uris.append(syncuri)
# reverse, for use with pop()
uris.reverse()
uris_orig = uris[:]
effective_maxretries = maxretries
if effective_maxretries < 0:
effective_maxretries = len(uris) - 1
local_state_unchanged = True
while (1):
if uris:
dosyncuri = uris.pop()
elif maxretries < 0 or retries > maxretries:
writemsg("!!! Exhausted addresses for %s\n"
% _unicode_decode(hostname), noiselevel=-1)
return (1, False)
else:
uris.extend(uris_orig)
dosyncuri = uris.pop()
if (retries==0):
if "--ask" in opts:
uq = UserQuery(opts)
if uq.query("Do you want to sync your ebuild repository " + \
"with the mirror at\n" + blue(dosyncuri) + bold("?"),
enter_invalid) == "No":
print()
print("Quitting.")
print()
sys.exit(128 + signal.SIGINT)
self.logger(self.xterm_titles,
">>> Starting rsync with " + dosyncuri)
if "--quiet" not in opts:
print(">>> Starting rsync with "+dosyncuri+"...")
else:
self.logger(self.xterm_titles,
">>> Starting retry %d of %d with %s" % \
(retries, effective_maxretries, dosyncuri))
writemsg_stdout(
"\n\n>>> Starting retry %d of %d with %s\n" % \
(retries, effective_maxretries, dosyncuri), noiselevel=-1)
if dosyncuri.startswith('ssh://'):
dosyncuri = dosyncuri[6:].replace('/', ':/', 1)
unchanged, is_synced, exitcode, updatecache_flg = self._do_rsync(
dosyncuri, timestamp, opts)
if not unchanged:
local_state_unchanged = False
if is_synced:
break
retries=retries+1
if maxretries < 0 or retries <= maxretries:
print(">>> Retrying...")
else:
示例11: analyse
def analyse(settings, logger, libraries=None, la_libraries=None,
libraries_links=None, binaries=None, _libs_to_check=None):
"""Main program body. It will collect all info and determine the
pkgs needing rebuilding.
@param logger: logger used for logging messages, instance of logging.Logger
class. Can be logging (RootLogger).
@param _libs_to_check Libraries that need to be checked only
@rtype list: list of pkgs that need rebuilding
"""
searchbits = set()
'''if _libs_to_check:
for lib in _libs_to_check:
if "lib64" in lib:
searchbits.add('64')
elif "lib32" in lib:
searchbits.add('32')
else:
_libs_to_check = set()'''
searchbits.update(['64', '32'])
masked_dirs, masked_files, ld = parse_revdep_config(settings['REVDEP_CONFDIR'])
masked_dirs.update([
'/lib/modules',
'/lib32/modules',
'/lib64/modules',
]
)
if '64' not in searchbits:
masked_dirs.update(['/lib64', '/usr/lib64'])
elif '32' not in searchbits:
masked_dirs.update(['/lib32', '/usr/lib32'])
all_masks = masked_dirs.copy()
all_masks.update(masked_files)
logger.debug("\tall_masks:")
for x in sorted(all_masks):
logger.debug('\t\t%s' % (x))
if libraries and la_libraries and libraries_links and binaries:
logger.info(blue(' * ') +
bold('Found a valid cache, skipping collecting phase'))
else:
#TODO: add partial cache (for ex. only libraries)
# when found for some reason
stime = current_milli_time()
logger.warning(green(' * ') +
bold('Collecting system binaries and libraries'))
bin_dirs, lib_dirs = prepare_search_dirs(logger, settings)
lib_dirs.update(ld)
bin_dirs.update(ld)
logger.debug('\tanalyse(), bin directories:')
for x in sorted(bin_dirs):
logger.debug('\t\t%s' % (x))
logger.debug('\tanalyse(), lib directories:')
for x in sorted(lib_dirs):
logger.debug('\t\t%s' % (x))
logger.debug('\tanalyse(), masked directories:')
for x in sorted(masked_dirs):
logger.debug('\t\t%s' % (x))
logger.debug('\tanalyse(), masked files:')
for x in sorted(masked_files):
logger.debug('\t\t%s' % (x))
ftime = current_milli_time()
logger.debug('\ttime to complete task: %d milliseconds' % (ftime-stime))
stime = current_milli_time()
logger.info(green(' * ') +
bold('Collecting dynamic linking informations'))
libraries, la_libraries, libraries_links = \
collect_libraries_from_dir(lib_dirs, all_masks, logger)
binaries = collect_binaries_from_dir(bin_dirs, all_masks, logger)
ftime = current_milli_time()
logger.debug('\ttime to complete task: %d milliseconds' % (ftime-stime))
if settings['USE_TMP_FILES']:
save_cache(logger=logger,
to_save={'libraries':libraries, 'la_libraries':la_libraries,
'libraries_links':libraries_links, 'binaries':binaries
},
temp_path=settings['DEFAULT_TMP_DIR']
)
logger.debug('\tanalyse(), Found %i libraries (+%i symlinks) and %i binaries' %
(len(libraries), len(libraries_links), len(binaries))
)
logger.info(green(' * ') + bold('Scanning files'))
libs_and_bins = libraries.union(binaries)
scanned_files = scan_files(libs_and_bins, settings['CMD_MAX_ARGS'],
logger, searchbits)
#.........这里部分代码省略.........