package main import ( "strings" "go.wit.com/lib/cobol" "go.wit.com/lib/protobuf/zoopb" "go.wit.com/log" ) func getDebianControlFile(p *zoopb.Package, varname string) (string, string) { switch varname { case "Package": return "Package", p.Package case "Filename": return "Filename", p.Filename case "Version": return "Version", p.Version case "Architecture": return "Architecture", p.Architecture case "Maintainer": return "Maintainer", p.DebInfo.Maintainer // return "Maintainer", p.Author case "Source": return "Source", p.DebInfo.Source case "Conflicts": return "Conflicts", p.DebInfo.Conflicts case "Packager": return "Packager", p.DebInfo.Packager // return "Packager", p.Packager case "Depends": return "Depends", p.DebInfo.Depends case "BuildDepends": return "Build-Depends", p.DebInfo.BuildDepends case "InstalledSize": return "Installed-Size", "222222222" case "URL": return "Homepage", p.DebInfo.URL case "Size": return "Size", "22222222" case "BuildDate": return "Build-Date", cobol.Time(p.BuildDate) // case "SHA1": // return "SHA1", p.DebInfo.SHA1 case "MD5SUM": return "MD5Sum", p.DebInfo.MD5SUM case "SHA256": return "SHA256", p.DebInfo.SHA256 case "SHA512": return "SHA512", "" // todo: implement or totally rediculously overkill ? } log.Info("DebInfo sent a field we didn't have. fix the code above", varname) return "", "" } // make a list of the newest .deb files func doMakePackagesFile(all *zoopb.Packages) string { var pfile string for p := range all.IterAll() { var controlfile string parts, err := zoopb.GetDebInfoFields(p) if err != nil { log.Info(err) } for _, varname := range parts { varname, varval := getDebianControlFile(p, varname) varval = strings.TrimSpace(varval) if varval == "" { continue } controlfile += log.Sprintf("%s: %s\n", varname, varval) } controlfile += log.Sprintf("\n") pfile += controlfile } return pfile }