package main import ( "time" "go.wit.com/lib/ENV" "go.wit.com/lib/cobol" "go.wit.com/lib/protobuf/zoopb" "go.wit.com/log" ) // make a list of the newest .deb files func doGetNewest(arch string) *zoopb.Packages { newest := zoopb.NewPackages() for p := range me.pb.IterAll() { if p.Architecture != arch { continue } found := newest.FindByPackage(p.Package) if found == nil { // package is new if ENV.Verbose() { log.Printf("%-20.20s %-20.20s %-80.80s\n", "new package", p.Package, p.Filename) } newest.Clone(p) continue } curtime := p.Ctime.AsTime() newtime := found.Ctime.AsTime() durs := cobol.Since(p.Ctime) + " vs found " + cobol.Since(found.Ctime) if time.Since(curtime) > time.Since(newtime) { if ENV.Verbose() { log.Printf("%-20.20s %-20.20s %-80.80s %s\n", "found is newer", p.Package, p.Filename, durs) } } else { if ENV.Verbose() { log.Printf("%-20.20s %-20.20s %-80.80s %s\n", "found is older", p.Package, p.Filename, durs) } newest.Delete(found) newest.Clone(p) } } newest.SortPackage() return newest }