Kaydet (Commit) 096246ef authored tarafından Fatih Aşıcı's avatar Fatih Aşıcı

cli/check: Style fixes

üst f7e4ad62
# -*- coding:utf-8 -*- # -*- coding:utf-8 -*-
# #
# Copyright (C) 2005 - 2011, TUBITAK/UEKAE # Copyright (C) 2005-2011, TUBITAK/UEKAE
# #
# This program is free software; you can redistribute it and/or modify it under # This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free # the terms of the GNU General Public License as published by the Free
...@@ -19,10 +19,11 @@ _ = __trans.ugettext ...@@ -19,10 +19,11 @@ _ = __trans.ugettext
import pisi.api import pisi.api
import pisi.cli.command as command import pisi.cli.command as command
import pisi.context as ctx import pisi.context as ctx
import pisi.util as util
import pisi.db import pisi.db
class Check(command.Command):
__doc__ = _("""Verify installation usage = _("""Verify installation
Usage: check [<package1> <package2> ... <packagen>] Usage: check [<package1> <package2> ... <packagen>]
...@@ -34,6 +35,11 @@ Just give the names of packages. ...@@ -34,6 +35,11 @@ Just give the names of packages.
If no packages are given, checks all installed packages. If no packages are given, checks all installed packages.
""") """)
class Check(command.Command):
__doc__ = usage
__metaclass__ = command.autocommand __metaclass__ = command.autocommand
def __init__(self, args): def __init__(self, args):
...@@ -45,19 +51,29 @@ If no packages are given, checks all installed packages. ...@@ -45,19 +51,29 @@ If no packages are given, checks all installed packages.
def options(self): def options(self):
group = optparse.OptionGroup(self.parser, _("check options")) group = optparse.OptionGroup(self.parser, _("check options"))
group.add_option("-c", "--component", action="store",
default=None, help=_("Check installed packages under given component")) group.add_option("-c", "--component",
group.add_option("--config", action="store_true", action="store",
default=False, help=_("Checks only changed config files of the packages")) default=None,
help=_("Check installed packages under "
"given component"))
group.add_option("--config",
action="store_true",
default=False,
help=_("Checks only changed config files of "
"the packages"))
self.parser.add_option_group(group) self.parser.add_option_group(group)
def run(self): def run(self):
self.init(database = True, write = False) self.init(database=True, write=False)
component = ctx.get_option('component') component = ctx.get_option('component')
if component: if component:
installed = pisi.api.list_installed() installed = pisi.api.list_installed()
component_pkgs = self.componentdb.get_union_packages(component, walk=True) component_pkgs = self.componentdb.get_union_packages(component,
walk=True)
pkgs = list(set(installed) & set(component_pkgs)) pkgs = list(set(installed) & set(component_pkgs))
elif self.args: elif self.args:
pkgs = self.args pkgs = self.args
...@@ -79,28 +95,39 @@ If no packages are given, checks all installed packages. ...@@ -79,28 +95,39 @@ If no packages are given, checks all installed packages.
for pkg in pkgs: for pkg in pkgs:
if self.installdb.has_package(pkg): if self.installdb.has_package(pkg):
check_results = pisi.api.check(pkg, check_config) check_results = pisi.api.check(pkg, check_config)
ctx.ui.info("%s %s" % ((prefix % pkg), ' ' * (maxpkglen - len(pkg))), noln=True) ctx.ui.info("%s %s" % ((prefix % pkg),
' ' * (maxpkglen - len(pkg))),
noln=True)
if check_results['missing'] or check_results['corrupted'] \ if check_results['missing'] or check_results['corrupted'] \
or check_results['config']: or check_results['config']:
ctx.ui.info(pisi.util.colorize(_("Broken"), 'brightred')) ctx.ui.info(util.colorize(_("Broken"), 'brightred'))
elif check_results['denied']: elif check_results['denied']:
# We can't deduce a result when some files can't be accessed # We can't deduce a result when some files
# can't be accessed
necessary_permissions = False necessary_permissions = False
ctx.ui.info(pisi.util.colorize(_("Unknown"), 'yellow')) ctx.ui.info(util.colorize(_("Unknown"), 'yellow'))
else: else:
ctx.ui.info(pisi.util.colorize(_("OK"), 'green')) ctx.ui.info(util.colorize(_("OK"), 'green'))
continue continue
# Dump per file stuff # Dump per file stuff
for fpath in check_results['missing']: for fpath in check_results['missing']:
ctx.ui.info(pisi.util.colorize(_("Missing file: /%s") % fpath, 'brightred')) ctx.ui.info(util.colorize(
_("Missing file: /%s") % fpath, 'brightred'))
for fpath in check_results['denied']: for fpath in check_results['denied']:
ctx.ui.info(pisi.util.colorize(_("Access denied: /%s") % fpath, 'yellow')) ctx.ui.info(util.colorize(
_("Access denied: /%s") % fpath, 'yellow'))
for fpath in check_results['corrupted']: for fpath in check_results['corrupted']:
ctx.ui.info(pisi.util.colorize(_("Corrupted file: /%s") % fpath, 'brightyellow')) ctx.ui.info(util.colorize(
_("Corrupted file: /%s") % fpath, 'brightyellow'))
for fpath in check_results['config']: for fpath in check_results['config']:
ctx.ui.info(pisi.util.colorize(_("Modified configuration file: /%s") % fpath, 'brightyellow')) ctx.ui.info(util.colorize(
_("Modified configuration file: /%s") % fpath,
'brightyellow'))
else: else:
# Package is not installed # Package is not installed
...@@ -108,6 +135,8 @@ If no packages are given, checks all installed packages. ...@@ -108,6 +135,8 @@ If no packages are given, checks all installed packages.
if not necessary_permissions: if not necessary_permissions:
ctx.ui.info("") ctx.ui.info("")
ctx.ui.warning(_("Pisi was unable to check the integrity of packages which contain files that you don't have read access.\n" ctx.ui.warning(_("Pisi was unable to check the integrity of "
"Running the check under a privileged user may help fixing this problem.")) "packages which contain files that you don't "
"have read access.\n"
"Running the check under a privileged user "
"may help fixing this problem."))
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment