Don't add duplicate scenes,galleries to the DB

This commit is contained in:
bill
2019-08-13 16:41:56 +03:00
parent 39bdede110
commit 1fdb00fa0e

View File

@@ -46,9 +46,15 @@ func (t *ScanTask) scanGallery() {
tx := database.DB.MustBeginTx(ctx, nil) tx := database.DB.MustBeginTx(ctx, nil)
gallery, _ = qb.FindByChecksum(checksum, tx) gallery, _ = qb.FindByChecksum(checksum, tx)
if gallery != nil { if gallery != nil {
logger.Infof("%s already exists. Updating path...", t.FilePath) exists, _ := utils.FileExists(t.FilePath)
gallery.Path = t.FilePath if exists {
_, err = qb.Update(*gallery, tx) logger.Infof("%s already exists. Duplicate of %s ", t.FilePath, gallery.Path)
} else {
logger.Infof("%s already exists. Updating path...", t.FilePath)
gallery.Path = t.FilePath
_, err = qb.Update(*gallery, tx)
}
} else { } else {
logger.Infof("%s doesn't exist. Creating new item...", t.FilePath) logger.Infof("%s doesn't exist. Creating new item...", t.FilePath)
currentTime := time.Now() currentTime := time.Now()
@@ -95,9 +101,14 @@ func (t *ScanTask) scanScene() {
ctx := context.TODO() ctx := context.TODO()
tx := database.DB.MustBeginTx(ctx, nil) tx := database.DB.MustBeginTx(ctx, nil)
if scene != nil { if scene != nil {
logger.Infof("%s already exists. Updating path...", t.FilePath) exists, _ := utils.FileExists(t.FilePath)
scene.Path = t.FilePath if exists {
_, err = qb.Update(*scene, tx) logger.Infof("%s already exists. Duplicate of %s ", t.FilePath, scene.Path)
} else {
logger.Infof("%s already exists. Updating path...", t.FilePath)
scene.Path = t.FilePath
_, err = qb.Update(*scene, tx)
}
} else { } else {
logger.Infof("%s doesn't exist. Creating new item...", t.FilePath) logger.Infof("%s doesn't exist. Creating new item...", t.FilePath)
currentTime := time.Now() currentTime := time.Now()