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

Python util.get_clean_env函数代码示例

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

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



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

示例1: run_hook

def run_hook(component, script, *args):
    """
    Generic script hook executor.
    """
    if script:
        command = [script]
        if args:
            command.extend(args)
        environment = get_clean_env()
        if component.is_repo_link:
            target = component.linked_subproject
        else:
            target = component
        environment['WL_VCS'] = target.vcs
        environment['WL_REPO'] = target.repo
        environment['WL_PATH'] = target.get_path()
        environment['WL_FILEMASK'] = component.filemask
        environment['WL_FILE_FORMAT'] = component.file_format
        try:
            subprocess.check_call(
                command,
                env=environment,
                cwd=component.get_path(),
            )
            return True
        except (OSError, subprocess.CalledProcessError) as err:
            component.log_error(
                'failed to run hook script %s: %s',
                script,
                err
            )
            return False
开发者ID:josben77,项目名称:weblate,代码行数:32,代码来源:scripts.py


示例2: generate_ssh_key

def generate_ssh_key(request):
    """
    Generates SSH key.
    """
    # Create directory if it does not exist
    key_dir = os.path.dirname(RSA_KEY_FILE)

    # Try generating key
    try:
        if not os.path.exists(key_dir):
            os.makedirs(key_dir)

        subprocess.check_output(
            [
                'ssh-keygen', '-q',
                '-N', '',
                '-C', 'Weblate',
                '-t', 'rsa',
                '-f', RSA_KEY_FILE[:-4]
            ],
            stderr=subprocess.STDOUT,
            env=get_clean_env(),
        )
        messages.success(request, _('Created new SSH key.'))
    except (subprocess.CalledProcessError, OSError) as exc:
        messages.error(
            request,
            _('Failed to generate key: %s') %
            getattr(exc, 'output', str(exc))
        )
开发者ID:Cervator,项目名称:weblate,代码行数:30,代码来源:admin_views.py


示例3: create_new_file

 def create_new_file(cls, filename, code, base):
     """Handles creation of new translation file."""
     with open(base, 'r') as handle:
         data = handle.read()
     # Assume input is UTF-8 if not specified
     if b'Content-Type: text/plain; charset=CHARSET' in data:
         data = data.replace(
             b'Content-Type: text/plain; charset=CHARSET',
             b'Content-Type: text/plain; charset=UTF-8'
         )
     process = subprocess.Popen(
         [
             'msginit',
             '--input', '-',
             '--output', filename,
             '--no-translator',
             '--locale', code
         ],
         stdin=subprocess.PIPE,
         stdout=subprocess.PIPE,
         stderr=subprocess.PIPE,
         env=get_clean_env(),
     )
     output, output_err = process.communicate(input=data)
     retcode = process.poll()
     if retcode:
         raise ValueError(output_err if output_err else output)
开发者ID:franco999,项目名称:weblate,代码行数:27,代码来源:formats.py


示例4: generate_ssh_key

def generate_ssh_key(request):
    """
    Generates SSH key.
    """
    try:
        # Create directory if it does not exist
        ensure_ssh_dir()

        # Actually generate the key
        subprocess.check_output(
            [
                'ssh-keygen', '-q',
                '-N', '',
                '-C', 'Weblate',
                '-t', 'rsa',
                '-f', ssh_file(RSA_KEY)
            ],
            stderr=subprocess.STDOUT,
            env=get_clean_env(),
        )
        messages.success(request, _('Created new SSH key.'))
    except (subprocess.CalledProcessError, OSError) as exc:
        messages.error(
            request,
            _('Failed to generate key: %s') %
            getattr(exc, 'output', str(exc))
        )
开发者ID:josben77,项目名称:weblate,代码行数:27,代码来源:ssh.py


示例5: add_host_key

def add_host_key(request):
    """
    Adds host key for a host.
    """
    ensure_ssh_dir()
    host = request.POST.get('host', '')
    port = request.POST.get('port', '')
    if len(host) == 0:
        messages.error(request, _('Invalid host name given!'))
    else:
        cmdline = ['ssh-keyscan']
        if port:
            cmdline.extend(['-p', port])
        cmdline.append(host)
        try:
            output = subprocess.check_output(
                cmdline,
                stderr=subprocess.STDOUT,
                env=get_clean_env(),
            )
            keys = []
            for key in output.splitlines():
                key = key.strip()
                if not is_key_line(key):
                    continue
                keys.append(key)
                host, keytype, fingerprint = parse_hosts_line(key)
                messages.warning(
                    request,
                    _(
                        'Added host key for %(host)s with fingerprint '
                        '%(fingerprint)s (%(keytype)s), '
                        'please verify that it is correct.'
                    ) % {
                        'host': host,
                        'fingerprint': fingerprint,
                        'keytype': keytype,
                    }
                )
            if len(keys) == 0:
                messages.error(
                    request,
                    _('Failed to fetch public key for a host!')
                )
            with open(ssh_file(KNOWN_HOSTS), 'a') as handle:
                for key in keys:
                    handle.write('%s\n' % key)
        except subprocess.CalledProcessError as exc:
            messages.error(
                request,
                _('Failed to get host key: %s') % exc.output
            )
        except OSError as exc:
            messages.error(
                request,
                _('Failed to get host key: %s') % str(exc)
            )
开发者ID:josben77,项目名称:weblate,代码行数:57,代码来源:ssh.py


示例6: _getenv

    def _getenv():
        """Generate environment for process execution."""
        env = {'GIT_SSH': get_wrapper_filename()}

        # Add path to config if it exists
        userconfig = os.path.expanduser('~/.config/hub')
        if os.path.exists(userconfig):
            env['HUB_CONFIG'] = userconfig

        return get_clean_env(env)
开发者ID:nblock,项目名称:weblate,代码行数:10,代码来源:git.py


示例7: _getenv

    def _getenv():
        """Generates environment for process execution."""
        env = {"GIT_SSH": ssh_file(SSH_WRAPPER)}

        # Add path to config if it exists
        userconfig = os.path.expanduser("~/.config/hub")
        if os.path.exists(userconfig):
            env["HUB_CONFIG"] = userconfig

        return get_clean_env(env)
开发者ID:nijel,项目名称:weblate,代码行数:10,代码来源:vcs.py


示例8: add_language

 def add_language(filename, code, base):
     """
     Adds new language file.
     """
     subprocess.check_call(
         ["msginit", "-i", base, "-o", filename, "--no-translator", "-l", code],
         stdout=subprocess.PIPE,
         stderr=subprocess.STDOUT,
         env=get_clean_env(),
     )
开发者ID:nblock,项目名称:weblate,代码行数:10,代码来源:formats.py


示例9: add_language

 def add_language(filename, code, base):
     '''
     Adds new language file.
     '''
     subprocess.check_call(
         [
             'msginit',
             '-i', base,
             '-o', filename,
             '--no-translator',
             '-l', code
         ],
         stdout=subprocess.PIPE,
         stderr=subprocess.STDOUT,
         env=get_clean_env(),
     )
开发者ID:beck,项目名称:weblate,代码行数:16,代码来源:formats.py


示例10: supports_new_language

 def supports_new_language(cls):
     '''
     Checks whether we can create new language file.
     '''
     if cls.msginit_found is None:
         try:
             ret = subprocess.check_call(
                 ['msginit', '--help'],
                 stdout=subprocess.PIPE,
                 stderr=subprocess.STDOUT,
                 env=get_clean_env(),
             )
             cls.msginit_found = (ret == 0)
         except (subprocess.CalledProcessError, OSError):
             cls.msginit_found = False
     return cls.msginit_found
开发者ID:franco999,项目名称:weblate,代码行数:16,代码来源:formats.py


示例11: can_generate_key

def can_generate_key():
    """
    Checks whether we can generate key.
    """
    try:
        ret = subprocess.check_call(
            ['which', 'ssh-keygen'],
            stdout=subprocess.PIPE,
            stderr=subprocess.STDOUT,
            env=get_clean_env(),
        )
        if ret == 0 and not os.path.exists(RSA_KEY_FILE):
            return is_home_writable()
        return False
    except subprocess.CalledProcessError:
        return False
开发者ID:blockgiven,项目名称:weblate,代码行数:16,代码来源:ssh.py


示例12: ssh

def ssh(request):
    """
    Show information and manipulate with SSH key.
    """
    # Check whether we can generate SSH key
    try:
        ret = subprocess.check_call(
            ['which', 'ssh-keygen'],
            stdout=subprocess.PIPE,
            stderr=subprocess.STDOUT,
            env=get_clean_env(),
        )
        can_generate = (ret == 0 and not os.path.exists(RSA_KEY_FILE))
    except subprocess.CalledProcessError:
        can_generate = False

    if not os.access(os.path.expanduser('~'), os.W_OK):
        can_generate = False
        messages.error(
            request,
            _('Can not write to home directory, please check documentation.')
        )

    # Grab action type
    action = request.POST.get('action', None)

    # Generate key if it does not exist yet
    if can_generate and action == 'generate':
        generate_ssh_key(request)

    # Read key data if it exists
    key = get_key_data()

    # Add host key
    if action == 'add-host':
        add_host_key(request)

    return render(
        request,
        "admin/ssh.html",
        {
            'public_key': key,
            'can_generate': can_generate,
            'host_keys': get_host_keys(),
            'ssh_docs': weblate.get_doc_url('admin/projects', 'private'),
        }
    )
开发者ID:Cervator,项目名称:weblate,代码行数:47,代码来源:admin_views.py


示例13: add_host_key

def add_host_key(request):
    """
    Adds host key for a host.
    """
    host = request.POST.get('host', '')
    port = request.POST.get('port', '')
    if len(host) == 0:
        messages.error(request, _('Invalid host name given!'))
    else:
        cmdline = ['ssh-keyscan']
        if port:
            cmdline.extend(['-p', port])
        cmdline.append(host)
        try:
            output = subprocess.check_output(
                cmdline,
                stderr=subprocess.STDOUT,
                env=get_clean_env(),
            )
            keys = [
                line
                for line in output.splitlines()
                if ' ssh-rsa ' in line or ' ecdsa-sha2-nistp256 ' in line
            ]
            for key in keys:
                host, keytype, fingerprint = parse_hosts_line(key)
                messages.warning(
                    request,
                    _(
                        'Added host key for %(host)s with fingerprint '
                        '%(fingerprint)s (%(keytype)s), '
                        'please verify that it is correct.'
                    ) % {
                        'host': host,
                        'fingerprint': fingerprint,
                        'keytype': keytype,
                    }
                )
            with open(KNOWN_HOSTS_FILE, 'a') as handle:
                for key in keys:
                    handle.write('%s\n' % key)
        except (subprocess.CalledProcessError, OSError) as exc:
            messages.error(
                request,
                _('Failed to get host key: %s') % exc.output
            )
开发者ID:Cervator,项目名称:weblate,代码行数:46,代码来源:admin_views.py


示例14: __git_commit

    def __git_commit(self, author, timestamp, sync=False):
        '''
        Commits translation to git.
        '''

        # Format commit message
        msg = self.get_commit_message()

        # Pre commit hook
        if self.subproject.pre_commit_script != '':
            try:
                subprocess.check_call(
                    [
                        self.subproject.pre_commit_script,
                        self.get_filename()
                    ],
                    env=get_clean_env(),
                )
            except (OSError, subprocess.CalledProcessError) as err:
                weblate.logger.error(
                    'Failed to run pre commit script %s: %s',
                    self.subproject.pre_commit_script,
                    err
                )

        # Create list of files to commit
        files = [self.filename]
        if self.subproject.extra_commit_file != '':
            extra_file = self.subproject.extra_commit_file % {
                'language': self.language_code,
            }
            full_path_extra = os.path.join(
                self.subproject.get_path(),
                extra_file
            )
            if os.path.exists(full_path_extra):
                files.append(extra_file)

        # Do actual commit
        self.repository.commit(
            msg, author, timestamp, files
        )

        # Optionally store updated hash
        if sync:
            self.store_hash()
开发者ID:dschlager,项目名称:weblate,代码行数:46,代码来源:translation.py


示例15: _popen

 def _popen(cls, args, cwd=None):
     if args is None:
         raise RepositoryException('Not supported functionality')
     args = [cls._cmd] + args
     process = subprocess.Popen(
         args,
         cwd=cwd,
         env=get_clean_env(),
         stdout=subprocess.PIPE,
         stderr=subprocess.PIPE,
     )
     output, output_err = process.communicate()
     retcode = process.poll()
     if retcode:
         message = output_err.strip()
         if not message:
             message = output.strip()
         raise RepositoryException(message)
     return output
开发者ID:Cervator,项目名称:weblate,代码行数:19,代码来源:vcs.py


示例16: _popen

 def _popen(cls, args, cwd=None):
     '''
     Executes the command using popen.
     '''
     if args is None:
         raise RepositoryException(0, 'Not supported functionality', '')
     args = [cls._cmd] + args
     process = subprocess.Popen(
         args,
         cwd=cwd,
         env=get_clean_env(),
         stdout=subprocess.PIPE,
         stderr=subprocess.PIPE,
     )
     output, output_err = process.communicate()
     retcode = process.poll()
     if retcode:
         raise RepositoryException(retcode, output_err, output)
     return output
开发者ID:blockgiven,项目名称:weblate,代码行数:19,代码来源:vcs.py


示例17: run_hook

 def run_hook(self, script, *args):
     """
     Generic script hook executor.
     """
     if script:
         command = [script]
         if args:
             command.extend(args)
         try:
             subprocess.check_call(
                 command,
                 env=get_clean_env(),
             )
         except (OSError, subprocess.CalledProcessError) as err:
             self.log_error(
                 'failed to run hook script %s: %s',
                 script,
                 err
             )
开发者ID:hj91,项目名称:weblate,代码行数:19,代码来源:subproject.py


示例18: _popen

 def _popen(cls, args, cwd=None):
     """
     Executes the command using popen.
     """
     if args is None:
         raise RepositoryException(0, "Not supported functionality", "")
     args = [cls._cmd] + args
     process = subprocess.Popen(
         args,
         cwd=cwd,
         env=get_clean_env({"GIT_SSH": ssh_file(SSH_WRAPPER)}),
         stdout=subprocess.PIPE,
         stderr=subprocess.PIPE,
     )
     output, output_err = process.communicate()
     retcode = process.poll()
     if retcode:
         raise RepositoryException(retcode, output_err, output)
     return output
开发者ID:beck,项目名称:weblate,代码行数:19,代码来源:vcs.py


示例19: can_generate_key

def can_generate_key():
    """
    Checks whether we can generate key.
    """
    try:
        ensure_ssh_dir()
    except OSError:
        return False

    try:
        ret = subprocess.check_call(
            ['which', 'ssh-keygen'],
            stdout=subprocess.PIPE,
            stderr=subprocess.STDOUT,
            env=get_clean_env(),
        )
        return ret == 0
    except subprocess.CalledProcessError:
        return False
开发者ID:Insoleet,项目名称:weblate,代码行数:19,代码来源:ssh.py


示例20: generate_gpg_key

def generate_gpg_key():
    try:
        subprocess.check_output(
            [
                'gpg',
                '--batch',
                '--pinentry-mode', 'loopback',
                '--passphrase', '',
                '--quick-generate-key',
                settings.WEBLATE_GPG_IDENTITY,
                settings.WEBLATE_GPG_ALGO,
                'default', 'never',
            ],
            stderr=subprocess.STDOUT,
            env=get_clean_env(),
        )
        return get_gpg_key()
    except (subprocess.CalledProcessError, OSError) as exc:
        add_configuration_error('GPG key generating', force_text(exc))
        return None
开发者ID:daleathan,项目名称:weblate,代码行数:20,代码来源:gpg.py



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
Python util.get_site_url函数代码示例发布时间:2022-05-26
下一篇:
Python util.cleanup_repo_url函数代码示例发布时间: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