def collectContentCronJob(mood, content):
        datas = Media.objects.filter(moods=mood, content_type = content)
        num_data_needed = ContentDataOrganizer.NUM_DATA - len(datas)
        
#        if num_data_needed <= 0:
#            print 'already have enough data'
        
        if content == Media.PICTURE:
            print 'Picture filter: ' + mood + ', needed ' + str(num_data_needed) + ' pictures'
            numAdded = PictureRetriever.pullAndFilter(mood, \
                                                      ContentDataOrganizer._getRandomTerms(mood), \
                                                      num_data_needed, \
                                                      ContentDataOrganizer.PARTITION_NUM)
            print '-- added: ' + str(numAdded) + ' new pictures'
#            PictureRetriever.pullPictures(mood, \
#                                          ContentDataOrganizer._getRandomTerms(mood), \
#                                          num_data_needed)
        elif content == Media.VIDEO:
            print 'Video filter: ' + mood + ', needed ' + str(num_data_needed) + ' videos'
            numAdded = VideoRetriever.pullAndFilter(mood, \
                                                    ContentDataOrganizer._getRandomTerms(mood), \
                                                    num_data_needed, \
                                                    ContentDataOrganizer.PARTITION_NUM)
            print '-- added: ' + str(numAdded) + ' new videos'
#            if num_data_needed <= 0:
#                print 'already have enough data'
#            VideoRetriever.pullVideos(mood, \
#                                      ContentDataOrganizer._getRandomTerms(mood), \
#                                      num_data_needed)
            
        return None
    def collectContentCronJob(mood, content):
        datas = Media.objects.filter(moods=mood, content_type=content)
        num_data_needed = ContentDataOrganizer.NUM_DATA - len(datas)

        #        if num_data_needed <= 0:
        #            print 'already have enough data'

        if content == Media.PICTURE:
            print 'Picture filter: ' + mood + ', needed ' + str(
                num_data_needed) + ' pictures'
            numAdded = PictureRetriever.pullAndFilter(mood, \
                                                      ContentDataOrganizer._getRandomTerms(mood), \
                                                      num_data_needed, \
                                                      ContentDataOrganizer.PARTITION_NUM)
            print '-- added: ' + str(numAdded) + ' new pictures'
#            PictureRetriever.pullPictures(mood, \
#                                          ContentDataOrganizer._getRandomTerms(mood), \
#                                          num_data_needed)
        elif content == Media.VIDEO:
            print 'Video filter: ' + mood + ', needed ' + str(
                num_data_needed) + ' videos'
            numAdded = VideoRetriever.pullAndFilter(mood, \
                                                    ContentDataOrganizer._getRandomTerms(mood), \
                                                    num_data_needed, \
                                                    ContentDataOrganizer.PARTITION_NUM)
            print '-- added: ' + str(numAdded) + ' new videos'
#            if num_data_needed <= 0:
#                print 'already have enough data'
#            VideoRetriever.pullVideos(mood, \
#                                      ContentDataOrganizer._getRandomTerms(mood), \
#                                      num_data_needed)

        return None
예제 #3
0
    moods = [Mood.HAPPY, Mood.ROMANTIC]  # , Mood.INSPIRED, Mood.EXCITED]
    picOnly = True
    fill_up_to = 100
    min_pic = 100
    min_vid = 20
    # num_data_needed = 100

    for mood in moods:
        pic_num = fill_up_to - len(
            Media.objects.filter(moods=mood, content_type="PI"))
        pic_num = 0 if pic_num < 0 else pic_num

        vid_num = fill_up_to - len(
            Media.objects.filter(moods=mood, content_type="VI"))
        vid_num = 0 if vid_num < 0 else vid_num

        print 'adding ' + str(pic_num) + ' num of pic'
        print 'adding ' + str(vid_num) + ' num of vid'

        part_num_pic = min_pic if pic_num * 3 < min_pic else pic_num * 3
        part_num_vid = min_vid if vid_num * 3 < min_vid else vid_num * 3

        PictureRetriever.pullAndFilter(
            mood, ContentDataOrganizer._getRandomTerms(mood), pic_num,
            part_num_pic)

        if not picOnly:
            VideoRetriever.pullAndFilter(
                mood, ContentDataOrganizer._getRandomTerms(mood), vid_num,
                part_num_vid)
예제 #4
0
    from servercore.CmmCore.ContentDataOrganizer.Retrievers import PictureRetriever, VideoRetriever
    from servercore.CmmCore.ContentDataOrganizer.ContentDataOrganizer import ContentDataOrganizer
    from servercore.CmmData.models import Mood, Media
    
    moods = [Mood.HAPPY, Mood.ROMANTIC] # , Mood.INSPIRED, Mood.EXCITED]
    picOnly = True
    fill_up_to = 100
    min_pic = 100
    min_vid = 20
    # num_data_needed = 100
    
    for mood in moods:
        pic_num = fill_up_to - len(Media.objects.filter(moods = mood, content_type="PI"))
        pic_num = 0 if pic_num < 0 else pic_num
        
        vid_num = fill_up_to - len(Media.objects.filter(moods = mood, content_type="VI"))
        vid_num = 0 if vid_num < 0 else vid_num
        
        print 'adding ' + str(pic_num) + ' num of pic' 
        print 'adding ' + str(vid_num) + ' num of vid' 
        
        part_num_pic = min_pic if pic_num * 3 < min_pic else pic_num * 3
        part_num_vid = min_vid if vid_num * 3 < min_vid else vid_num * 3
        
        
        PictureRetriever.pullAndFilter(mood, ContentDataOrganizer._getRandomTerms(mood), pic_num, part_num_pic)
        
        if not picOnly:
            VideoRetriever.pullAndFilter(mood, ContentDataOrganizer._getRandomTerms(mood), vid_num, part_num_vid)