# 00b SpotifyAdds_Column_Info.r

# This is a collection of column names, dictionaries, column types, etc

dict.XLStoAWS.colNames <- 
#  THESE in AWS HAVE NO VALUES YET:   "trackid", "isrc", "trackname", "albumname"
  c(
             releaseDate  = "download_date"
    ,              label  = "label"
    ,                upc  = "upc"
    ,         artistName  = "artistname"
  )


dict.ColNames <- 
  c(
                    Release.Date  = "releaseDate"
    ,                    Top.200  = "Top200"
    ,                     Artist  = "artist"
    ,                    Release  = "release"
    ,                     Format  = "formatOfAddProd"
    ,               WK.1.Streams  = "streamsW1"
    ,               WK.2.Streams  = "streamsW2"
    ,  WK.1.Ad.Supported.Streams  = "adSuppStreamsW1"
    ,  WK.2.Ad.Supported.Streams  = "adSuppStreamsW2"
    ,          WK.1.TOTALSTREAMS  = "totalStreamsW1"
    ,         WK.2.TOTAL.STREAMS  = "totalStreamsW2"
    ,      Impressions.Requested  = "RqstdImpressions"
    ,      Impressions.Delivered  = "impressions"
    ,                      CTR.s  = "ctr"
    ,                      Notes  = "notes"
    ,                      TOTAL  = "totalStreamsForBothWeeks"
    ,                       WK.1  = "rdio.wk1"
    ,                       WK.2  = "rdio.wk2"
    ,                    Notes.1  = "rdio.notes2"
  )


SpotifyAdds.ColTypes <- 
  c(
                    Release.Date  = "Date"
    ,                    Top.200  = "integer"
    ,                       Heat  = "integer"
    ,                      Genre  = "character"
    ,                      Label  = "character"
    ,                        UPC  = "character"
    ,                     Artist  = "character"
    ,                    Release  = "character"
    ,                     Format  = "character"
    ,               WK.1.Streams  = "integer"
    ,               WK.2.Streams  = "integer"
    ,  WK.1.Ad.Supported.Streams  = "integer"
    ,  WK.2.Ad.Supported.Streams  = "integer"
    ,          WK.1.TOTALSTREAMS  = "integer"
    ,         WK.2.TOTAL.STREAMS  = "integer"
    ,                      TOTAL  = "integer"
    ,      Impressions.Requested  = "integer"
    ,      Impressions.Delivered  = "integer"
    ,                      CTR.s  = "numeric"
    ,                      Notes  = "character"
    ,                       WK.1  = "integer"
    ,                       WK.2  = "integer"
    ,                    Notes.1  = "character"
  )


AWS.ColNames <- c("userid", "upc", "isrc", "trackid", "download_date", "mobile",
                  "artist", "trackname", "albumname", "user_zip", "product", "user_country",
                  "user_gender", "user_birthyear", "download_datetime")


AWS.production.staging_raw_itunes.ColNames <- 
  c("ingestion_time", "filename", "filesize", "provider", "service_provider_country",
    "vendor_identifier", "upc", "isrc", "artist", "title", "record_company", "product_type_identifier",
    "units", "royalty_price", "download_date", "order_id", "postal_code", "customer_identifier",
    "report_date_local", "sale_return", "customer_currency", "country_code", "royalty_currency", 
    "preorder", "isan", "customer_price", "apple_id", "cma", "asset", "vendor_offer_code", "grid",
    "promo_code", "parent_id", "season_pass", "belongs_to_ioda", "attributable_purchase", "primary_genre"
  )



genreClean <- c(
  #                KEY  = VALUE
         "Alternative"  = "Alternative"
  ,  "Alternative Rap"  = "Hip-Hop/Rap"
  ,       "Children's"  = "Childrens"
  ,          "Country"  = "Country"
  ,            "Dance"  = "Electronic/Dance"
  , "Electronic/Dance"  = "Electronic/Dance"
  ,       "Electronic"  = "Electronic/Dance"
  ,      "Hip Hop/Rap"  = "Hip-Hop/Rap"  # NO Hyphen, UPPERCASE
  ,      "Hip-Hop/Rap"  = "Hip-Hop/Rap"  #    Hyphen, lowercase
  ,      "Hip hop/Rap"  = "Hip-Hop/Rap"  # NO Hyphen, lowercase
  ,      "Hip-hop/Rap"  = "Hip-Hop/Rap"  #    Hyphen, UPPERCASE
  ,      "Latin Music"  = "Latin"
  ,            "Metal"  = "Metal"
  ,              "Pop"  = "Pop"
  ,             "Punk"  = "Punk"
  ,              "R&B"  = "R&B/Soul"
  ,         "R&B/Soul"  = "R&B/Soul"
  ,             "Rock"  = "Rock"
  ,            "OTHER"  = "OTHER"
  ,            "Other"  = "OTHER"
)

genreCompressed <- c(
  #                 KEY  = VALUE
          "Alternative"  = "Rock/Punk/Alt"
  ,           "Country"  = "Country" # "maroon4"
  ,  "Electronic/Dance"  = "Electronic/Dance"
  ,       "Hip-Hop/Rap"  = "Rap/R&B"
  ,             "Metal"  = "Metal"   # wheet1
  ,               "Pop"  = "Pop"
  ,              "Punk"  = "Rock/Punk/Alt" # "wheat1" # "darkred"
  ,          "R&B/Soul"  = "Rap/R&B"
  ,              "Rock"  = "Rock/Punk/Alt"
  ,             "OTHER"  = "OTHER"
)


## NOTE that genreColors is off the "cleaned" values
##      ie, off of  unique(genreClean)

colors.genre <- c(
  #                 KEY  = VALUE
          "Alternative"  = "springgreen"
  ,           "Country"  = "indianred4" # "maroon4"
  ,        "Electronic"  = "mediumseagreen"
  ,       "Hip-Hop/Rap"  = "darkorange"
  ,             "Metal"  = "dodgerblue2"   # wheet1
  ,               "Pop"  = "turquoise3"
  ,              "Punk"  = "orchid" # "wheat1" # "darkred"
  ,          "R&B/Soul"  = "darkorchid"
  ,              "Rock"  = "firebrick2"
  #              COMPRESSED VALUES
  ,  "Electronic/Dance"  = "mediumseagreen"
  ,     "Rock/Punk/Alt"  = "springgreen"
  ,           "Rap/R&B"  = "darkorange"
  ,             "OTHER"  = "deepskyblue2"
  ,             "Other"  = "deepskyblue2"
  ,                "ZZ"  = "grey15"
  ,         "Childrens"  = "firebrick2"
  ,             "Latin"  = "wheat4"
)



shapes.genre <- c(
  #                 KEY  = VALUE
          "Alternative"  = 3
  ,           "Country"  = 8
  ,  "Electronic/Dance"  = 15
  ,       "Hip Hop/Rap"  = 16
  ,             "Metal"  = 17
  ,               "Pop"  = 18
  ,              "Punk"  = 19
  ,          "R&B/Soul"  = 4
  ,              "Rock"  = 94
  #              COMPRESSED VALUES
  ,     "Rock/Punk/Alt"  = 19
  ,           "Rap/R&B"  = 16
  ,                "ZZ"  = 90
)

letters.genre <- c(
  #                 KEY  = VALUE
          "Alternative"  = "A"
  ,           "Country"  = "C"
  ,  "Electronic/Dance"  = "E"
  ,       "Hip Hop/Rap"  = "H"
  ,             "Metal"  = "M"
  ,               "Pop"  = "P"
  ,              "Punk"  = "K"
  ,          "R&B/Soul"  = "B"
  ,              "Rock"  = "R"
  #              COMPRESSED VALUES
  ,     "Rock/Punk/Alt"  = "K"
  ,           "Rap/R&B"  = "B"
  ,                "ZZ"  = "Z"

)



colors.format <- c(
  #     KEY  = VALUE
      Album  = "mediumblue"
  ,      EP  = "deeppink1"
  ,  Single  = "green4"
  ,      ZZ  = "grey15"

)

shapes.format <- c(
  #     KEY  = VALUE
      Album  = 15
  ,      EP  = 16
  ,  Single  = 17
  ,      ZZ  = 90
)

letters.format <- c(
  #     KEY  = VALUE
      Album  = "A"
  ,      EP  = "E"
  ,  Single  = "S"
  ,      ZZ  = "Z"
)




letters.country <- c(
  #  KEY  = VALUE
      US  = "U"
  ,   CA  = "C"
  ,   GB  = "K"
  ,   AU  = "A"
  ,   FR  = "F"
  ,   ES  = "Ñ"
  ,   DE  = "G"
  ,   NL  = "L"
  ,   AR  = "N"
  ,   AT  = "T"
  ,   CH  = "H"
  ,   FI  = "f"
  ,   IE  = "e"
  ,   IL  = "i"
  ,   IT  = "t"
  ,   NO  = "n"
  ,   RU  = "R"
  ,   SE  = "S"
  ,   ZA  = "z"
  ,   ZZ  = "Z"
)

shapes.best <- c(3, 8, 15, 16, 17, 18, 19)