Edit: It's been pointed out there is a simpler method than my original script, which I've added below:
You need to:
1. Go to here
and follow instructions to upload games list to magog.
2. Then go here
and set these options:
- under filters select 'My Tags' -> 'is any of' -> 'owned' for the only row.
- make sure 'File Size' is ticked under Display just below (you can tick or untick as many other boxes as you want, just make sure that one is set).
3. Select "Search" and in the very end of the list you will see the TOTAL size of your library.
Credit: Adaliabooks, HunchBluntley, Lin545 (for the instruction s)
And, most of all, mrkgnao. :)
Original post maintained for posterity.
This is an imperfect method, as it only gets (what I believe is) the size listed on the game page for the install rather than the actual size of the installers / patches and doesn't include extras, but it's at least a rough estimate and somewhere to start from.
So, first step is to go here
and follow the instructions.
This will import your owned games on to MaGog (also your wishlisted games, but that's not important for this).
Then go here
Under filters select 'My Tags', 'is any of' and 'owned' for the only row.
Make sure 'File Size' is ticked under Display (you can tick or untick as many other boxes as you want, just make sure that one is set)
And in the Options section change Output Format to JSON.
You could output this as HTML and do it manually (it does include all the sizes for the bonuses etc. too), unfortunately the formatting doesn't lend itself to scraping easily.
Otherwise, once on the JSON output page, run this script from your browser's console. It should give you an output in MB of the size of your library.
var searchResult = JSON.parse(document.body.innerText);
var array = searchResult['magog_search_results'];
var librarySize = 0;
for (var i = 0; i < array.length; i++)
librarySize += array[i]["file_size_mb"];
console.log(librarySize + " mb");