I am writing a little function that grabs books I have in Goodreads and lets me know which series I haven’t finished but I’m stuck with getting the total amount of books I have for a series.
I have all my books and series titles in a variable $MyBooks
I am running this
$Group = $MyBooks | Group -Property series_overview_title
Count Name
1 The First Law First Law World
155
1 The Elder Stones Saga
2 Mage Errant
5 No Series Found
4 The Divine Dungeon
6 Cradle
1 Weapons and Wielders
4 The Landkist Saga
1 Song of the Worlds
1 Evermen Saga
$MyBooks = foreach ($Book in $AllBooksInfo) {$URL="https://www.goodreads.com/work/$($Book.work.id)/series?format=xml&key=$($API_key)"$Response=Invoke-WebRequest-Uri $URL-Method Get -UseBasicParsing[XML]$series_overview_XML=$Response.Content[INT]$series_overview_work_id=$series_overview_XML.GoodreadsResponse.series_works.series_work.series.id| Select -First 1[INT]$series_overview_primary_work_count=$series_overview_XML.GoodreadsResponse.series_works.series_work.series.primary_work_count| Select -First 1if($series_overview_XML.GoodreadsResponse.series_works.series_work.series.title."#cdata-section"){[STRING]$series_overview_title=($series_overview_XML.GoodreadsResponse.series_works.series_work.series.title."#cdata-section").trim()}else{[STRING]$series_overview_title='No Series Found'}[pscustomobject]@{id=$Book.id.'#text'title_without_series=$Book.id.title_without_seriestitle=$Book.titlesmall_image_url=$Book.small_image_urllarge_image_url=$Book.large_image_urllink=$Book.linkdescription=$Book.descriptionwork_id=$Book.work.idauthor_image_url=$Book.authors.author.image_urlauthor_small_image_url=$Book.authors.author.small_image_urlauthor_id=$Book.authors.author.idseries_overview_XML=$series_overview_XMLseries_overview_title=$series_overview_titleseries_overview_primary_work_count=$series_overview_primary_work_countseries_overview_work_id=$series_overview_work_idowned_books_in_series="0"}Start-Sleep-Seconds 1$i++Write-Output"$i of $($AllBooksInfo.count)"}$Group = $MyBooks | Group -Property series_overview_title | Select Count,Name$Obj = @()foreach($itemin$Group){foreach($Bookin$MyBooks){$Book.owned_books_in_series=$item.Count$Obj+=$Book}}$Obj