Merge pull request #1647 from calmh/fix-localindexupdated

Homogenize the LocalIndexUpdated event
This commit is contained in:
Audrius Butkevicius 2015-04-17 08:14:38 +01:00
commit 9eb679d70a

View File

@ -1035,8 +1035,8 @@ func (m *Model) updateLocals(folder string, fs []protocol.FileInfo) {
m.fmut.RUnlock()
events.Default.Log(events.LocalIndexUpdated, map[string]interface{}{
"folder": folder,
"numFiles": len(fs),
"folder": folder,
"items": len(fs),
})
}
@ -1197,19 +1197,12 @@ nextSub:
batchSize := 100
batch := make([]protocol.FileInfo, 0, batchSize)
for f := range fchan {
events.Default.Log(events.LocalIndexUpdated, map[string]interface{}{
"folder": folder,
"name": f.Name,
"modified": time.Unix(f.Modified, 0),
"flags": fmt.Sprintf("0%o", f.Flags),
"size": f.Size(),
})
if len(batch) == batchSize {
if err := m.CheckFolderHealth(folder); err != nil {
l.Infof("Stopping folder %s mid-scan due to folder error: %s", folder, err)
return err
}
fs.Update(protocol.LocalDeviceID, batch)
m.updateLocals(folder, batch)
batch = batch[:0]
}
batch = append(batch, f)
@ -1248,7 +1241,7 @@ nextSub:
}
if len(batch) == batchSize {
fs.Update(protocol.LocalDeviceID, batch)
m.updateLocals(folder, batch)
batch = batch[:0]
}
@ -1263,13 +1256,6 @@ nextSub:
Modified: f.Modified,
Version: f.Version, // The file is still the same, so don't bump version
}
events.Default.Log(events.LocalIndexUpdated, map[string]interface{}{
"folder": folder,
"name": f.Name,
"modified": time.Unix(f.Modified, 0),
"flags": fmt.Sprintf("0%o", f.Flags),
"size": f.Size(),
})
batch = append(batch, nf)
} else if _, err := osutil.Lstat(filepath.Join(folderCfg.Path(), f.Name)); err != nil {
// File has been deleted.
@ -1287,20 +1273,13 @@ nextSub:
Modified: f.Modified,
Version: f.Version.Update(m.shortID),
}
events.Default.Log(events.LocalIndexUpdated, map[string]interface{}{
"folder": folder,
"name": f.Name,
"modified": time.Unix(f.Modified, 0),
"flags": fmt.Sprintf("0%o", f.Flags),
"size": f.Size(),
})
batch = append(batch, nf)
}
}
return true
})
if len(batch) > 0 {
fs.Update(protocol.LocalDeviceID, batch)
m.updateLocals(folder, batch)
}
runner.setState(FolderIdle)