Skip to content

Commit 7f649da

Browse files
committed
feat: migrate state folders
1 parent 7de3462 commit 7f649da

File tree

2 files changed

+47
-0
lines changed

2 files changed

+47
-0
lines changed

spicetify.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ func init() {
111111
}
112112

113113
utils.MigrateConfigFolder()
114+
utils.MigrateFolders()
114115
cmd.InitConfig(quiet)
115116

116117
if len(commands) < 1 {

src/utils/path-utils.go

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,52 @@ func MigrateConfigFolder() {
2424
}
2525
}
2626

27+
func MigrateFolders() {
28+
backupPath := filepath.Join(GetSpicetifyFolder(), "Backup")
29+
extractedPath := filepath.Join(GetSpicetifyFolder(), "Extracted")
30+
31+
if _, err := os.Stat(backupPath); err == nil {
32+
newBackupPath := GetStateFolder("Backup")
33+
oldAbs, err := filepath.Abs(backupPath)
34+
if err != nil {
35+
Fatal(err)
36+
}
37+
newAbs, err := filepath.Abs(newBackupPath)
38+
if err != nil {
39+
Fatal(err)
40+
}
41+
42+
if oldAbs != newAbs {
43+
PrintBold("Migrating spicetify state (Backup, Extracted) folders")
44+
err := Copy(backupPath, newBackupPath, true, nil)
45+
if err != nil {
46+
Fatal(err)
47+
}
48+
os.RemoveAll(backupPath)
49+
}
50+
}
51+
52+
if _, err := os.Stat(extractedPath); err == nil {
53+
newExtractedPath := GetStateFolder("Extracted")
54+
oldAbs, err := filepath.Abs(extractedPath)
55+
if err != nil {
56+
Fatal(err)
57+
}
58+
newAbs, err := filepath.Abs(newExtractedPath)
59+
if err != nil {
60+
Fatal(err)
61+
}
62+
if oldAbs != newAbs {
63+
PrintBold("Migrating spicetify state (Backup, Extracted) folders")
64+
err := Copy(extractedPath, newExtractedPath, true, nil)
65+
if err != nil {
66+
Fatal(err)
67+
}
68+
os.RemoveAll(extractedPath)
69+
}
70+
}
71+
}
72+
2773
func ReplaceEnvVarsInString(input string) string {
2874
var replacements []string
2975
for _, v := range os.Environ() {

0 commit comments

Comments
 (0)