Beispiel #1
0
 def live_by_subreddit(cls, sr):
     if sr == Frontpage:
         sr_id = ''
     else:
         sr_id = sr._id
     r = LiveAdWeights.get([sr_id])
     return [i.link for i in r[sr_id]]
Beispiel #2
0
 def live_by_subreddit(cls, sr):
     if sr == Frontpage:
         sr_id = ''
     else:
         sr_id = sr._id
     r = LiveAdWeights.get([sr_id])
     return [i.link for i in r[sr_id]]
Beispiel #3
0
def set_live_promotions(weights):
    start = time.time()
    # First, figure out which subreddits have had ads recently
    today = promo_datetime_now()
    yesterday = today - timedelta(days=1)
    tomorrow = today + timedelta(days=1)
    promo_weights = PromotionWeights.get_campaigns(yesterday, tomorrow)
    subreddit_names = set(p.sr_name for p in promo_weights)
    subreddits = Subreddit._by_name(subreddit_names).values()
    # Set the default for those subreddits to no ads
    all_weights = {sr._id: [] for sr in subreddits}

    # Mix in the currently live ads
    all_weights.update(weights)
    if "" in all_weights:
        all_weights[LiveAdWeights.FRONT_PAGE] = all_weights.pop("")

    LiveAdWeights.set_all_from_weights(all_weights)
    end = time.time()
    g.log.info("promote.set_live_promotions completed in %s seconds", end - start)
Beispiel #4
0
def set_live_promotions(weights):
    start = time.time()
    # First, figure out which subreddits have had ads recently
    today = promo_datetime_now()
    yesterday = today - timedelta(days=1)
    tomorrow = today + timedelta(days=1)
    promo_weights = PromotionWeights.get_campaigns(yesterday, tomorrow)
    subreddit_names = set(p.sr_name for p in promo_weights)
    subreddits = Subreddit._by_name(subreddit_names).values()
    # Set the default for those subreddits to no ads
    all_weights = {sr._id: [] for sr in subreddits}

    # Mix in the currently live ads
    all_weights.update(weights)
    if '' in all_weights:
        all_weights[LiveAdWeights.FRONT_PAGE] = all_weights.pop('')

    LiveAdWeights.set_all_from_weights(all_weights)
    end = time.time()
    g.log.info("promote.set_live_promotions completed in %s seconds",
               end - start)
Beispiel #5
0
def get_live_promotions(srids):
    timer = g.stats.get_timer("promote.get_live")
    timer.start()
    weights = LiveAdWeights.get(srids)
    timer.stop()
    return weights
Beispiel #6
0
 def subreddits_with_promos(cls):
     sr_ids = LiveAdWeights.get_live_subreddits()
     srs = Subreddit._byID(sr_ids, return_dict=False)
     sr_names = sorted([sr.name for sr in srs], key=lambda s: s.lower())
     return sr_names
Beispiel #7
0
def get_live_promotions(srids):
    timer = g.stats.get_timer("promote.get_live")
    timer.start()
    weights = LiveAdWeights.get(srids)
    timer.stop()
    return weights
Beispiel #8
0
 def subreddits_with_promos(cls):
     sr_ids = LiveAdWeights.get_live_subreddits()
     srs = Subreddit._byID(sr_ids, return_dict=False)
     sr_names = sorted([sr.name for sr in srs], key=lambda s: s.lower())
     return sr_names