@@ -29,30 +29,67 @@ list_party_volumes <- function(party_id = 6,
2929 if (is.null(rq )) {
3030 if (vb ) {
3131 message(" NULL request object. Will generate default." )
32- message(" \n Not logged in. Only public information will be returned." )
32+ message(" \n Not logged in. Only public information will be returned." )
3333 }
3434 rq <- databraryr :: make_default_request()
3535 }
3636
37- g <- databraryr :: get_party_by_id( party_id , vb , rq )
37+ vol_id <- NULL
3838
39- if (! is.null(g )) {
39+ if (vb )
40+ message(paste0(" Retrieving data for party " , party_id , " ." ))
41+ party_info <- databraryr :: get_party_by_id(party_id , vb , rq )
42+
43+ if (! is.null(party_info )) {
4044 if (vb )
41- message(paste0(" Retrieving data for party " , party_id , " ." ))
42- purrr :: map(
43- g $ access ,
44- .f = function (x ) {
45- as.data.frame(x [[3 ]])
46- }
47- ) %> % purrr :: list_rbind() %> %
48- dplyr :: mutate(party_id = party_id ,
49- prename = g $ prename ,
50- sortname = g $ sortname ,
51- affiliation = g $ affiliation )
45+ message(paste0(" Info retrieved. Filtering." ))
46+ purrr :: map(party_info $ access , extract_vol_fr_party ) %> %
47+ purrr :: list_rbind() %> %
48+ dplyr :: mutate(
49+ party_id = party_id ,
50+ party_prename = party_info $ prename ,
51+ party_sortname = party_info $ sortname ,
52+ party_affiliation = party_info $ affiliation
53+ ) %> %
54+ dplyr :: arrange(vol_id )
5255 } else {
5356 if (vb )
5457 message(paste0(" No data for party " , party_id , " ." ))
55- g
58+ party_info
5659 }
57- # TODO: Reformat output
5860}
61+
62+ # ---------------------------------------------------------------------------
63+ # This is a private, not exported,
64+ # helper function for list_party_volumes()
65+ #
66+ extract_vol_fr_party <- function (p_info ) {
67+ assertthat :: assert_that(is.list(p_info ))
68+
69+ this_vol <- p_info $ volume
70+
71+ vol_names <- names(this_vol )
72+ assertthat :: assert_that(" id" %in% vol_names )
73+ assertthat :: assert_that(" name" %in% vol_names )
74+ assertthat :: assert_that(" body" %in% vol_names )
75+ assertthat :: assert_that(" creation" %in% vol_names )
76+ assertthat :: assert_that(" permission" %in% vol_names )
77+
78+ vol_id <- this_vol $ id
79+ vol_name <- this_vol $ name
80+ vol_body <- this_vol $ body
81+ if (! (" alias" %in% vol_names )) {
82+ vol_alias = NA
83+ } else {
84+ vol_alias <- this_vol $ alias
85+ }
86+ vol_creation <- this_vol $ creation
87+ vol_permission <- this_vol $ permission
88+
89+ tibble :: tibble(vol_id ,
90+ vol_name ,
91+ vol_body ,
92+ vol_alias ,
93+ vol_creation ,
94+ vol_permission )
95+ }
0 commit comments