Skip to content

Instantly share code, notes, and snippets.

@bitmvr
Created February 14, 2025 16:46
Show Gist options
  • Save bitmvr/d12e0cc7980b4de53e9b42861d9f78d7 to your computer and use it in GitHub Desktop.
Save bitmvr/d12e0cc7980b4de53e9b42861d9f78d7 to your computer and use it in GitHub Desktop.
Audible Page to AudiobookShelf Naming Convention
var ab_detail = {};
ab_detail.title = document.querySelectorAll('h1')[0].textContent.trim();
ab_detail.subtitle = document.querySelectorAll('h2')[0].textContent.trim();
var __get_ab_metadata = (selector, index) => {
return JSON.parse(
document.querySelectorAll(selector)[index].textContent.trim()
);
}
var ab_metadata_01 = __get_ab_metadata(".product-metadata", 0);
ab_detail.authors = ab_metadata_01.authors.map(author => author.name);
ab_detail.narrators = ab_metadata_01.narrators.map(narrator => narrator.name);
var ab_metadata_02 = __get_ab_metadata(".product-metadata", 1);
var release_date = ab_metadata_02.releaseDate;
var release_year = release_date.split('-')[2];
ab_detail.release_year = release_year.startsWith('9')
? "19" + release_year
: "20" + release_year;
var filename = `${ab_detail.release_year} - ${ab_detail.title} - ${ab_detail.subtitle} - {${ab_detail.narrators.join(', ')}}.m4b`;
console.log(filename);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment