Skip to content

Commit

Permalink
fix cran notes
Browse files Browse the repository at this point in the history
  • Loading branch information
charlie86 committed Nov 9, 2017
1 parent 83d1150 commit f9d01c6
Show file tree
Hide file tree
Showing 14 changed files with 82 additions and 21 deletions.
Binary file modified .DS_Store
Binary file not shown.
13 changes: 4 additions & 9 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Package: spotifyr
Title: A quick and easy wrapper for pulling track audio features from Spotify's Web API in bulk
Title: A Quick and Easy Wrapper for Pulling Track Audio Features from Spotify's Web API in Bulk
Version: 0.0.0.9000
Authors@R: person("Charlie", "Thompson", email = "[email protected]", role = c("aut", "cre"))
Description: A quick and easy wrapper for pulling track audio features from
Expand All @@ -8,19 +8,14 @@ Description: A quick and easy wrapper for pulling track audio features from
seconds, along with Spotify's audio features and track/album popularity
metrics. You can also pull song and playlist information for a given Spotify
User (including yourself!).
Depends: R (>= 3.3.3),
purrr,
dplyr,
tidyr,
httr,
lubridate
Depends: R (>= 3.3.3)
Imports:
purrr,
dplyr,
purrr,
tidyr,
httr,
lubridate
License: MIT License
License: MIT + file LICENSE
Encoding: UTF-8
LazyData: true
RoxygenNote: 6.0.1
Expand Down
2 changes: 2 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
YEAR: 2017
COPYRIGHT HOLDER: Your name goes here
7 changes: 7 additions & 0 deletions NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,10 @@ export(get_user_audio_features)
export(get_user_playlist_count)
export(get_user_playlists)
export(parse_playlist_list_to_df)
import(dplyr)
import(httr)
import(purrr)
import(tidyr)
importFrom(lubridate,year)
importFrom(utils,setTxtProgressBar)
importFrom(utils,txtProgressBar)
2 changes: 1 addition & 1 deletion R/get_album_popularity.R
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ get_album_popularity <- function(albums, access_token = get_spotify_access_token
map_df(1:num_loops, function(this_loop) {

uris <- albums %>%
filter(!duplicated(album_uri)) %>%
dplyr::filter(!duplicated(album_uri)) %>%
slice(((this_loop * 20) - 19):(this_loop * 20)) %>%
select(album_uri) %>%
.[[1]] %>%
Expand Down
6 changes: 3 additions & 3 deletions R/get_albums.R
Original file line number Diff line number Diff line change
Expand Up @@ -47,17 +47,17 @@ get_albums <- function(artist_uri, access_token = get_spotify_access_token()) {
})

if (nrow(df) > 0) {
df <- df %>% filter(!duplicated(tolower(album_name))) %>%
df <- df %>% dplyr::filter(!duplicated(tolower(album_name))) %>%
mutate(base_album_name = gsub(' \\(.*(deluxe|international|anniversary|version|edition|remaster|re-master|live|mono|stereo).*\\)', '', tolower(album_name)),
base_album_name = gsub(' \\[.*(deluxe|international|anniversary|version|edition|remaster|re-master|live|mono|stereo).*\\]', '', base_album_name),
base_album_name = gsub(':.*(deluxe|international|anniversary|version|edition|remaster|re-master|live|mono|stereo).*', '', base_album_name),
base_album_name = gsub(' - .*(deluxe|international|anniversary|version|edition|remaster|re-master|live|mono|stereo).*', '', base_album_name)) %>%
group_by(base_album_name) %>%
filter(album_release_year == min(album_release_year)) %>%
dplyr::filter(album_release_year == min(album_release_year)) %>%
mutate(base_album = tolower(album_name) == base_album_name,
num_albums = n(),
num_base_albums = sum(base_album)) %>%
filter((num_base_albums == 1 & base_album == 1) | ((num_base_albums == 0 | num_base_albums > 1) & row_number() == 1)) %>%
dplyr::filter((num_base_albums == 1 & base_album == 1) | ((num_base_albums == 0 | num_base_albums > 1) & row_number() == 1)) %>%
ungroup %>%
arrange(album_release_year) %>%
mutate(album_rank = row_number())
Expand Down
2 changes: 1 addition & 1 deletion R/get_artists.R
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ get_artists <- function(artist_name, access_token = get_spotify_access_token())
artist_uri = gsub('spotify:artist:', '', this_artist$uri), # remove meta info from the uri string
artist_img = ifelse(length(this_artist$images) > 0, this_artist$images[[1]]$url, NA) # we'll grab this just for fun
)
}) %>% filter(!duplicated(tolower(artist_name)))
}) %>% dplyr::filter(!duplicated(tolower(artist_name)))

return(artists)
}
2 changes: 1 addition & 1 deletion R/get_track_audio_features.R
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ get_track_audio_features <- function(tracks, access_token = get_spotify_access_t
track_audio_features <- map_df(1:num_loops, function(this_loop) {

uris <- tracks %>%
filter(!duplicated(track_uri)) %>%
dplyr::filter(!duplicated(track_uri)) %>%
slice(((this_loop * 100) - 99):(this_loop * 100)) %>%
select(track_uri) %>%
.[[1]] %>%
Expand Down
4 changes: 2 additions & 2 deletions R/get_track_popularity.R
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@

get_track_popularity <- function(tracks, access_token = get_spotify_access_token()) {

num_loops <- ceiling(nrow(tracks %>% filter(!duplicated(track_uri))) / 50)
num_loops <- ceiling(nrow(tracks %>% dplyr::filter(!duplicated(track_uri))) / 50)

map_df(1:num_loops, function(this_loop) {
uris <- tracks %>%
filter(!duplicated(track_uri)) %>%
dplyr::filter(!duplicated(track_uri)) %>%
slice(((this_loop * 50) - 49):(this_loop * 50)) %>%
select(track_uri) %>% .[[1]] %>% paste0(collapse = ',')

Expand Down
2 changes: 1 addition & 1 deletion R/get_user_playlists.R
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ get_user_playlists <- function(username, access_token = get_spotify_access_token
})

playlists_df <- parse_playlist_list_to_df(playlists_list) %>%
filter(!is.na(playlist_name))
dplyr::filter(!is.na(playlist_name))

return(playlists_df)

Expand Down
6 changes: 4 additions & 2 deletions R/parse_playlist_list_to_df.R
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@
#'
#' playlist_list <- map(1:ceiling(num_loops), function(this_loop) {
#' endpoint <- paste0('https://api.spotify.com/v1/users/', username, '/playlists')
#' res <- GET(endpoint, query = list(access_token = get_spotify_access_token(), offset = offset, limit = 50)) %>% content
#' res <- GET(endpoint, query = list(access_token = get_spotify_access_token(),
#' offset = offset,
#' limit = 50)) %>% content
#'
#' if (!is.null(res$error)) {
#' stop(paste0(res$error$message, ' (', res$error$status, ')'))
Expand Down Expand Up @@ -64,5 +66,5 @@ parse_playlist_list_to_df <- function(playlist_list) {
return(tibble())
}
})
}) %>% filter(!is.na(playlist_uri))
}) %>% dplyr::filter(!is.na(playlist_uri))
}
39 changes: 39 additions & 0 deletions R/spotifyr.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#' \code{spotifyr} package
#'
#' A Quick and Easy Wrapper for Pulling Track Audio Features from Spotify's Web API in Bulk
#'
#' See the README on
#' \href{https://github.com/charlie86/spotifyr#readme}{GitHub}
#'
#' @docType package
#' @name spotifyr
#' @import purrr
#' @import dplyr
#' @import tidyr
#' @import httr
#' @importFrom lubridate year
#' @importFrom utils setTxtProgressBar txtProgressBar
NULL

globalVars <- c("album_name",
"album_rank",
"album_release_date",
"album_release_year",
"album_uri",
"analysis_url",
"base_album",
"base_album_name",
"key",
"num_albums",
"num_base_albums",
"playlist_img",
"playlist_name",
"playlist_uri",
"track_href",
"track_uri",
"type",
"uri",
".")

## quiets concerns of R CMD check re: the .'s that appear in pipelines
if(getRversion() >= "2.15.1") utils::globalVariables(globalVars)
4 changes: 3 additions & 1 deletion man/parse_playlist_list_to_df.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 14 additions & 0 deletions man/spotifyr.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit f9d01c6

Please sign in to comment.