예제 #1
0
파일: promote.py 프로젝트: pra85/reddit
def new_promotion(is_self, title, content, author, ip):
    """
    Creates a new promotion with the provided title, etc, and sets it
    status to be 'unpaid'.
    """
    sr = Subreddit._byID(Subreddit.get_promote_srid())
    l = Link._submit(
        is_self=is_self,
        title=title,
        content=content,
        author=author,
        sr=sr,
        ip=ip,
    )

    l.promoted = True
    l.disable_comments = False
    l.sendreplies = True
    PromotionLog.add(l, 'promotion created')

    update_promote_status(l, PROMOTE_STATUS.unpaid)

    # the user has posted a promotion, so enable the promote menu unless
    # they have already opted out
    if author.pref_show_promote is not False:
        author.pref_show_promote = True
        author._commit()

    # notify of new promo
    emailer.new_promo(l)
    return l
예제 #2
0
 def query(self):
     if self.sort == "future_promos":
         return queries.get_all_unapproved_links()
     elif self.sort == "pending_promos":
         return queries.get_all_accepted_links()
     elif self.sort == "unpaid_promos":
         return queries.get_all_unpaid_links()
     elif self.sort == "rejected_promos":
         return queries.get_all_rejected_links()
     elif self.sort == "live_promos" and self.sr:
         return self.live_by_subreddit(self.sr)
     elif self.sort == 'live_promos':
         return queries.get_all_live_links()
     elif self.sort == 'underdelivered':
         q = queries.get_underdelivered_campaigns()
         campaigns = PromoCampaign._by_fullname(list(q),
                                                data=True,
                                                return_dict=False)
         link_ids = [camp.link_id for camp in campaigns]
         return [Link._fullname_from_id36(to36(id)) for id in link_ids]
     elif self.sort == 'reported':
         return queries.get_reported_links(Subreddit.get_promote_srid())
     elif self.sort == 'house':
         return self.get_house_link_names()
     elif self.sort == 'all':
         return queries.get_all_promoted_links()
예제 #3
0
def new_promotion(title, url, selftext, user, ip):
    """
    Creates a new promotion with the provided title, etc, and sets it
    status to be 'unpaid'.
    """
    sr = Subreddit._byID(Subreddit.get_promote_srid())
    l = Link._submit(title, url, user, sr, ip)
    l.promoted = True
    l.disable_comments = False
    l.sendreplies = True
    PromotionLog.add(l, 'promotion created')

    if url == 'self':
        l.url = l.make_permalink_slow()
        l.is_self = True
        l.selftext = selftext

    l._commit()

    update_promote_status(l, PROMOTE_STATUS.unpaid)

    # the user has posted a promotion, so enable the promote menu unless
    # they have already opted out
    if user.pref_show_promote is not False:
        user.pref_show_promote = True
        user._commit()

    # notify of new promo
    emailer.new_promo(l)
    return l
예제 #4
0
def new_promotion(title, url, selftext, user, ip):
    """
    Creates a new promotion with the provided title, etc, and sets it
    status to be 'unpaid'.
    """
    sr = Subreddit._byID(Subreddit.get_promote_srid())
    l = Link._submit(title, url, user, sr, ip)
    l.promoted = True
    l.disable_comments = False
    l.sendreplies = True
    PromotionLog.add(l, 'promotion created')

    if url == 'self':
        l.url = l.make_permalink_slow()
        l.is_self = True
        l.selftext = selftext

    l._commit()

    update_promote_status(l, PROMOTE_STATUS.unpaid)

    # the user has posted a promotion, so enable the promote menu unless
    # they have already opted out
    if user.pref_show_promote is not False:
        user.pref_show_promote = True
        user._commit()

    # notify of new promo
    emailer.new_promo(l)
    return l
예제 #5
0
def new_promotion(is_self, title, content, author, ip):
    """
    Creates a new promotion with the provided title, etc, and sets it
    status to be 'unpaid'.
    """
    sr = Subreddit._byID(Subreddit.get_promote_srid())
    l = Link._submit(
        is_self=is_self,
        title=title,
        content=content,
        author=author,
        sr=sr,
        ip=ip,
    )

    l.promoted = True
    l.disable_comments = False
    l.sendreplies = True
    PromotionLog.add(l, 'promotion created')

    update_promote_status(l, PROMOTE_STATUS.unpaid)

    # the user has posted a promotion, so enable the promote menu unless
    # they have already opted out
    if author.pref_show_promote is not False:
        author.pref_show_promote = True
        author._commit()

    # notify of new promo
    emailer.new_promo(l)
    return l
예제 #6
0
 def query(self):
     if self.sort == "future_promos":
         return queries.get_all_unapproved_links()
     elif self.sort == "pending_promos":
         return queries.get_all_accepted_links()
     elif self.sort == "unpaid_promos":
         return queries.get_all_unpaid_links()
     elif self.sort == "rejected_promos":
         return queries.get_all_rejected_links()
     elif self.sort == "live_promos" and self.sr:
         return self.live_by_subreddit(self.sr)
     elif self.sort == 'live_promos':
         return queries.get_all_live_links()
     elif self.sort == 'underdelivered':
         q = queries.get_underdelivered_campaigns()
         campaigns = PromoCampaign._by_fullname(list(q), data=True,
                                                return_dict=False)
         link_ids = [camp.link_id for camp in campaigns]
         return [Link._fullname_from_id36(to36(id)) for id in link_ids]
     elif self.sort == 'reported':
         return queries.get_reported_links(Subreddit.get_promote_srid())
     elif self.sort == 'house':
         return self.get_house_link_names()
     elif self.sort == 'all':
         return queries.get_all_promoted_links()
예제 #7
0
 def should_index(self, thing):
     return thing._id != Subreddit.get_promote_srid()
예제 #8
0
 def should_index(self, thing):
     return thing._id != Subreddit.get_promote_srid()
예제 #9
0
def _get_subreddit():
    return Subreddit._byID(Subreddit.get_promote_srid())
예제 #10
0
def get_dfp_subreddit():
    from r2.models import Subreddit
    return Subreddit._byID(Subreddit.get_promote_srid())
예제 #11
0
def get_dfp_subreddit():
    from r2.models import Subreddit
    return Subreddit._byID(Subreddit.get_promote_srid())