Skip to content

Commit

Permalink
change(database): only search for missing items that have aired / in …
Browse files Browse the repository at this point in the history
…cinemas.
  • Loading branch information
l3uddz committed Feb 3, 2020
1 parent e45bb02 commit 0f3a099
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 8 deletions.
2 changes: 1 addition & 1 deletion cmd/cutoff.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ var cutoffCmd = &cobra.Command{
}()

// get media items from database
mediaItems, err := database.GetMediaItems(lowerPvrName, "cutoff")
mediaItems, err := database.GetMediaItems(lowerPvrName, "cutoff", false)
if err != nil {
log.WithError(err).Fatal("Failed retrieving media items from database...")
}
Expand Down
2 changes: 1 addition & 1 deletion cmd/missing.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ var missingCmd = &cobra.Command{
}()

// get media items from database
mediaItems, err := database.GetMediaItems(lowerPvrName, "missing")
mediaItems, err := database.GetMediaItems(lowerPvrName, "missing", true)
if err != nil {
log.WithError(err).Fatal("Failed retrieving media items from database...")
}
Expand Down
25 changes: 19 additions & 6 deletions database/get.go
Original file line number Diff line number Diff line change
@@ -1,14 +1,27 @@
package database

import "github.com/pkg/errors"
import (
"github.com/pkg/errors"
"time"
)

func GetMediaItems(pvrName string, wantedType string) ([]MediaItem, error) {
func GetMediaItems(pvrName string, wantedType string, excludeFuture bool) ([]MediaItem, error) {
var mediaItems []MediaItem

if err := db.Where(MediaItem{
PvrName: pvrName,
WantedType: wantedType,
}).Order("air_date_utc desc").Find(&mediaItems).Error; err != nil {
// generate query
sqlQuery := "pvr_name = ? AND wanted_type = ?"
sqlParams := []interface{}{
pvrName,
wantedType,
}

if excludeFuture {
sqlQuery += " AND air_date_utc <= ?"
sqlParams = append(sqlParams, time.Now().UTC())
}

// exec query
if err := db.Where(sqlQuery, sqlParams...).Order("air_date_utc desc").Find(&mediaItems).Error; err != nil {
return nil, errors.Wrap(err, "failed querying for media items")
}

Expand Down

0 comments on commit 0f3a099

Please sign in to comment.