Exemplo n.º 1
0
 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
Exemplo n.º 2
0
 def __itunes(self):
     return globaliTunes()
Exemplo n.º 3
0
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)