当前位置: 首页>>代码示例>>Python>>正文


Python utils.execute_command函数代码示例

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


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

示例1: available_tags

    def available_tags(self):
        base = self._base_from_svn()
        tags_name = self._tags_name
        if tags_name is None:
            # Suggest to create a tags dir with the default plural /tags name.
            print("tags dir does not exist at %s" % base + 'tags')
            if utils.ask("Shall I create it"):
                cmd = 'svn mkdir %stags -m "Creating tags directory."' % (base)
                logger.info("Running %r", cmd)
                print(execute_command(cmd))
                tags_name = self._tags_name
                assert tags_name == 'tags'
            else:
                sys.exit(0)

        tag_info = execute_command('svn list %s%s' % (base, tags_name))
        network_errors = [
            'Could not resolve hostname',
            'E670008',
            'Repository moved',
            'Unable to connect',
        ]
        found_errors = [1 for network_error in network_errors
                        if network_error in tag_info]
        if found_errors:
            logger.error('Network problem: %s', tag_info)
            sys.exit(1)
        tags = [line.replace('/', '').strip()
                for line in tag_info.split('\n')]
        tags = [tag for tag in tags if tag]  # filter empty ones
        logger.debug("Available tags: %r", tags)
        return tags
开发者ID:blampe,项目名称:zest.releaser,代码行数:32,代码来源:svn.py

示例2: get_setup_py_name

 def get_setup_py_name(self):
     if os.path.exists('setup.py'):
         # First run egg_info, as that may get rid of some warnings
         # that otherwise end up in the extracted name, like
         # UserWarnings.
         utils.execute_command(utils.setup_py('egg_info'))
         return utils.execute_command(utils.setup_py('--name')).strip()
开发者ID:awello,项目名称:zest.releaser,代码行数:7,代码来源:vcs.py

示例3: _tags_name

    def _tags_name(self):
        """Return name for tags dir

        Normally the plural /tags, but some projects have the singular /tag.

        """
        default_plural = 'tags'
        fallback_singular = 'tag'
        # svn 1.7 introduced a slightly different message and a warning code.
        failure_messages = ["non-existent in that revision",
                            "W160013",
                            ]
        base = self._base_from_svn()
        tag_info = execute_command('svn list %s%s' % (base, default_plural))
        # Look for one of the failure messages:
        found = [1 for mess in failure_messages if mess in tag_info]
        if not found:
            return default_plural
        logger.debug("tags dir does not exist at %s%s", base, default_plural)

        tag_info = execute_command('svn list %s%s' % (base, fallback_singular))
        # Look for one of the failure messages:
        found = [1 for mess in failure_messages if mess in tag_info]
        if not found:
            return fallback_singular
        logger.debug("tags dir does not exist at %s%s, either", base,
                     fallback_singular)
        return None
开发者ID:blampe,项目名称:zest.releaser,代码行数:28,代码来源:svn.py

示例4: _upload_distributions

    def _upload_distributions(self, package):
        # See if creating an sdist (and maybe a wheel) actually works.
        # Also, this makes the sdist (and wheel) available for plugins.
        # And for twine, who will just upload the created files.
        logger.info(
            "Making a source distribution of a fresh tag checkout (in %s).",
            self.data['tagworkingdir'])
        result = utils.execute_command(utils.setup_py('sdist'))
        utils.show_interesting_lines(result)
        if self.pypiconfig.create_wheel():
            logger.info("Making a wheel of a fresh tag checkout (in %s).",
                        self.data['tagworkingdir'])
            result = utils.execute_command(utils.setup_py('bdist_wheel'))
        utils.show_interesting_lines(result)
        if not self.pypiconfig.is_pypi_configured():
            logger.error(
                "You must have a properly configured %s file in "
                "your home dir to upload to a Python package index.",
                pypi.DIST_CONFIG_FILE)
            if utils.ask("Do you want to continue without uploading?",
                         default=False):
                return
            sys.exit(1)

        # Run extra entry point
        self._run_hooks('before_upload')

        # Get list of all files to upload.
        files_in_dist = sorted([
            os.path.join('dist', filename) for filename in os.listdir('dist')]
        )

        # Get servers/repositories.
        servers = self.pypiconfig.distutils_servers()

        register = self.pypiconfig.register_package()
        for server in servers:
            default = True
            exact = False
            if server == 'pypi' and not package_in_pypi(package):
                logger.info("This package does NOT exist yet on PyPI.")
                # We are not yet on pypi.  To avoid an 'Oops...,
                # sorry!' when registering and uploading an internal
                # package we default to False here.
                default = False
                exact = True
            question = "Upload"
            if register:
                question = "Register and upload"
            if utils.ask("%s to %s" % (question, server),
                         default=default, exact=exact):
                if register:
                    logger.info("Registering...")
                    # We only need the first file, it has all the needed info
                    self._retry_twine('register', server, files_in_dist[:1])
                self._retry_twine('upload', server, files_in_dist)
开发者ID:zestsoftware,项目名称:zest.releaser,代码行数:56,代码来源:release.py

示例5: fillchangelog

def fillchangelog(context):
    default_location = None
    setup_cfg = pypi.SetupConfig()
    config = setup_cfg.config
    if config and config.has_option('zest.releaser', 'history_file'):
        default_location = config.get('zest.releaser', 'history_file')

    vcs = zest.releaser.choose.version_control()
    history_file = vcs.history_file(location=default_location)
    if history_file:

        try:
            found = zest.releaser.utils.get_last_tag(vcs)
            log_command = vcs.cmd_log_since_tag(found)
        except SystemExit:
            log_command = get_all_commits_command(vcs)

        if log_command:
            data = execute_command(log_command)
            pretty_data = prettyfy_logs(data, vcs)

            print('These are all the commits since the last tag:')
            print('')
            print('\n'.join(pretty_data))

            if zest.releaser.utils.ask('Do you want to add those commits to the CHANGES file?', True):
                new_history_lines = []
                history_lines, history_encoding = read_text_file(history_file)
                history_lines = history_lines.split('\n')
                for line in history_lines:
                    current_position = history_lines.index(line)
                    new_history_lines.append(line)
                    if line.lower().find('unreleased') != -1:
                        # current_position + 1 == ----------------
                        # current_position + 2 ==   blank
                        # current_position + 3 == - Nothing changed yet.
                        # current_position + 4 ==   blank
                        new_history_lines.append(history_lines[current_position + 1])
                        new_history_lines.append(history_lines[current_position + 2])
                        new_history_lines.extend(pretty_data)
                        new_history_lines.extend(history_lines[current_position + 4:])
                        break

                contents = '\n'.join(new_history_lines)
                write_text_file(history_file, contents)
                msg = 'Update changelog'
                commit_cmd = vcs.cmd_commit(msg)
                commit = execute_command(commit_cmd)
                print(commit)
    else:
        print('History file not found. Skipping.')
开发者ID:codesyntax,项目名称:cs.zestreleaser.changelog,代码行数:51,代码来源:__init__.py

示例6: is_clean_checkout

 def is_clean_checkout(self):
     """Is this a clean checkout?
     """
     head = execute_command('git symbolic-ref --quiet HEAD')
     # This returns something like 'refs/heads/maurits-warn-on-tag'
     # or nothing.  Nothing would be bad as that indicates a
     # detached head: likely a tag checkout
     if not head:
         # Greetings from Nearly Headless Nick.
         return False
     if execute_command('git status --short --untracked-files=no'):
         # Uncommitted changes in files that are tracked.
         return False
     return True
开发者ID:blampe,项目名称:zest.releaser,代码行数:14,代码来源:git.py

示例7: prepare_checkout_dir

 def prepare_checkout_dir(self, prefix):
     # Watch out: some git versions can't clone into an existing
     # directory, even when it is empty.
     temp = tempfile.mkdtemp(prefix=prefix)
     cwd = os.getcwd()
     os.chdir(temp)
     cmd = 'git clone %s %s' % (self.workingdir, 'gitclone')
     logger.debug(execute_command(cmd))
     clonedir = os.path.join(temp, 'gitclone')
     os.chdir(clonedir)
     cmd = 'git submodule update --init --recursive'
     logger.debug(execute_command(cmd))
     os.chdir(cwd)
     return clonedir
开发者ID:blampe,项目名称:zest.releaser,代码行数:14,代码来源:git.py

示例8: prepare_checkout_dir

 def prepare_checkout_dir(self, prefix):
     # Watch out: some git versions can't clone into an existing
     # directory, even when it is empty.
     temp = tempfile.mkdtemp(prefix=prefix)
     cwd = os.getcwd()
     os.chdir(temp)
     cmd = ['git', 'clone', '--depth', '1', self.reporoot, 'gitclone']
     logger.debug(execute_command(cmd))
     clonedir = os.path.join(temp, 'gitclone')
     os.chdir(clonedir)
     cmd = ['git', 'submodule', 'update', '--init', '--recursive']
     logger.debug(execute_command(cmd))
     os.chdir(cwd)
     return clonedir
开发者ID:zestsoftware,项目名称:zest.releaser,代码行数:14,代码来源:git.py

示例9: available_tags

 def available_tags(self):
     tag_info = execute_command('hg tags')
     tags = [line[:line.find(' ')] for line in tag_info.split('\n')]
     tags = [tag for tag in tags if tag]
     tags.remove('tip')  # Not functional for us
     logger.debug("Available tags: %r", tags)
     return tags
开发者ID:blampe,项目名称:zest.releaser,代码行数:7,代码来源:hg.py

示例10: checkout_from_tag

 def checkout_from_tag(self, version):
     package = self.name
     prefix = '%s-%s-' % (package, version)
     tagdir = self.prepare_checkout_dir(prefix)
     os.chdir(tagdir)
     cmd = self.cmd_checkout_from_tag(version, tagdir)
     print(utils.execute_command(cmd))
开发者ID:awello,项目名称:zest.releaser,代码行数:7,代码来源:vcs.py

示例11: get_setup_py_version

 def get_setup_py_version(self):
     if os.path.exists('setup.py'):
         # First run egg_info, as that may get rid of some warnings
         # that otherwise end up in the extracted version, like
         # UserWarnings.
         utils.execute_command(utils.setup_py('egg_info'))
         version = utils.execute_command(
             utils.setup_py('--version')).splitlines()[0]
         if 'Traceback' in version:
             # Likely cause is for example forgetting to 'import
             # os' when using 'os' in setup.py.
             logger.critical('The setup.py of this package has an error:')
             print(version)
             logger.critical('No version found.')
             sys.exit(1)
         return utils.strip_version(version)
开发者ID:awello,项目名称:zest.releaser,代码行数:16,代码来源:vcs.py

示例12: is_clean_checkout

 def is_clean_checkout(self):
     """Is this a clean checkout?
     """
     # The --quiet option ignores untracked (unknown and ignored)
     # files, which seems reasonable.
     if execute_command('hg status --quiet'):
         # Local changes.
         return False
     return True
开发者ID:blampe,项目名称:zest.releaser,代码行数:9,代码来源:hg.py

示例13: checkout_from_tag

 def checkout_from_tag(self, version):
     package = self.name
     prefix = '%s-%s-' % (package, version)
     # Not all hg versions can do a checkout in an existing or even
     # just in the current directory.
     tagdir = tempfile.mktemp(prefix=prefix)
     cmd = self.cmd_checkout_from_tag(version, tagdir)
     print(execute_command(cmd))
     os.chdir(tagdir)
开发者ID:blampe,项目名称:zest.releaser,代码行数:9,代码来源:hg.py

示例14: _diff_and_commit

 def _diff_and_commit(self):
     diff_cmd = self.vcs.cmd_diff()
     diff = execute_command(diff_cmd)
     if sys.version.startswith('2.6.2'):
         # python2.6.2 bug... http://bugs.python.org/issue5170 This is the
         # spot it can surface as we show a part of the changelog which can
         # contain every kind of character.  The rest is mostly ascii.
         print("Diff results:")
         print(diff)
     else:
         # Common case
         logger.info("The '%s':\n\n%s\n", diff_cmd, diff)
     if utils.ask("OK to commit this"):
         msg = self.data['commit_msg'] % self.data
         msg = self.update_commit_message(msg)
         commit_cmd = self.vcs.cmd_commit(msg)
         commit = execute_command(commit_cmd)
         logger.info(commit)
开发者ID:awello,项目名称:zest.releaser,代码行数:18,代码来源:prerelease.py

示例15: _svn_info

 def _svn_info(self):
     """Return svn url"""
     our_info = execute_command('svn info')
     if not hasattr(self, '_cached_url'):
         url = [line for line in our_info.split('\n')
                if line.startswith('URL')][0]
         # In English, you have 'URL:', in French 'URL :'
         self._cached_url = url.split(':', 1)[1].strip()
     return self._cached_url
开发者ID:blampe,项目名称:zest.releaser,代码行数:9,代码来源:svn.py


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