itunes-data icon indicating copy to clipboard operation
itunes-data copied to clipboard

itunes-data doesn't export albums for all formats [Sierra]

Open alundiak opened this issue 9 years ago • 2 comments

I copied xml files to my custom project folder, and running commands:

itunes-data --albums albums.json ./iTunes\ Music\ Library.xml
itunes-data --albums albums.csv ./iTunes\ Music\ Library.xml
itunes-data --albums albums.tsv ./iTunes\ Music\ Library.xml

csv and tsv files are simply empty, and json files has

[

]

Note: --tracks, --artists work fine.

PS. Exported iTunes Music Library.xml from iTunes structure:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Major Version</key><integer>1</integer>
	<key>Minor Version</key><integer>1</integer>
	<key>Application Version</key><string>12.5.5.5</string>
	<key>Date</key><date>2017-02-19T23:00:40Z</date>
	<key>Features</key><integer>5</integer>
	<key>Show Content Ratings</key><true/>
	<key>Library Persistent ID</key><string>4B9159DB87614918</string>
	<key>Tracks</key>
	<dict>
		<key>1158</key>
		<dict>
			<key>Track ID</key><integer>1158</integer>
			<key>Size</key><integer>8575284</integer>
			<key>Total Time</key><integer>206376</integer>
			<key>Year</key><integer>2015</integer>
			<key>Date Modified</key><date>2017-01-14T23:51:03Z</date>
			<key>Date Added</key><date>2014-10-05T18:53:49Z</date>
			<key>Bit Rate</key><integer>320</integer>
			<key>Sample Rate</key><integer>48000</integer>
			<key>Play Count</key><integer>5</integer>
			<key>Play Date</key><integer>3545963674</integer>
			<key>Play Date UTC</key><date>2016-05-13T03:54:34Z</date>
			<key>Skip Count</key><integer>2</integer>
			<key>Skip Date</key><date>2017-01-14T23:51:43Z</date>
			<key>Artwork Count</key><integer>1</integer>
			<key>Persistent ID</key><string>2734DE618379FA0B</string>
			<key>Track Type</key><string>File</string>
			<key>File Folder Count</key><integer>5</integer>
			<key>Library Folder Count</key><integer>1</integer>
			<key>Name</key><string>Fragile Circle (Original Mix)</string>
			<key>Artist</key><string>Cid Inc</string>
			<key>Album</key><string>Temazcal</string>
			<key>Grouping</key><string>SB069</string>
			<key>Genre</key><string>Tech House</string>
			<key>Kind</key><string>MPEG audio file</string>
			<key>Sort Album</key><string>Temazcal</string>
			<key>Work</key><string>SB069</string>
			<key>Location</key><string>file:///Users/alund/Music/iTunes/iTunes%20Media/Music/Cid%20Inc/Temazcal/Fragile%20Circle%20(Original%20Mix).mp3</string>
		</dict>
		<key>1160</key>

I'm on iTunes v12.5.5.5, macOS Sierra v10.12.3, node v7.5.0, npm v4.1.2 itunes-data installed globally (0.1.3)

alundiak avatar Feb 19 '17 23:02 alundiak

Not sure yet, but maybe issue #5 still remain and the root cause is still somewhere there.

alundiak avatar Feb 20 '17 01:02 alundiak

I have iTunes v12.8, MacOS v10.13.6, node v10.11.0, npm v6.4.1 and issue is still relevant.

When I install [email protected] which takes [email protected] I still have empty albus fiels, but not errors.

But when I manually remove itunes-data/node_modules/fast-csv and install fast-csv manually for the root node_modules, I then have same errors :

itunes-data --albums data/albums.tsv ~/Music/iTunes/iTunes\ Music\ Library.xml

reading: /Users/alund/Music/iTunes/iTunes Music Library.xml (2770748 bytes)
events.js:167||||||||||||||||||||||||||||||||||||||] 100 %
      throw er; // Unhandled 'error' event
      ^

Error [ERR_STREAM_WRITE_AFTER_END]: write after end
    at writeAfterEnd (_stream_writable.js:243:12)
    at CsvTransformStream.Writable.write (_stream_writable.js:291:5)
    at Immediate.<anonymous> (/Users/alund/prj/my-tunes/node_modules/itunes-data/cli.js:86:16)
    at runCallback (timers.js:694:18)
    at tryOnImmediate (timers.js:665:5)
    at processImmediate (timers.js:647:5)
Emitted 'error' event at:
    at writeAfterEnd (_stream_writable.js:245:10)
    at CsvTransformStream.Writable.write (_stream_writable.js:291:5)
    [... lines matching original stack trace ...]
    at processImmediate (timers.js:647:5)

Same as described in #15 issue. Looks like one version of fast-csv helps in one place, and doesn't help in another.

@shawnbot Looks like u don't maintain this repo anymore, but still for the records - I leave my comments here.

alundiak avatar Sep 23 '18 21:09 alundiak