def __init__(self, itunes_id=None, data=None, itunes=None): if itunes is None: itunes = globaliTunes() self.__itunes = itunes self.__data = data self.__itunes_id = itunes_id
def __itunes(self): return globaliTunes()
def main(): options, args = parseCommandLine() globaliTunes().setMaxQps(options.max_qps) stampedAPI = MongoStampedAPI() appleRSS = AppleRSS() itunes_ids = set() # music feed popularity prioritized by genre music_feeds = [ { 'limit' : 150, 'name' : 'overall' }, { 'limit' : 50, 'genre' : 18, 'name' : 'hip-hop', }, { 'limit' : 50, 'genre' : 14, 'name' : 'pop', }, { 'limit' : 50, 'genre' : 20, 'name' : 'alternative', }, { 'limit' : 50, 'genre' : 21, 'name' : 'rock', }, { 'limit' : 50, 'genre' : 6, 'name' : 'country', }, { 'limit' : 25, 'genre' : 15, 'name' : 'R&B / Soul', }, { 'limit' : 25, 'genre' : 16, 'name' : 'soundtrack', }, { 'limit' : 25, 'genre' : 17, 'name' : 'dance', }, { 'limit' : 25, 'genre' : 5, 'name' : 'classical', }, { 'limit' : 10, 'genre' : 24, 'name' : 'reggae', }, { 'limit' : 10, 'genre' : 22, 'name' : 'inspirational', }, { 'limit' : 10, 'genre' : 19, 'name' : 'world', }, { 'limit' : 10, 'genre' : 13, 'name' : 'new age', }, { 'limit' : 10, 'genre' : 12, 'name' : 'latin', }, { 'limit' : 10, 'genre' : 11, 'name' : 'jazz', }, { 'limit' : 10, 'genre' : 9, 'name' : 'opera', }, { 'limit' : 10, 'genre' : 8, 'name' : 'holiday', }, { 'limit' : 10, 'genre' : 7, 'name' : 'electronic', }, { 'limit' : 10, 'genre' : 3, 'name' : 'comedy', }, { 'limit' : 10, 'genre' : 2, 'name' : 'blues', }, ] if not options.appsonly: utils.log("processing %d music feeds" % (2 * len(music_feeds), )) for feed in music_feeds: handle_music_feed(feed, stampedAPI, appleRSS, itunes_ids, options) app_feeds = [ { 'limit' : 150, 'name' : 'overall' }, { 'limit' : 20, 'genre' : 6018, 'name' : 'books', }, { 'limit' : 20, 'genre' : 6000, 'name' : 'business', }, { 'limit' : 20, 'genre' : 6017, 'name' : 'education', }, { 'limit' : 50, 'genre' : 6016, 'name' : 'entertainment', }, { 'limit' : 20, 'genre' : 6015, 'name' : 'finance', }, { 'limit' : 25, 'genre' : 6013, 'name' : 'health & fitness', }, { 'limit' : 25, 'genre' : 6012, 'name' : 'lifestyle', }, { 'limit' : 25, 'genre' : 6020, 'name' : 'medical', }, { 'limit' : 30, 'genre' : 6011, 'name' : 'music', }, { 'limit' : 25, 'genre' : 6010, 'name' : 'navigation', }, { 'limit' : 50, 'genre' : 6009, 'name' : 'news', }, { 'limit' : 25, 'genre' : 6021, 'name' : 'newsstand', }, { 'limit' : 50, 'genre' : 6008, 'name' : 'photo & video', }, { 'limit' : 25, 'genre' : 6007, 'name' : 'productivity', }, { 'limit' : 25, 'genre' : 6006, 'name' : 'reference', }, { 'limit' : 50, 'genre' : 6005, 'name' : 'social networking', }, { 'limit' : 25, 'genre' : 6004, 'name' : 'sports', }, { 'limit' : 50, 'genre' : 6003, 'name' : 'travel', }, { 'limit' : 20, 'genre' : 6002, 'name' : 'utilities', }, { 'limit' : 10, 'genre' : 6001, 'name' : 'weather', }, ] if not options.musiconly: utils.log("processing %d app feeds" % (3 * len(app_feeds), )) for feed in app_feeds: # Handle feeds synchronously, there's already plenty of parallelism within the handling of each feed. handle_app_feed(feed, stampedAPI, appleRSS, itunes_ids, options)