Skip to content

Commit

Permalink
better handle version upgrade
Browse files Browse the repository at this point in the history
  • Loading branch information
giwty authored and giwty committed Sep 25, 2020
1 parent 008eeb3 commit 740963c
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 0 deletions.
37 changes: 37 additions & 0 deletions db/localSwitchFilesDB.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,31 @@ func NewLocalSwitchDBManager(baseFolder string) (*LocalSwitchDBManager, error) {
return nil, err
}

//get DB version
appVersion := ""
err = db.View(func(tx *bolt.Tx) error {
b := tx.Bucket([]byte("deep-scan"))
if b == nil {
return nil
}
v := b.Get([]byte("app_version"))
if v == nil {
err := db.Update(func(tx *bolt.Tx) error {
err = tx.DeleteBucket([]byte("deep-scan"))
return err
})
return err
}
d := gob.NewDecoder(bytes.NewReader(v))

err = d.Decode(&appVersion)
if err != nil {
return err
}

return nil
})

return &LocalSwitchDBManager{db: db}, nil
}

Expand Down Expand Up @@ -227,6 +252,14 @@ func (ldb *LocalSwitchDBManager) processLocalFiles(files []ExtendedFileInfo,

}

func (ldb *LocalSwitchDBManager) ClearDB() error {
err := ldb.db.Update(func(tx *bolt.Tx) error {
err := tx.DeleteBucket([]byte("deep-scan"))
return err
})
return err
}

func (ldb *LocalSwitchDBManager) getGameMetadata(file ExtendedFileInfo, filePath string, skipped map[ExtendedFileInfo]string) (map[string]*switchfs.ContentMetaAttributes, error) {

var metadata map[string]*switchfs.ContentMetaAttributes = nil
Expand Down Expand Up @@ -287,6 +320,10 @@ func (ldb *LocalSwitchDBManager) getGameMetadata(file ExtendedFileInfo, filePath
if b == nil || err != nil {
return fmt.Errorf("create bucket: %s", err)
}
err := b.Put([]byte("app_version"), []byte(settings.SLM_VERSION))
if err != nil {
zap.S().Warnf("failed to save app_version - %v", err)
}
}
var bytesBuff bytes.Buffer
encoder := gob.NewEncoder(&bytesBuff)
Expand Down
7 changes: 7 additions & 0 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,13 @@ func main() {
sugar.Infof("[Executable: %v]", exePath)
sugar.Infof("[Working directory: %v]", workingFolder)

appSettings.GUI = true

files, err := AssetDir(workingFolder)
if files == nil && err == nil {
appSettings.GUI = false
}

if appSettings.GUI {
CreateGUI(workingFolder, sugar).Start()
} else {
Expand Down

0 comments on commit 740963c

Please # to comment.