Use native build date when printing news

Use the build date of the newest native package instead of the install
date of any package.
This commit is contained in:
morganamilo 2018-05-17 20:09:43 +01:00
parent 6be6ffc7d2
commit d6ab6ed9ac
No known key found for this signature in database
GPG Key ID: 6FE9E7996B0B082E
2 changed files with 11 additions and 13 deletions

View File

@ -425,7 +425,7 @@ type Item struct {
Creator string `xml:"dc:creator"`
}
func (item Item) Print(installTime time.Time) {
func (item Item) Print(buildTime time.Time) {
var fd string
date, err := time.Parse(time.RFC1123Z, item.PubDate)
@ -433,8 +433,8 @@ func (item Item) Print(installTime time.Time) {
fmt.Println(err)
} else {
fd = formatTime(int(date.Unix()))
if _, double, _ := cmdArgs.getArg("news", "w"); !double && !installTime.IsZero() {
if installTime.After(date) {
if _, double, _ := cmdArgs.getArg("news", "w"); !double && !buildTime.IsZero() {
if buildTime.After(date) {
return
}
}
@ -484,18 +484,18 @@ func printNewsFeed() error {
return err
}
installTime, err := lastInstallTime()
buildTime, err := lastBuildTime()
if err != nil {
return err
}
if config.SortMode == BottomUp {
for i := len(rss.Channel.Items) - 1; i >= 0; i-- {
rss.Channel.Items[i].Print(installTime)
rss.Channel.Items[i].Print(buildTime)
}
} else {
for i := 0; i < len(rss.Channel.Items); i++ {
rss.Channel.Items[i].Print(installTime)
rss.Channel.Items[i].Print(buildTime)
}
}

View File

@ -408,22 +408,20 @@ func hangingPackages(removeOptional bool) (hanging []string, err error) {
return
}
func lastInstallTime() (time.Time, error) {
func lastBuildTime() (time.Time, error) {
var time time.Time
localDb, err := alpmHandle.LocalDb()
pkgs, _, _, _, err := filterPackages()
if err != nil {
return time, err
}
localDb.PkgCache().ForEach(func(pkg alpm.Package) error {
thisTime := pkg.InstallDate()
for _, pkg := range pkgs {
thisTime := pkg.BuildDate()
if thisTime.After(time) {
time = thisTime
}
return nil
})
}
return time, nil
}