42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
import os
|
|
import sys
|
|
from dotenv import load_dotenv
|
|
import shutil
|
|
import requests
|
|
from qiniu import Auth
|
|
|
|
|
|
def install_zola():
|
|
version = os.environ["INPUT_VERSION"]
|
|
access_key = os.environ["INPUT_ACCESS_KEY"]
|
|
secret_key = os.environ["INPUT_SECRET_KEY"]
|
|
endpoint = os.environ["INPUT_ENDPOINT"]
|
|
bucket = "omybucket"
|
|
|
|
zola_filename = "zola-" + version
|
|
|
|
try:
|
|
q = Auth(access_key, secret_key)
|
|
base_url = "%s/%s" % (endpoint, zola_filename)
|
|
private_url = q.private_download_url(base_url, expires=3600)
|
|
response = requests.get(private_url)
|
|
|
|
if response.status_code == 200:
|
|
# 将文件内容保存到本地
|
|
with open(zola_filename, "wb") as f:
|
|
f.write(response.content)
|
|
print("文件下载成功!")
|
|
else:
|
|
raise Exception(f"下载失败: {response.status_code}")
|
|
|
|
shutil.copy(zola_filename, "/usr/local/bin/zola")
|
|
os.chmod("/usr/local/bin/zola", 0o755)
|
|
except Exception as e:
|
|
print(f"Error: {str(e)}")
|
|
sys.exit(1)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
load_dotenv()
|
|
install_zola()
|