python更新与github / bitbucket私人回购 [英] pyinstaller updater with github / bitbucket private repos

查看:346
本文介绍了python更新与github / bitbucket私人回购的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图将pyinstaller与私人回购的更新功能集成在一起。我的问题是,有没有一种方法可以将pyupdater与免费的替代方法整合在一起,例如:bitbucket私有回购协议? Pyupdater倾向于为公共回购工作,但我无法解决如何为私人回购做到这一点。



配置文件:

  class ClientConfig(object):
PUBLIC_KEY ='无'
APP_NAME ='dad123'
COMPANY_NAME ='dad123'
UPDATE_URLS = ['ssh://git@bitbucket.org/Tysondogerz/ssh/download']
MAX_DOWNLOAD_RETRIES = 3

创建ssh非常简单:

ssh-keygen -t rsa -Cyouremail@example.com



因此...

Main.py

 #!/ usr / bin / env python3 $ b $ from __future__ import print_function 
import time
import argparse
import os
import signal
import sys
从selenium导入日志记录
导入webdriver

logging.basicConfig(level = logging.DEBUG)

from client_config从pyupdater导入ClientConfig
。客户端导入客户端,AppUpdate,LibUpdate

Ssh_key = DWDJKWNADKJWANDJKWANDWJKDNAWJKDNWAKDNWAJDKWANDJKWANDWAJKDNWAKJDWNADKJWANDWAJKDNAWJKDNWAJKDNWAJKDWNADJKWANDJKWANDKJWADNWAJKDNWAJKNWQWQDWQNDJKQWNDJKWQNDWQJKDNWQJKDNWKJDNWKJANDWJKNDWJKNDWDUWDNWDHDUIWHDIUWHDUIWHDUIWHDIUWHDUIWHDWUDHWUIHDWUDHUhottyouremail@example.com

客户端=客户端(ClientConfig(),SSH = { 'ssh_key'})

。从pyupdater.client进口客户
from client_config import ClientConfig

$ b $ def print_status_info(info):
total = info.get(u'total')
downloaded = info.get( u'downloaded')
status = info.get(u'status')
打印下载的总数状态

$ b client = Client(ClientConfig())
client.refresh()

client.add_progress_hook(print_status_info)


client = Client(ClientConfig(),refresh = True,
progress_hooks = [print_status_info])

lib_update = client.update_check(ASSET_NAME,ASSET_VERSION)

lib _update = client.update_check(ASSET_NAME,ASSET_VERSION,channel ='beta')

如果lib_update不是无:
lib_update.download()
driver = webdriver.Firefox()
driver.get('http://stackoverflow.com')


if __name__ ==__main__:
main()


解决方案

下载部分无法通过SSH访问。您需要通过HTTPS使用其他形式的身份验证来检索这些文件。 (应用程序密码可能是您的最佳选择,因为它们可以作用域非常明确,必要时丢弃。)


I'm attempting to integrate pyinstaller with updating feature for private repo’s. My question, is there a way to integrate pyupdater with free alternatives such as: bitbucket private repos? Pyupdater tends to work for public repo’s but I cannot workout how I can achieve this for private repo’s.

Config file:

class ClientConfig(object):
    PUBLIC_KEY = 'None'
    APP_NAME = 'dad123'
    COMPANY_NAME = 'dad123'
    UPDATE_URLS = ['ssh://git@bitbucket.org/Tysondogerz/ssh/download']
    MAX_DOWNLOAD_RETRIES = 3

Creating an ssh is easy enough:

ssh-keygen -t rsa -C "youremail@example.com"

So…

Main.py

#!/usr/bin/env python3
from __future__ import print_function
import time
import argparse
import os
import signal
import sys
import logging
from selenium import webdriver

logging.basicConfig(level=logging.DEBUG)

from client_config import ClientConfig
from pyupdater.client import Client, AppUpdate, LibUpdate

Ssh_key  = DWDJKWNADKJWANDJKWANDWJKDNAWJKDNWAKDNWAJDKWANDJKWANDWAJKDNWAKJDWNADKJWANDWAJKDNAWJKDNWAJKDNWAJKDWNADJKWANDJKWANDKJWADNWAJKDNWAJKNWQWQDWQNDJKQWNDJKWQNDWQJKDNWQJKDNWKJDNWKJANDWJKNDWJKNDWDUWDNWDHDUIWHDIUWHDUIWHDUIWHDIUWHDUIWHDWUDHWUIHDWUDHUhottyouremail@example.com

    client = Client(ClientConfig(), ssh={'ssh_key'})

    from pyupdater.client import Client
from client_config import ClientConfig


def print_status_info(info):
    total = info.get(u'total')
    downloaded = info.get(u'downloaded')
    status = info.get(u'status')
    print downloaded, total, status


client = Client(ClientConfig())
client.refresh()

client.add_progress_hook(print_status_info)


client = Client(ClientConfig(), refresh=True,
                        progress_hooks=[print_status_info])

lib_update = client.update_check(ASSET_NAME, ASSET_VERSION)

lib_update = client.update_check(ASSET_NAME, ASSET_VERSION, channel='beta')

if lib_update is not None:
    lib_update.download()
        driver = webdriver.Firefox()
        driver.get('http://stackoverflow.com')


if __name__ == "__main__":
    main()

解决方案

The Downloads section is not accessible via SSH. You'll need to use other forms of authentication over HTTPS to retrieve those files. (Application passwords may be your best option here, since they can be scoped very specifically and discarded as necessary.)

这篇关于python更新与github / bitbucket私人回购的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆