• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python yum._函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中yum._函数的典型用法代码示例。如果您正苦于以下问题:Python _函数的具体用法?Python _怎么用?Python _使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了_函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: download

    def download(self, files, download_exact_files=False):
        """ @files - """
        installed_size = 0
        total_pkgs = 0
        todownload_size = 0
        downloaded_pkgs = 0
        # nothing to download?
        if not files:
            return

        #if verbose == 0:
        #    # this suppress yum messages about setting up repositories
        #    mute_stdout()

        # make yumdownloader work as non root user
        if not self.setCacheDir():
            self.logger.error("Error: can't make cachedir, exiting")
            exit(50)

        # disable all not needed
        for repo in self.repos.listEnabled():
            try:
                repo.close()
                self.repos.disableRepo(repo.id)
            except Exception, ex:
                print _("Can't disable repository '{0!s}': {1!s}").format(repo.id, str(ex))
开发者ID:274914765,项目名称:python,代码行数:26,代码来源:debuginfo.py


示例2: unpack_rpm

def unpack_rpm(package_file_name, files, tmp_dir, destdir, keeprpm, exact_files=False):
    """
    Unpacks a single rpm located in tmp_dir into destdir.

    Arguments:
        package_file_name - name of the rpm file
        files - files to extract from the rpm
        tmp_dir - temporary directory where the rpm file is located
        destdir - destination directory for the rpm package extraction
        keeprpm - check if the user wants to delete rpms from the tmp directory
        exact_files - extract only specified files

    Returns:
        RETURN_FAILURE in case of a serious problem
    """

    package_full_path = tmp_dir + "/" + package_file_name
    log1("Extracting %s to %s", package_full_path, destdir)
    log2("%s", files)
    print _("Extracting cpio from {0}").format(package_full_path)
    unpacked_cpio_path = tmp_dir + "/unpacked.cpio"
    try:
        unpacked_cpio = open(unpacked_cpio_path, 'wb')
    except IOError, ex:
        print _("Can't write to '{0}': {1}").format(unpacked_cpio_path, ex)
        return RETURN_FAILURE
开发者ID:tylerwhall,项目名称:libreport,代码行数:26,代码来源:debuginfo.py


示例3: exIOError

 def exIOError(self, e):
     if e.errno == 32:
         self.logger.critical(_('\n\nExiting on Broken Pipe'))
     else:
         self.logger.critical(_('\n\n%s') % exception2msg(e))
     if self.unlock(): return 200
     return 1
开发者ID:rhauser,项目名称:ayum,代码行数:7,代码来源:utils.py


示例4: updateProgress

    def updateProgress(self, name, frac, fread, ftime):
        pct = int(frac * 100)
        if pct == self.last_pct:
            log2("percentage is the same, not updating progress")
            return

        self.last_pct = pct
        # if run from terminal we can have fancy output
        if sys.stdout.isatty():
            sys.stdout.write("\033[sDownloading (%i of %i) %s: %3u%%\033[u"
                    % (self.downloaded_pkgs + 1, self.total_pkgs, name, pct)
            )
            if pct == 100:
                print (_("Downloading (%i of %i) %s: %3u%%")
                        % (self.downloaded_pkgs + 1, self.total_pkgs, name, pct)
                )
        # but we want machine friendly output when spawned from abrt-server
        else:
            t = time.time()
            if self.last_time == 0:
                self.last_time = t
            # update only every 10 seconds
            if pct == 100 or self.last_time > t or t - self.last_time >= 10:
                print (_("Downloading (%i of %i) %s: %3u%%")
                        % (self.downloaded_pkgs + 1, self.total_pkgs, name, pct)
                )
                self.last_time = t
                if pct == 100:
                    self.last_time = 0

        sys.stdout.flush()
开发者ID:wyuka,项目名称:abrt,代码行数:31,代码来源:abrt-action-install-debuginfo.py


示例5: __init__

 def __init__(self, cache, tmp, repo_pattern="*debug*", keep_rpms=False,
              noninteractive=True):
     self.old_stdout = -1
     self.cachedir = cache
     self.tmpdir = tmp
     global TMPDIR
     TMPDIR = tmp
     self.keeprpms = keep_rpms
     self.noninteractive = noninteractive
     self.repo_pattern=repo_pattern
     YumBase.__init__(self)
     self.mute_stdout()
     #self.conf.cache = os.geteuid() != 0
     # Setup yum (Ts, RPM db, Repo & Sack)
     # doConfigSetup() takes some time, let user know what we are doing
     print _("Initializing yum")
     try:
         # Saw this exception here:
         # cannot open Packages index using db3 - Permission denied (13)
         # yum.Errors.YumBaseError: Error: rpmdb open failed
         self.doConfigSetup()
     except YumBaseError, ex:
         self.unmute_stdout()
         print _("Error initializing yum (YumBase.doConfigSetup): '{0!s}'").format(ex)
         #return 1 - can't do this in constructor
         exit(1)
开发者ID:tylerwhall,项目名称:libreport,代码行数:26,代码来源:debuginfo.py


示例6: prepare

    def prepare(self):
        self.mute_stdout()
        #self.conf.cache = os.geteuid() != 0
        # Setup yum (Ts, RPM db, Repo & Sack)
        # doConfigSetup() takes some time, let user know what we are doing
        try:
            # Saw this exception here:
            # cannot open Packages index using db3 - Permission denied (13)
            # yum.Errors.YumBaseError: Error: rpmdb open failed
            self.base.doConfigSetup()
        except YumBaseError as ex:
            self.unmute_stdout()
            print(_("Error initializing yum (YumBase.doConfigSetup): '{0!s}'").format(str(ex)))
            #return 1 - can't do this in constructor
            exit(1)
        self.unmute_stdout()

        # make yumdownloader work as non root user
        if not self.base.setCacheDir():
            print(_("Error: can't make cachedir, exiting"))
            return RETURN_FAILURE

        # disable all not needed
        for repo in self.base.repos.listEnabled():
            try:
                repo.close()
                self.base.repos.disableRepo(repo.id)
            except YumBaseError as ex:
                print(_("Can't disable repository '{0!s}': {1!s}").format(repo.id, str(ex)))
开发者ID:scottgfhong,项目名称:libreport,代码行数:29,代码来源:yumdebuginfo.py


示例7: exIOError

 def exIOError(e):
     if e.errno == 32:
         logger.critical(_("\n\nExiting on Broken Pipe"))
     else:
         logger.critical(_("\n\n%s") % exception2msg(e))
     if unlock():
         return 200
     return 1
开发者ID:TheApacheCats,项目名称:yum,代码行数:8,代码来源:yummain.py


示例8: exRepoError

    def exRepoError(e):
        # For RepoErrors ... help out by forcing new repodata next time.
        # XXX: clean only the repo that has failed?
        try:
            base.cleanExpireCache()
        except Errors.YumBaseError:
            # Let's not confuse the user further (they don't even know we tried
            # the clean).
            pass

        msg = _("""\
 One of the configured repositories failed (%(repo)s),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Run the command with the repository temporarily disabled
            yum --disablerepo=%(repoid)s ...

     4. Disable the repository permanently, so yum won't use it by default. Yum
        will then just ignore the repository until you permanently enable it
        again or use --enablerepo for temporary usage:

            yum-config-manager --disable %(repoid)s
        or
            subscription-manager repos --disable=%(repoid)s

     5. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=%(repoid)s.skip_if_unavailable=true
""")

        repoui = _('Unknown')
        repoid = _('<repoid>')
        try:
            repoid = e.repo.id
            repoui = e.repo.name
        except AttributeError:
            pass

        msg = msg % {'repoid' : repoid, 'repo' : repoui}

        logger.critical('\n\n%s\n%s', msg, exception2msg(e))

        if unlock(): return 200
        return 1
开发者ID:henrysher,项目名称:yum,代码行数:56,代码来源:yummain.py


示例9: downloadErrorCallback

def downloadErrorCallback(callBackObj):
    """
    A callback function for mirror errors.
    """

    print _("Problem '{0!s}' occured while downloading from mirror: '{1!s}'. Trying next one").format(
        callBackObj.exception, callBackObj.mirror)
    # explanation of the return value can be found here:
    # /usr/lib/python2.7/site-packages/urlgrabber/mirror.py
    return {'fail':0}
开发者ID:tylerwhall,项目名称:libreport,代码行数:10,代码来源:debuginfo.py


示例10: unpack_rpm

def unpack_rpm(package_file_name, files, tmp_dir, destdir, keeprpm, exact_files=False):
    package_full_path = tmp_dir + "/" + package_file_name
    log1("Extracting %s to %s", package_full_path, destdir)
    log2("%s", files)
    print _("Extracting cpio from {0}").format(package_full_path)
    unpacked_cpio_path = tmp_dir + "/unpacked.cpio"
    try:
        unpacked_cpio = open(unpacked_cpio_path, 'wb')
    except IOError, ex:
        print _("Can't write to '{0}': {1}").format(unpacked_cpio_path, ex)
        return RETURN_FAILURE
开发者ID:274914765,项目名称:python,代码行数:11,代码来源:debuginfo.py


示例11: unpack_rpm

def unpack_rpm(package_nevra, files, tmp_dir, destdir, keeprpm):
    package_name = package_nevra + ".rpm"
    package_full_path = tmp_dir + "/" + package_name
    log1("Extracting %s to %s", package_full_path, destdir)
    log2("%s", files)
    print _("Extracting cpio from %s") % (package_full_path)
    unpacked_cpio_path = tmp_dir + "/unpacked.cpio"
    try:
        unpacked_cpio = open(unpacked_cpio_path, 'wb')
    except IOError, ex:
        print _("Can't write to '%s': %s") % (unpacked_cpio_path, ex)
        return RETURN_FAILURE
开发者ID:wyuka,项目名称:abrt,代码行数:12,代码来源:abrt-action-install-debuginfo.py


示例12: exIOError

    def exIOError(self, e):
        """Output a message stating that the program is exiting due to
        an IO exception.

        :param e: the IO exception
        :return: the exit code
        """
        if e.errno == 32:
            self.logger.critical(_('\n\nExiting on Broken Pipe'))
        else:
            self.logger.critical(_('\n\n%s') % exception2msg(e))
        if self.unlock(): return 200
        return 1
开发者ID:akozumpl,项目名称:yum,代码行数:13,代码来源:utils.py


示例13: __init__

 def __init__(self):
     self.messages = {}
     self.failed = []
     self.action = {
         yum.constants.TS_UPDATE: yum._('Updating'),
         yum.constants.TS_ERASE: yum._('Erasing'),
         yum.constants.TS_INSTALL: yum._('Installing'),
         yum.constants.TS_TRUEINSTALL: yum._('Installing'),
         yum.constants.TS_OBSOLETED: yum._('Obsoleted'),
         yum.constants.TS_OBSOLETING: yum._('Installing'),
         yum.constants.TS_UPDATED: yum._('Cleanup'),
         'repackaging': yum._('Repackaging')
     }
     # The fileaction are not translated, most sane IMHO / Tim
     self.fileaction = {
         yum.constants.TS_UPDATE: 'Updated',
         yum.constants.TS_ERASE: 'Erased',
         yum.constants.TS_INSTALL: 'Installed',
         yum.constants.TS_TRUEINSTALL: 'Installed',
         yum.constants.TS_OBSOLETED: 'Obsoleted',
         yum.constants.TS_OBSOLETING: 'Installed',
         yum.constants.TS_UPDATED: 'Cleanup'
     }
     self.logger = logging.getLogger(
         'yum.filelogging.RPMInstallCallback')
开发者ID:sitepoint,项目名称:salt,代码行数:25,代码来源:yumpkg.py


示例14: __init__

 def __init__(self):
     yum.rpmtrans.RPMBaseCallback.__init__(self)
     self.messages = {}
     self.failed = []
     self.action = {
         yum.constants.TS_UPDATE: yum._("Updating"),
         yum.constants.TS_ERASE: yum._("Erasing"),
         yum.constants.TS_INSTALL: yum._("Installing"),
         yum.constants.TS_TRUEINSTALL: yum._("Installing"),
         yum.constants.TS_OBSOLETED: yum._("Obsoleted"),
         yum.constants.TS_OBSOLETING: yum._("Installing"),
         yum.constants.TS_UPDATED: yum._("Cleanup"),
         "repackaging": yum._("Repackaging"),
     }
     # The fileaction are not translated, most sane IMHO / Tim
     self.fileaction = {
         yum.constants.TS_UPDATE: "Updated",
         yum.constants.TS_ERASE: "Erased",
         yum.constants.TS_INSTALL: "Installed",
         yum.constants.TS_TRUEINSTALL: "Installed",
         yum.constants.TS_OBSOLETED: "Obsoleted",
         yum.constants.TS_OBSOLETING: "Installed",
         yum.constants.TS_UPDATED: "Cleanup",
     }
     self.logger = logging.getLogger("yum.filelogging.RPMInstallCallback")
开发者ID:joehealy,项目名称:pkg-salt,代码行数:25,代码来源:yumpkg.py


示例15: snapshot

    def snapshot(self, percentage=100, prefix="", postfix=None, tags={}):
        """ Attempt to take a snapshot, note that errors can happen after
            this function succeeds. """

        if postfix is None:
            postfix = "%s%s" % (self.postfix_static, datetime.now().strftime("%Y%m%d%H%M%S.%f"))

        ret = []
        for vgname in self._vgnames:
            use = self._use_dev(vgname)
            if use is not None and not use:
                continue

            vg = lvm.vgOpen(vgname, "w")
            if not vg:
                raise _ResultError(_("Unknown error when opening volume group ") + vgname)

            for lv in vg.listLVs():
                lvname = lv.getName()

                if not self._use_dev(vgname, lv):
                    continue

                nlvname = "%s%s%s" % (prefix, lvname, postfix)
                nlv = lv.snapshot(nlvname, (lv.getSize() * percentage) / 100)
                if not nlv:  # Failed here ... continuing seems bad.
                    vg.close()
                    raise _ResultError(_("Unknown error when creating snapshot ") + nlvname)

                odev = "%s/%s" % (vgname, lvname)
                ndev = "%s/%s" % (vgname, nlvname)

                # FIXME: yum_fssnapshot_pre_lv_name=<blah>
                eq_tags = set()
                for val in (ndev, odev, "*"):
                    for tag in tags.get(val, []):
                        if "=" in tag:
                            eq_tag_key, eq_tag_val = tag.split("=", 1)
                            if eq_tag_key in eq_tags:
                                continue
                            eq_tags.add(eq_tag_key)

                        nlv.addTag(tag)

                ret.append((odev, ndev))

            vg.close()

        return ret
开发者ID:dmnks,项目名称:yum,代码行数:49,代码来源:fssnapshots.py


示例16: ask_yes_no

def ask_yes_no(prompt, retries=4):
    while True:
        try:
            response = raw_input(prompt)
        except EOFError:
            log1("got eof, probably executed from helper, assuming - yes")
            return True
        if response in (_("y")): # for translators -> y/Y as yes
            return True
        if response in ("", _("n")): # for translators -> N/n as no
            return False
        retries = retries - 1
        if retries < 0:
            break
    return False
开发者ID:wyuka,项目名称:abrt,代码行数:15,代码来源:abrt-action-install-debuginfo.py


示例17: _list_vg_names

def _list_vg_names():
    try:
        names = lvm.listVgNames()
    except LibLVMError:
        # Try to use the lvm binary instead
        names = []

    if not names:  # Could be just broken...
        p = subprocess.Popen(["/sbin/lvm", "vgs", "-o", "vg_name"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
        err = p.wait()
        if err:
            raise _ResultError(_("Failed to obtain volume group names"))

        output = p.communicate()[0]
        output = output.split("\n")
        if not output:
            return []
        header = output[0].strip()
        if header != "VG":
            return []
        names = []
        for name in output[1:]:
            if not name:
                break
            names.append(name.strip())

    return names
开发者ID:dmnks,项目名称:yum,代码行数:27,代码来源:fssnapshots.py


示例18: clean_up

def clean_up():
    if tmpdir:
        try:
            shutil.rmtree(tmpdir)
        except OSError, ex:
            if ex.errno != errno.ENOENT:
                error_msg(_("Can't remove '{0}': {1}").format(tmpdir, ex))
开发者ID:274914765,项目名称:python,代码行数:7,代码来源:debuginfo.py


示例19: rpmdb_warn_checks

 def rpmdb_warn_checks():
     try:
         probs = base._rpmdb_warn_checks(out=verbose_logger.info, warn=False)
     except Errors.YumBaseError, e:
         # This is mainly for PackageSackError from rpmdb.
         verbose_logger.info(_(" Yum checks failed: %s"), exception2msg(e))
         probs = []
开发者ID:Distrotech,项目名称:yum,代码行数:7,代码来源:yummain.py


示例20: has_space

    def has_space(self, percentage=100):
        """ See if we have enough space to try a snapshot. """

        ret = False
        for vgname in self._vgnames:
            use = self._use_dev(vgname)
            if use is not None and not use:
                continue

            vg = lvm.vgOpen(vgname, "r")
            if not vg:
                raise _ResultError(_("Unknown error when opening volume group ") + vgname)

            vgfsize = vg.getFreeSize()
            lvssize = 0

            for lv in vg.listLVs():
                if not self._use_dev(vgname, lv):
                    continue

                lvssize += lv.getSize()

            vg.close()

            if not lvssize:
                continue
            ret = True

            if (lvssize * percentage) > (100 * vgfsize):
                return False

        return ret
开发者ID:dmnks,项目名称:yum,代码行数:32,代码来源:fssnapshots.py



注:本文中的yum._函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python yum.YumBase类代码示例发布时间:2022-05-26
下一篇:
Python database.DbSession类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap