From d481f2d84b5ad11731a008fea8ea14be6dcc227d Mon Sep 17 00:00:00 2001 From: Neil Williams Date: Tue, 16 Oct 2012 10:45:17 -0700 Subject: [PATCH] ads: Make frontpage_dart not override ads-by-codename. This fixes an issue where /ads/:codename: links would show only the homepage roadblock ad when frontpage_dart = True. --- r2/r2/controllers/mediaembed.py | 4 ++-- r2/r2/lib/pages/pages.py | 26 ++++++++++++++------------ 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/r2/r2/controllers/mediaembed.py b/r2/r2/controllers/mediaembed.py index 0d10b9ae1..1c048e83f 100644 --- a/r2/r2/controllers/mediaembed.py +++ b/r2/r2/controllers/mediaembed.py @@ -24,7 +24,7 @@ from validator import * from reddit_base import MinimalController from r2.lib.scraper import get_media_embed -from r2.lib.pages import MediaEmbedBody, render_ad +from r2.lib.pages import MediaEmbedBody, render_ad, render_ad_by_codename from pylons import request from pylons.controllers.util import abort @@ -72,5 +72,5 @@ class AdController(MinimalController): if not codename: abort(404) c.render_style = "html" - return render_ad(codename=codename) + return render_ad_by_codename(codename) diff --git a/r2/r2/lib/pages/pages.py b/r2/r2/lib/pages/pages.py index 18be5e533..913bd87ad 100755 --- a/r2/r2/lib/pages/pages.py +++ b/r2/r2/lib/pages/pages.py @@ -3612,7 +3612,20 @@ class HouseAd(CachedTemplate): res = CachedTemplate.render(self, *a, **kw) return responsive(res, False) -def render_ad(reddit_name=None, codename=None, keyword=None): + +def render_ad_by_codename(codename): + if codename == "DART": + return Dart_Ad("reddit.dart", g.default_sr).render() + + try: + ad = Ad._by_codename(codename) + except NotFound: + abort(404) + attrs = ad.important_attrs() + return HouseAd(**attrs).render() + + +def render_ad(reddit_name=None, keyword=None): if not reddit_name: reddit_name = g.default_sr if g.live_config["frontpage_dart"]: @@ -3631,17 +3644,6 @@ def render_ad(reddit_name=None, codename=None, keyword=None): if keyword: return Dart_Ad(dartsite, reddit_name, keyword).render() - if codename: - if codename == "DART": - return Dart_Ad(dartsite, reddit_name).render() - else: - try: - ad = Ad._by_codename(codename) - except NotFound: - abort(404) - attrs = ad.important_attrs() - return HouseAd(**attrs).render() - ads = {} for adsr in AdSR.by_sr_merged(sr):