1
0
mirror of https://github.com/hanxi/xiaomusic.git synced 2026-05-09 00:34:25 +08:00

fix: 尝试解决七牛设备问题

This commit is contained in:
涵曦
2024-12-15 07:58:25 +08:00
parent 24a40882df
commit 14e7a151a3
3 changed files with 61 additions and 25 deletions

View File

@@ -69,32 +69,35 @@ class Analytics:
return None
async def post_to_umami(self, event):
url = "https://umami.hanxi.cc/api/send"
user_agent = self._get_user_agent()
event.set_event_param(name="useragent", value=user_agent)
data = {
"payload": {
"hostname": self.config.hostname,
"language": "zh-CN",
"referrer": "",
"screen": "430x932",
"title": "后端统计",
"url": "/backend",
"website": "7bfb0890-4115-4260-8892-b391513e7e99",
"name": event.get_event_name(),
"data": event.get_event_params(),
},
"type": "event",
}
async with aiohttp.ClientSession() as session:
headers = {
"User-Agent": user_agent,
try:
url = "https://umami.hanxi.cc/api/send"
user_agent = self._get_user_agent()
event.set_event_param(name="useragent", value=user_agent)
data = {
"payload": {
"hostname": self.config.hostname,
"language": "zh-CN",
"referrer": "",
"screen": "430x932",
"title": "后端统计",
"url": "/backend",
"website": "7bfb0890-4115-4260-8892-b391513e7e99",
"name": event.get_event_name(),
"data": event.get_event_params(),
},
"type": "event",
}
# self.log.info(f"headers {headers}, {data}")
async with session.post(url, json=data, headers=headers) as response:
self.log.info(f"umami Status: {response.status}")
await response.text()
async with aiohttp.ClientSession() as session:
headers = {
"User-Agent": user_agent,
}
# self.log.info(f"headers {headers}, {data}")
async with session.post(url, json=data, headers=headers) as response:
self.log.info(f"umami Status: {response.status}")
await response.text()
except Exception as e:
self.log.exception(f"Execption {e}")
def _get_user_agent(self):
try:

View File

@@ -45,6 +45,7 @@ from xiaomusic.utils import (
remove_common_prefix,
remove_id3_tags,
try_add_access_control_param,
update_version,
)
xiaomusic = None
@@ -571,6 +572,13 @@ async def playlistdelmusic(data: PlayListMusicObj, Verifcation=Depends(verificat
return {"ret": "Del failed, may be playlist not exist."}
# 更新版本
@app.post("/updateversion")
async def updateversion(version: str = "", Verifcation=Depends(verification)):
ret = update_version(version)
return {"ret": ret}
async def file_iterator(file_path, start, end):
async with aiofiles.open(file_path, mode="rb") as file:
await file.seek(start)

View File

@@ -1010,3 +1010,28 @@ def not_in_dirs(filename, ignore_absolute_dirs):
return False # 文件在排除目录中
return True # 文件不在排除目录中
def is_docker():
return os.path.exists("/app/.dockerenv")
def restart_xiaomusic():
if not is_docker():
ret = "xiaomusic 重启只能在 docker 中进行"
log.info(ret)
return False, ret
try:
# 重启 xiaomusic 程序
subprocess.run(["supervisorctl", "restart", "xiaomusic"], check=True)
log.info("xiaomusic 重启成功")
except subprocess.CalledProcessError as e:
log.info(f"xiaomusic 重启失败: {e}")
return False, "xiaomusic 重启失败"
return True
def update_version(version):
ok, ret = restart_xiaomusic()
if not ok:
return ret