media: support rss movie items with tmdb ids (#22)

This commit is contained in:
l3uddz
2021-02-21 22:30:56 +00:00
committed by GitHub
parent db9fdc97a2
commit 10a70f1da2
10 changed files with 118 additions and 57 deletions

View File

@@ -34,17 +34,18 @@ func (c *Client) queueProcessor(tail state.ShutdownTail) {
return
}
// validate item has required id(s)
if feedItem.TvdbId == "" {
// retrieve and validate media provider data
mdp, mdi := feedItem.GetProviderData()
if mdp == "" || mdi == "" {
continue
}
// check cache / add item to cache
pvrCacheBucket := fmt.Sprintf("pvr_%s_%s", c.Type(), c.name)
cacheKey := fmt.Sprintf("tvdb_%s", feedItem.TvdbId)
cacheBucket := fmt.Sprintf("pvr_%s_%s", c.Type(), c.name)
cacheKey := fmt.Sprintf("%s_%s", mdp, mdi)
if !c.testMode {
// not running in test mode, so use cache
if cacheValue, err := c.cache.Get(pvrCacheBucket, cacheKey); err == nil {
if cacheValue, err := c.cache.Get(cacheBucket, cacheKey); err == nil {
// item already exists in the cache
switch string(cacheValue) {
case c.name:
@@ -57,7 +58,7 @@ func (c *Client) queueProcessor(tail state.ShutdownTail) {
}
// insert temp cache entry
if err := c.cache.Put(pvrCacheBucket, cacheKey, []byte(c.cacheFiltersHash), c.cacheTempDuration); err != nil {
if err := c.cache.Put(cacheBucket, cacheKey, []byte(c.cacheFiltersHash), c.cacheTempDuration); err != nil {
c.log.Error().
Err(err).
Msg("Failed storing item in temp cache")
@@ -71,7 +72,7 @@ func (c *Client) queueProcessor(tail state.ShutdownTail) {
c.log.Debug().
Err(err).
Str("feed_title", feedItem.Title).
Str("feed_tvdb_id", feedItem.TvdbId).
Str(fmt.Sprintf("feed_%s_id", mdp), mdi).
Str("feed_name", feedItem.Feed).
Msg("Item was not found on trakt")
continue
@@ -80,7 +81,7 @@ func (c *Client) queueProcessor(tail state.ShutdownTail) {
c.log.Error().
Err(err).
Str("feed_title", feedItem.Title).
Str("feed_tvdb_id", feedItem.TvdbId).
Str(fmt.Sprintf("feed_%s_id", mdp), mdi).
Str("feed_name", feedItem.Feed).
Msg("Failed finding item on trakt")
continue
@@ -125,7 +126,7 @@ func (c *Client) queueProcessor(tail state.ShutdownTail) {
c.log.Warn().
Err(err).
Str("feed_title", mediaItem.FeedTitle).
Str("feed_tvdb_id", feedItem.TvdbId).
Str(fmt.Sprintf("feed_%s_id", mdp), mdi).
Str("feed_name", feedItem.Feed).
Msg("Item was not found via pvr lookup")
continue
@@ -134,7 +135,7 @@ func (c *Client) queueProcessor(tail state.ShutdownTail) {
c.log.Error().
Err(err).
Str("feed_title", mediaItem.FeedTitle).
Str("feed_tvdb_id", feedItem.TvdbId).
Str(fmt.Sprintf("feed_%s_id", mdp), mdi).
Str("feed_name", feedItem.Feed).
Msg("Failed finding item via pvr lookup")
continue
@@ -151,7 +152,7 @@ func (c *Client) queueProcessor(tail state.ShutdownTail) {
// add item to perm cache (items already in pvr)
if !c.testMode {
if err := c.cache.Put(pvrCacheBucket, cacheKey, []byte(c.name), 0); err != nil {
if err := c.cache.Put(cacheBucket, cacheKey, []byte(c.name), 0); err != nil {
c.log.Error().
Err(err).
Msg("Failed storing item in perm cache")
@@ -221,7 +222,7 @@ func (c *Client) queueProcessor(tail state.ShutdownTail) {
// add item to perm cache (item was added to pvr)
if !c.testMode {
if err := c.cache.Put(pvrCacheBucket, cacheKey, []byte(c.name), 0); err != nil {
if err := c.cache.Put(cacheBucket, cacheKey, []byte(c.name), 0); err != nil {
c.log.Error().
Err(err).
Msg("Failed storing item in perm cache")