def test_mix_random_limit_sources_1(self): moxer = mox.Mox() moxer.StubOutWithMock(ArtifactSource, "all") moxer.StubOutWithMock(ArtifactContent, "all") ArtifactSource.all().AndReturn(MockQuery(xrange(4), create_call=_source)) ArtifactContent.all().AndReturn(MockQuery(xrange(12), create_call=_content)) moxer.ReplayAll() sources, text = new_default_mixer().mix_random_limit_sources(1) self.assertEquals(len(sources), 1) moxer.VerifyAll()
def test_mix_random_limit_sources_1(self): moxer = mox.Mox() moxer.StubOutWithMock(ArtifactSource, "all") moxer.StubOutWithMock(ArtifactContent, "all") ArtifactSource.all().AndReturn( MockQuery(xrange(4), create_call=_source)) ArtifactContent.all().AndReturn( MockQuery(xrange(12), create_call=_content)) moxer.ReplayAll() sources, text = new_default_mixer().mix_random_limit_sources(1) self.assertEquals(len(sources), 1) moxer.VerifyAll()
def post(self, **kw): helper = RequestHelper(self) results = {} source_q = ArtifactSource.all() for s in source_q: artifact_q = ArtifactInfo.find_by_source(s) count = len([a for a in artifact_q]) counter = Counters.source_counter(s.name) old_count = counter.count() counter.set(count) source_result = {'old': old_count} # if source is linked to a feed, I can't delete it feed = Feed.get_by_source(s, return_none=True) if feed: source_result['feed'] = feed.url if not count and not feed: s.delete() source_result['deleted'] = True if count: source_result['new'] = count results[s.name] = source_result helper.write_json(results)
def post(self, **kw): helper = RequestHelper(self) results = {} source_q = ArtifactSource.all() for s in source_q: artifact_q = ArtifactInfo.find_by_source(s) count = len([a for a in artifact_q]) counter = Counters.source_counter(s.name) old_count = counter.count() counter.set(count) source_result = { 'old': old_count } # if source is linked to a feed, I can't delete it feed = Feed.get_by_source(s, return_none=True) if feed: source_result['feed'] = feed.url if not count and not feed: s.delete() source_result['deleted'] = True if count: source_result['new'] = count results[s.name] = source_result helper.write_json(results)
def find_artifact_counts(cls, **kw): counts = {} for src in ArtifactSource.all(): c = Counters.source_counter(src.name) counts[src.name] = dict(counter=c.count(), info=cls.count_infos(src), content=cls.count_content(src)) return counts
def test_words(words, text_call): for i in xrange(len(words)): moxer = mox.Mox() moxer.StubOutWithMock(ArtifactSource, "all") moxer.StubOutWithMock(ArtifactContent, "all") ArtifactSource.all().AndReturn(MockQuery(xrange(4), create_call=_source)) word = words[i] source_content = _content(word) source_text = source_content.body ArtifactContent.all().AndReturn(MockQuery(xrange(1), create_call=lambda id: source_content)) moxer.ReplayAll() mixer = new_default_mixer() sources, mixed_text = mixer.mix_random_limit_sources(1) print "('%s') '%s' -> '%s'" % (word, source_text, mixed_text) text_call(word, source_text, mixed_text) moxer.VerifyAll()
def test_words(words, text_call): for i in xrange(len(words)): moxer = mox.Mox() moxer.StubOutWithMock(ArtifactSource, "all") moxer.StubOutWithMock(ArtifactContent, "all") ArtifactSource.all().AndReturn( MockQuery(xrange(4), create_call=_source)) word = words[i] source_content = _content(word) source_text = source_content.body ArtifactContent.all().AndReturn( MockQuery(xrange(1), create_call=lambda id: source_content)) moxer.ReplayAll() mixer = new_default_mixer() sources, mixed_text = mixer.mix_random_limit_sources(1) print "('%s') '%s' -> '%s'" % (word, source_text, mixed_text) text_call(word, source_text, mixed_text) moxer.VerifyAll()
def mix_random_limit_sources(self, source_count, degrade=False): """ params: source_count - number of sources to mix degrade - if True, mix even if source_count sources cannot be found returns: ((sources), mixed_content) """ # choose random sources source_q = ArtifactSource.all() q_count = source_q.count() if (q_count < source_count): if degrade: logging.debug("mix_random_limit_sources requested %d sources; degrading to %d" % (source_count, q_count)) source_count = q_count else: raise MissingDataException("insufficient ArtifactSources found (%d < %d)" % \ (q_count, source_count)) sources = random_query_results(source_q, source_count) return self.__random_content_for_sources(sources)
def mix_random_limit_sources(self, source_count, degrade=False): """ params: source_count - number of sources to mix degrade - if True, mix even if source_count sources cannot be found returns: ((sources), mixed_content) """ # choose random sources source_q = ArtifactSource.all() q_count = source_q.count() if (q_count < source_count): if degrade: logging.debug( "mix_random_limit_sources requested %d sources; degrading to %d" % (source_count, q_count)) source_count = q_count else: raise MissingDataException("insufficient ArtifactSources found (%d < %d)" % \ (q_count, source_count)) sources = random_query_results(source_q, source_count) return self.__random_content_for_sources(sources)
def get(self, **kw): helper = RequestHelper(self) results = [] for s in ArtifactSource.all().fetch(100, 0): results.append(source_hash(s)) helper.write_json(results)
def get(self, **kw): helper = RequestHelper(self) results = [] for s in ArtifactSource.all().fetch(100, 0): results.append(source_hash(s)) helper.write_json(results)
def find_artifact_counts(cls, **kw): counts = {} for src in ArtifactSource.all(): c = Counters.source_counter(src.name) counts[src.name] = dict(counter=c.count(), info=cls.count_infos(src), content=cls.count_content(src)) return counts