

## artistid is NOT in staging_raw_spotify_V2
id.bane <- get_artist_meta("bane", verbose=FALSE, colsToBring=c("artistname", "artistid"))[, setNames(nm=artistname, artistid)]


artistname <- c("Bane", "BANE", "Cold Cave", "American Nightmare", "Give Up The Ghost")

## The different filters will pick up differntly
##  track_album_artist will pick up those tracks where track_artists is blank
##  track_artists will pick up compilations (ie track_album_artist = 'Various Artists' etc)
DT.overview.by_track_album_artists <- artistname %>% get_spotify_artist_overview(filterBy='track_album_artist')
DT.overview.by_track_artists <- artistname %>% get_spotify_artist_overview(filterBy='track_artists')

DT.overview.by_track_album_artists[isrc %in% isrcs.missing]
DT.overview.by_track_artists[isrc %in% isrcs.missing]

## Show those isrcs that have different results for  track_artists and track_album_artist
isrcs.missing <- allSetDiff(DT.overview.by_track_album_artists$isrc, DT.overview.by_track_artists$isrc, quiet=TRUE, none=NULL) %>% unlist


DT.overview <- artistname %>% get_spotify_artist_overview(filterBy='both', fillblankartists=TRUE)
colsToPropperize <- c("track_album_artist", "track_artists")
DT.overview[, (colsToPropperize) := lapply(.SD, topropper), .SDcols=colsToPropperize]
DT.overview %<>% aggregateDT(colsToAgg="units", exclude="track_artists_was_blank")
DT.overview[, upc := as.idcol(upc)]


## Show duplicate tracks.  They should each be on a different album
DT.overview[is_duplicate(track_name)][order(track_name)]
## show duplicated 
DT.overview[is_duplicate(isrc)][order(track_name)]


## Show which items have different values for track_artists than for track_album_artist
DT.overview[track_artists != track_album_artist]

## Show unique albums by artist
aggregateDT(DT.overview, colsToAgg="units", by=c("track_album_artist", "upc", "album_name")) %>%{.}


## ---------------------------------- ##
  uri.bane <- "spotify:user:1238571019:playlist:0XHF9wFbxYAvvogSHpVskb"
  whereIn <- list(source_uri=uri.bane)
  whereIn <- list(track_artists='Bane')
  minDate <- "2015-06-16" %>% as.Date

  DT.bane <- makeQry(tbl="staging_raw_spotify_V2", schema="production", colsToPull=c("track_artists", "tmstamp", "source", "source_uri", "track_uri", "user_country", "user_region", "user_access", "gender", "partner", "user_type", "birth_year", "os", "user_id"), where=whereIn, dateCol='tmstamp', minDate=minDate) %>% runQry(allow.large.groupby=TRUE, verbose=TRUE)
  DT.bane[, date := as.Date(tmstamp)]

  DT.bane[source_uri != "", .N, keyby=list(source_uri, date)]
## ---------------------------------- ##
