Python iTunes
=============

A simple python wrapper to access iTunes Store API http://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html

Installation
------------

Pypi package available at http://pypi.python.org/pypi/python-itunes/1.0


  $ easy_install python-itunes

Or download the code from https://github.com/ocelma/python-itunes/archives/master and then


  $ python setup.py install

Note:

  If you're using python version <= 2.5 you'll need to install simplejson. E.g:

  $ easy_install simplejson


Examples
--------

Search
~~~~~~

  import itunes
  
  # Search band U2
  artist = itunes.search_artist('u2')[0]
  for album in artist.get_albums():
      for track in album.get_tracks():
          print album.get_name(), album.get_url(), track.get_name(), track.get_duration(), track.get_preview_url()

  # Search U2 videos
  videos = itunes.search(query='u2', media='musicVideo')
  for video in videos:
      print video.get_name(), video.get_preview_url(), video.get_artwork()

  # Search Volta album by Björk
  album = itunes.search_album('Volta Björk')[0]

  # Global Search 'Beatles'
  items = itunes.search(query='beatles')
  for item in items: 
      print '[' + item.type + ']', item.get_artist(), item.get_name(), item.get_url(), item.get_release_date()

  # Search 'Angry Birds' game
  item = itunes.search(query='angry birds', media='software')[0]
  item.get_version()
  item.get_price()
  item.get_url()
  item.get_seller_url()
  item.get_screenshots()
  item.get_languages()
  item.get_avg_rating()
  item.get_num_ratings()

Lookup
~~~~~~

  import itunes

  # Lookup Achtung Baby album by U2
  U2_ACHTUNGBABY_ID = 475390461
  album = itunes.lookup(U2_ACHTUNGBABY_ID)
  
  print album.get_url()
  print album.get_artwork()
  
  artist = album.get_artist()
  tracks = album.get_tracks()
 
  # Lookup song One from Achtung Baby album by U2
  U2_ONE_ID = 475391315
  track = itunes.lookup(U2_ONE_ID)

  artist = track.get_artist()
  album = track.get_album()

Caching JSON results
~~~~~~~~~~~~~~~~~~~~

  import itunes

  if not itunes.is_caching_enabled():
      itunes.enable_caching('/tmp/itunes_cache') #If no param given it creates a folder in /tmp

  #From now on all JSON results are cached here:
  print itunes.__cache_dir

Tests
-----

  $ nosetests tests