def putSomeData(mood=Mood.HAPPY, content=Media.PICTURE): # grab term #whichTerm = int(random.random() * len(ContentDataOrganizer.FUNNY_TERMS)) #term = ContentDataOrganizer.FUNNY_TERMS[whichTerm] # our database moodPics = Media.objects.filter(moods=mood, content_type = content) num_moodPics = ContentDataOrganizer.NUM_DATA - len(moodPics) PictureRetriever.pullPictures(mood, \ ContentDataOrganizer.HAPPY_TERMS,\ num_moodPics)
def putSomeData(mood=Mood.HAPPY, content=Media.PICTURE): # grab term #whichTerm = int(random.random() * len(ContentDataOrganizer.FUNNY_TERMS)) #term = ContentDataOrganizer.FUNNY_TERMS[whichTerm] # our database moodPics = Media.objects.filter(moods=mood, content_type=content) num_moodPics = ContentDataOrganizer.NUM_DATA - len(moodPics) PictureRetriever.pullPictures(mood, \ ContentDataOrganizer.HAPPY_TERMS,\ num_moodPics)
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
def test_filteroutlowscore(self): ms = Media.objects.all() m0 = ms[0] m1 = ms[1] m2 = ms[2] for i in range(0,10): m0.thumbs_down() for i in range(0,9): m1.thumbs_down() for i in range(0,15): m2.thumbs_up() PictureRetriever.pullAndFilter(Mood.HAPPY, ['happy'], 0, 20) ms = Media.objects.all() self.assertEqual(10, len(ms)) self.assertFalse(m0 in ms)# out because more than 10 rating and it sucks self.assertTrue(m1 in ms) #in because less than 10 ratings self.assertTrue(m2 in ms) # in because its good
def test_filteroutlowscore(self): ms = Media.objects.all() m0 = ms[0] m1 = ms[1] m2 = ms[2] for i in range(0, 10): m0.thumbs_down() for i in range(0, 9): m1.thumbs_down() for i in range(0, 15): m2.thumbs_up() PictureRetriever.pullAndFilter(Mood.HAPPY, ['happy'], 0, 20) ms = Media.objects.all() self.assertEqual(10, len(ms)) self.assertFalse(m0 in ms) # out because more than 10 rating and it sucks self.assertTrue(m1 in ms) #in because less than 10 ratings self.assertTrue(m2 in ms) # in because its good
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)
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "servercore.settings") 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)
def setUp(self): PictureRetriever.pullPictures(Mood.HAPPY, 'happy', 21) pass
def test_addnum(self): PictureRetriever.pullAndFilter(Mood.HAPPY, ['happy'], 5, 20) ms = Media.objects.all() self.assertEqual(15, len(ms))
def setUp(self): PictureRetriever.pullPictures(Mood.HAPPY, 'happy', 10)