expect.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:hammercloud 作者: gtmanfred 项目源码 文件源码
def script(self, logininfo, filepath):
        '''
        run script on managed cloud server using /usr/bin/env expect
        '''
        if not logininfo.admin_password:
            raise Exception('Unmanaged Cloud Server: no rack password')

        if '/' in filepath:
            logininfo.script = filepath.split('/')[-1]
        else:
            logininfo.script = filepath

        if filepath.startswith('https://'):
            newpath = os.path.expanduser(
                '~/.cache/hammercloud/{login.script}'.format(login=logininfo)
            )
            if not os.path.exists(newpath):
                with open(newpath, 'w') as newfile:
                    resp = requests.get(filepath)
                    print(resp.content, file=newfile)
            filepath = newpath

        sftp(
            logininfo, 'put', filepath, logininfo.script,
            quiet=True, executable=True
        )

        command = '/home/{login.ssh_user}/{login.script} {login.extraargs}; '

        if not logininfo.no_clean:
            command += 'rm /home/{login.ssh_user}/{login.script}'

        logininfo.command = command
        cmd(logininfo)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号