fix(#7): set default value for qmc-android-db flag to empty and adjust loading logic to use current directory's player_process_db if not specified

This commit is contained in:
鲁树人
2026-10-18 08:38:35 +09:00
parent c18a51af67
commit 8864b11d4a
+10 -2
View File
@@ -53,7 +53,7 @@ func main() {
&cli.StringFlag{Name: "qmc-mmkv", Aliases: []string{"db"}, Usage: "path to QQMusic mmkv path", Required: false},
&cli.StringFlag{Name: "qmc-mmkv-key", Aliases: []string{"key"}, Usage: "QQMusic mmkv password (16 ascii chars)", Required: false},
&cli.StringFlag{Name: "qmpc-mmkv-cli-exe", Usage: "path to QMPC MMKV Cli by LSR (v0.1.1+, auto-fetch QMC keys; Windows only)", Required: false, Value: "qmpc-mmkv-cli.exe"},
&cli.StringFlag{Name: "qmc-android-db", Usage: "path to QQMusic Android player_process_db (dump from android: /data/data/com.tencent.qqmusic/databases/)", Required: false, Value: "player_process_db"},
&cli.StringFlag{Name: "qmc-android-db", Usage: "path to QQMusic Android player_process_db (dump from android: /data/data/com.tencent.qqmusic/databases/)", Required: false, Value: ""},
&cli.StringFlag{Name: "kgg-db", Usage: "path to kgg db (win32 kugou v11)", Required: false},
&cli.BoolFlag{Name: "remove-source", Aliases: []string{"rs"}, Usage: "remove source file", Required: false, Value: false},
&cli.BoolFlag{Name: "skip-noop", Aliases: []string{"n"}, Usage: "skip noop decoder", Required: false, Value: true},
@@ -186,10 +186,18 @@ func appMain(c *cli.Context) (err error) {
if err != nil {
return err
}
qmcAndroidKeysPath := c.String("qmc-android-db")
if qmcAndroidKeysPath == "" {
// By default, use the current directory's `player_process_db` file if exists.
// Do not complain if this file does not exist.
if db, err := os.Stat("player_process_db"); err == nil && !db.IsDir() {
qmcAndroidKeysPath = "player_process_db"
}
}
qmcKeys = mmkv.Merge(
qmcKeys,
qmc.LoadUserMMKV(c.String("qmc-mmkv"), c.String("qmc-mmkv-key"), logger),
qmc.LoadAndroidDB(c.String("qmc-android-db"), logger),
qmc.LoadAndroidDB(qmcAndroidKeysPath, logger),
)
kggDbPath := c.String("kgg-db")