def GET_promote_inventory(self, start, end, sr_name, collection_name): if not start or not end: start = promote.promo_datetime_now(offset=1).date() end = promote.promo_datetime_now(offset=8).date() c.errors.remove((errors.BAD_DATE, 'startdate')) c.errors.remove((errors.BAD_DATE, 'enddate')) target = Target(Frontpage.name) if sr_name: try: sr = Subreddit._by_name(sr_name) target = Target(sr.name) except NotFound: c.errors.add(errors.SUBREDDIT_NOEXIST, field='sr_name') elif collection_name: collection = Collection.by_name(collection_name) if not collection: c.errors.add(errors.COLLECTION_NOEXIST, field='collection_name') else: target = Target(collection) content = PromoteInventory(start, end, target) return PromotePage(title=_("sponsored link inventory"), content=content).render()
def GET_check_inventory(self, responder, sr, collection, location, start, end): if collection: target = Target(collection) sr = None else: sr = sr or Frontpage target = Target(sr.name) if not allowed_location_and_target(location, target): return abort(403, 'forbidden') available = inventory.get_available_pageviews( target, start, end, location=location, datestr=True) return {'inventory': available}
def GET_check_inventory(self, responder, sr, collection, location, start, end): if collection: target = Target(collection) sr = None else: sr = sr or Frontpage target = Target(sr.name) if not location or not location.country: available = inventory.get_available_pageviews( target, start, end, datestr=True) elif not collection and (sr == Frontpage or c.user_is_sponsor): # geotargeting is available on the Frontpage for all users or on # individual subreddits for sponsors available = inventory.get_available_pageviews_geotargeted(sr, location, start, end, datestr=True) else: return abort(403, 'forbidden') return {'inventory': available}