mirror of
https://github.com/hanxi/xiaomusic.git
synced 2025-12-11 15:38:14 +08:00
Auto-Generate docs 🤖
This commit is contained in:
@@ -536,5 +536,11 @@ NeteaseCloudMusicApi似乎获取不到播放地址?其他信息倒是有。
|
|||||||
|
|
||||||
“请问 registry.cn-chengdu.aliyuncs.com/dissipator/xiaomusic:dev 有没有 ARM64 版本?我用 ARMv8 设备运行时遇到 exec format error。”
|
“请问 registry.cn-chengdu.aliyuncs.com/dissipator/xiaomusic:dev 有没有 ARM64 版本?我用 ARMv8 设备运行时遇到 exec format error。”
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 评论 20 - hanxi
|
||||||
|
|
||||||
|
我的镜像是有的,他的镜像没试过。
|
||||||
|
|
||||||
---
|
---
|
||||||
[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/269)
|
[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/269)
|
||||||
|
|||||||
88
docs/issues/417.md
Normal file
88
docs/issues/417.md
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
---
|
||||||
|
title: Jellyfin歌单同步到映射目录
|
||||||
|
---
|
||||||
|
|
||||||
|
# Jellyfin歌单同步到映射目录
|
||||||
|
|
||||||
|
因为我一直是用jellyfin 听歌, 下载的都是在Pt网站 按照歌手几十张cd一起下载,所以有非常多不想听的歌,于是歌单功能非常重要,既然Jellyfin本上就创建了歌单,我就写一个Python 来同步这个歌单,大家放在 C:\ProgramData\Jellyfin\Server\data\playlists 或者自定义的playlists文件夹中.
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
import os
|
||||||
|
import xml.etree.ElementTree as ET
|
||||||
|
import shutil
|
||||||
|
|
||||||
|
#这个文件要放在Jellyfin的C:\ProgramData\Jellyfin\Server\data\playlists 中
|
||||||
|
#这里要改成想要硬链接到的目录地址
|
||||||
|
folder_path = r'E:\music2\歌曲列表'
|
||||||
|
|
||||||
|
def create_hard_links_from_xml(file_path):
|
||||||
|
# 解析 XML 文件
|
||||||
|
tree = ET.parse(file_path)
|
||||||
|
root = tree.getroot()
|
||||||
|
|
||||||
|
# 获取 LocalTitle 标签的值
|
||||||
|
local_title = root.find('LocalTitle').text
|
||||||
|
# 构建目标目录路径
|
||||||
|
target_dir = os.path.join(folder_path, local_title)
|
||||||
|
|
||||||
|
# 检查目标目录是否存在,如果不存在则创建
|
||||||
|
if not os.path.exists(target_dir):
|
||||||
|
os.makedirs(target_dir)
|
||||||
|
|
||||||
|
# 遍历所有 PlaylistItem 节点
|
||||||
|
for playlist_item in root.findall('.//PlaylistItem'):
|
||||||
|
# 获取 Path 标签的值
|
||||||
|
file_path = playlist_item.find('Path').text
|
||||||
|
if os.path.exists(file_path):
|
||||||
|
# 获取文件名
|
||||||
|
file_name = os.path.basename(file_path)
|
||||||
|
target_file = os.path.join(target_dir, file_name)
|
||||||
|
try:
|
||||||
|
# 创建硬链接
|
||||||
|
os.link(file_path, target_file)
|
||||||
|
print(f"成功为 {file_path} 创建硬链接到 {target_file}")
|
||||||
|
except FileExistsError:
|
||||||
|
print(f"目标文件 {target_file} 已存在,跳过。")
|
||||||
|
except Exception as e:
|
||||||
|
print(f"为 {file_path} 创建硬链接时出错: {e}")
|
||||||
|
else:
|
||||||
|
print(f"源文件 {file_path} 不存在,跳过。")
|
||||||
|
|
||||||
|
shutil.rmtree(folder_path)
|
||||||
|
|
||||||
|
# 检查文件夹是否存在
|
||||||
|
if not os.path.exists(folder_path):
|
||||||
|
# 创建单层或多层文件夹
|
||||||
|
os.makedirs(folder_path)
|
||||||
|
print(f"文件夹 '{folder_path}' 创建成功")
|
||||||
|
|
||||||
|
def print_xml_content():
|
||||||
|
# 获取当前目录
|
||||||
|
current_dir = os.getcwd()
|
||||||
|
# 遍历当前目录及其所有子目录
|
||||||
|
for root, dirs, files in os.walk(current_dir):
|
||||||
|
for file in files:
|
||||||
|
# 检查文件扩展名是否为 .xml
|
||||||
|
if file.lower().endswith('.xml'):
|
||||||
|
file_path = os.path.join(root, file)
|
||||||
|
create_hard_links_from_xml(file_path)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
print_xml_content()
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 评论
|
||||||
|
|
||||||
|
|
||||||
|
### 评论 1 - colaKot
|
||||||
|
|
||||||
|
创建一个xmllink.py 文件 然后把代码放进去,双击运行就行,当然要装python
|
||||||
|
|
||||||
|
---
|
||||||
|
[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/417)
|
||||||
Reference in New Issue
Block a user