mirror of
https://github.com/ikunshare/Onekey.git
synced 2026-01-15 17:43:22 +08:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
628b92b86d | ||
|
|
ee8c2242f2 | ||
|
|
76340538b8 | ||
|
|
c693220d73 | ||
|
|
324e537c60 |
8
.github/workflows/release.yml
vendored
8
.github/workflows/release.yml
vendored
@@ -70,7 +70,7 @@ jobs:
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
tag_name: v${{ env.PACKAGE_VERSION }}
|
||||
files: build/Onekey---v${{ env.PACKAGE_VERSION }}.exe
|
||||
files: build/Onekey_v${{ env.PACKAGE_VERSION }}.exe
|
||||
prerelease: false
|
||||
draft: false
|
||||
env:
|
||||
@@ -87,13 +87,13 @@ jobs:
|
||||
gitee_release_body: I don't know
|
||||
gitee_target_commitish: main
|
||||
gitee_upload_retry_times: 3
|
||||
gitee_file_name: Onekey---v${{ env.PACKAGE_VERSION }}.exe
|
||||
gitee_file_path: build/Onekey---v${{ env.PACKAGE_VERSION }}.exe
|
||||
gitee_file_name: Onekey_v${{ env.PACKAGE_VERSION }}.exe
|
||||
gitee_file_path: build/Onekey_v${{ env.PACKAGE_VERSION }}.exe
|
||||
|
||||
- name: Upload to Telegram Channel
|
||||
run: |
|
||||
& curl -F "chat_id=${{ secrets.TELEGRAM_TO }}" `
|
||||
-F "document=@build/Onekey---v${{ env.PACKAGE_VERSION }}.exe" `
|
||||
-F "document=@build/Onekey_v${{ env.PACKAGE_VERSION }}.exe" `
|
||||
-F "caption=Onekey's New Update ${{ env.PACKAGE_VERSION }}" `
|
||||
-F "parse_mode=Markdown" `
|
||||
"https://api.telegram.org/bot${{ secrets.TELEGRAM_TOKEN }}/sendDocument"
|
||||
|
||||
0
common/__init__.py
Normal file
0
common/__init__.py
Normal file
45
common/log.py
Normal file
45
common/log.py
Normal file
@@ -0,0 +1,45 @@
|
||||
import os
|
||||
import colorama
|
||||
import logging
|
||||
import logzero
|
||||
from logzero import setup_logger, LogFormatter
|
||||
from .variable import LOG_FILE, DEBUG_MODE
|
||||
|
||||
if not os.path.exists(f"./logs"):
|
||||
os.makedirs(f"./logs")
|
||||
|
||||
|
||||
def log(name: str) -> logging.Logger:
|
||||
if DEBUG_MODE:
|
||||
level = logzero.DEBUG
|
||||
else:
|
||||
level = logzero.INFO
|
||||
|
||||
colors = {
|
||||
logzero.DEBUG: colorama.Fore.CYAN,
|
||||
logzero.INFO: colorama.Fore.GREEN,
|
||||
logzero.WARNING: colorama.Fore.YELLOW,
|
||||
logzero.ERROR: colorama.Fore.RED,
|
||||
logzero.CRITICAL: colorama.Fore.MAGENTA,
|
||||
}
|
||||
|
||||
terminal_formatter = LogFormatter(
|
||||
color=True,
|
||||
fmt="%(color)s%(message)s%(end_color)s",
|
||||
datefmt="%Y-%m-%d %H:%M:%S",
|
||||
colors=colors,
|
||||
)
|
||||
|
||||
logger = setup_logger(name, level=level, formatter=terminal_formatter)
|
||||
|
||||
if LOG_FILE:
|
||||
logfile = f"./logs/{name}.log"
|
||||
file_handler = logging.FileHandler(logfile)
|
||||
file_formatter = logging.Formatter(
|
||||
"[%(asctime)s] | [%(name)s:%(levelname)s] | [%(module)s.%(funcName)s:%(lineno)d] - %(message)s",
|
||||
datefmt="%Y-%m-%d %H:%M:%S",
|
||||
)
|
||||
file_handler.setFormatter(file_formatter)
|
||||
logger.addHandler(file_handler)
|
||||
|
||||
return logger
|
||||
65
common/variable.py
Normal file
65
common/variable.py
Normal file
@@ -0,0 +1,65 @@
|
||||
import httpx
|
||||
import sys
|
||||
import winreg
|
||||
import ujson as json
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
def get_steam_path(config: dict) -> Path:
|
||||
"""获取Steam安装路径"""
|
||||
try:
|
||||
if custom_path := config.get("Custom_Steam_Path"):
|
||||
return Path(custom_path)
|
||||
|
||||
with winreg.OpenKey(winreg.HKEY_CURRENT_USER, r"Software\Valve\Steam") as key:
|
||||
return Path(winreg.QueryValueEx(key, "SteamPath")[0])
|
||||
except Exception as e:
|
||||
print(f"Steam路径获取失败: {str(e)}")
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
DEFAULT_CONFIG = {
|
||||
"Github_Personal_Token": "",
|
||||
"Custom_Steam_Path": "",
|
||||
"Debug_Mode": False,
|
||||
"Logging_Files": True,
|
||||
"QA1": "Github Personal Token可在GitHub设置的Developer settings中生成",
|
||||
"教程": "https://ikunshare.com/Onekey_tutorial",
|
||||
}
|
||||
|
||||
|
||||
def generate_config() -> None:
|
||||
try:
|
||||
with open(Path("./config.json"), "w", encoding="utf-8") as f:
|
||||
f.write(json.dumps(DEFAULT_CONFIG, indent=2, ensure_ascii=False))
|
||||
print("配置文件已生成")
|
||||
except IOError as e:
|
||||
print(f"配置文件创建失败: {str(e)}")
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
def load_config() -> dict:
|
||||
if not Path("./config.json").exists():
|
||||
generate_config()
|
||||
print("请填写配置文件后重新运行程序")
|
||||
sys.exit(0)
|
||||
|
||||
try:
|
||||
with open(Path("./config.json"), "r", encoding="utf-8") as f:
|
||||
return json.loads(f.read())
|
||||
except json.JSONDecodeError:
|
||||
print("配置文件损坏,正在重新生成...")
|
||||
generate_config()
|
||||
sys.exit(1)
|
||||
except Exception as e:
|
||||
print(f"配置加载失败: {str(e)}")
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
CLIENT = httpx.AsyncClient(verify=False)
|
||||
CONFIG = load_config()
|
||||
DEBUG_MODE = CONFIG.get("Debug_Mode", False)
|
||||
LOG_FILE = CONFIG.get("Logging_Files", True)
|
||||
GITHUB_TOKEN = str(CONFIG.get("Github_Personal_Token", ""))
|
||||
STEAM_PATH = get_steam_path(CONFIG)
|
||||
HEADER = {"Authorization": f"Bearer {GITHUB_TOKEN}"} if GITHUB_TOKEN else None
|
||||
2
main.py
2
main.py
@@ -44,7 +44,7 @@ def init() -> None:
|
||||
\_____/ |_| \_| |_____| |_| \_\ |_____| /_/
|
||||
"""
|
||||
logger.info(banner)
|
||||
logger.info("作者: ikun0014 | 版本: 1.4.0 | 官网: ikunshare.com")
|
||||
logger.info("作者: ikun0014 | 版本: 1.4.1 | 官网: ikunshare.com")
|
||||
logger.info("项目仓库: GitHub: https://github.com/ikunshare/Onekey")
|
||||
logger.info("ikunshare.com | 严禁倒卖")
|
||||
logger.info("提示: 请确保已安装Windows 10/11并正确配置Steam;SteamTools/GreenLuma")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "onekey",
|
||||
"version": "1.4.0",
|
||||
"version": "1.4.1",
|
||||
"description": "一个Steam仓库清单下载器",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
|
||||
Reference in New Issue
Block a user