代码拉取完成,页面将自动刷新
同步操作将从 Gitee 极速下载/Calibre 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#!/usr/bin/env python3
# vim:fileencoding=utf-8
# License: GPL v3 Copyright: 2017, Kovid Goyal <kovid at kovidgoyal.net>
import ast
import atexit
import glob
import os
import re
import shlex
import shutil
import subprocess
import sys
import tempfile
if False:
dmg = sys.argv[-1]
mp = tempfile.mkdtemp()
atexit.register(os.rmdir, mp)
subprocess.check_call('hdiutil attach {} -mountpoint {}'.format(dmg, mp).split())
try:
os.chdir(mp)
for app in glob.glob('*.app'):
d = os.path.join('/Applications', app)
if os.path.exists(d):
shutil.rmtree(d)
subprocess.check_call('ditto -v {} {}'.format(app, os.path.join('/Applications', app)).split())
finally:
os.chdir('/')
subprocess.check_call('hdiutil detach {}'.format(mp).split())
# EOF_REMOTE
HOST = 'ox'
base = os.path.dirname(os.path.abspath(__file__))
if True:
with open(os.path.join(base, 'src/calibre/constants.py')) as f:
raw = f.read()
v = re.search(r'numeric_version\s*=\s*(\(.+?\))', raw).group(1)
v = '.'.join(map(str, ast.literal_eval(v)))
dmg = f'calibre-{v}.dmg'
def run(what):
ret = subprocess.run(shlex.split(what))
if ret.returncode != 0:
raise SystemExit(ret.returncode)
with open(__file__, 'rb') as f:
script = f.read().decode('utf-8')
script = script[:script.find('# EOF_REMOTE')].replace('if False:', 'if True:', 1)
with tempfile.NamedTemporaryFile(prefix='install-dmg-', suffix='.py') as f:
cmd = './setup.py osx --dont-shutdown'
if 'develop' in sys.argv:
print('Disabling code-signing and notarization')
cmd += ' --dont-sign --dont-notarize --dont-strip'
run(cmd)
f.write(script.encode('utf-8'))
f.flush()
run(f'scp dist/{dmg} {f.name} {HOST}:/tmp')
run(f'ssh {HOST} python3 /tmp/{os.path.basename(f.name)} /tmp/{dmg}')
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。