Esempio n. 1
0
    def __init__(self, thing, campaign, before, after):
        self.thing = thing
        self.campaign = campaign
        self.before = before
        self.after = after
        self.prev = None
        self.next = None
        self.has_live_campaign = False
        self.has_early_campaign = False
        self.detail_name = ('campaign %s' %
                            campaign._id36 if campaign else 'all campaigns')
        self.has_adserver_reporting = feature.is_enabled("adserver_reporting")
        self.use_adserver_reporting = _use_adserver_reporting(thing)
        self.has_spent = self.use_adserver_reporting

        editable = c.user_is_sponsor or c.user._id == thing.author_id
        if self.use_adserver_reporting:
            # can't get this info from adserver
            self.traffic_last_modified = False
        else:
            self.traffic_last_modified = traffic.get_traffic_last_modified()
            self.traffic_lag = (datetime.datetime.utcnow() -
                                self.traffic_last_modified)

        self.interval = self.get_interval(thing)
        self.period = datetime.timedelta(
            days=30 if self.interval == "day" else 7)

        self.make_table(campaign or thing)
        self.make_campaign_table()
        Templated.__init__(self)
Esempio n. 2
0
    def __init__(self, thing, campaign, before, after):
        self.thing = thing
        self.campaign = campaign
        self.before = before
        self.after = after
        self.prev = None
        self.next = None
        self.has_live_campaign = False
        self.has_early_campaign = False
        self.detail_name = ('campaign %s' % campaign._id36 if campaign
                                                           else 'all campaigns')
        self.has_adserver_reporting = feature.is_enabled("adserver_reporting")
        self.use_adserver_reporting = _use_adserver_reporting(thing)
        self.has_spent = self.use_adserver_reporting


        editable = c.user_is_sponsor or c.user._id == thing.author_id
        if self.use_adserver_reporting:
            # can't get this info from adserver
            self.traffic_last_modified = False
        else:
            self.traffic_last_modified = traffic.get_traffic_last_modified()
            self.traffic_lag = (datetime.datetime.utcnow() -
                                self.traffic_last_modified)

        self.interval = self.get_interval(thing)
        self.period = datetime.timedelta(days=30 if self.interval == "day" else 7)

        self.make_table(campaign or thing)
        self.make_campaign_table()
        Templated.__init__(self)
Esempio n. 3
0
    def __init__(self, place):
        self.place = place

        self.traffic_last_modified = traffic.get_traffic_last_modified()
        self.traffic_lag = datetime.datetime.utcnow() - self.traffic_last_modified

        self.make_tables()

        Templated.__init__(self)
Esempio n. 4
0
    def __init__(self, place):
        self.place = place

        self.traffic_last_modified = traffic.get_traffic_last_modified()
        self.traffic_lag = (datetime.datetime.utcnow() -
                            self.traffic_last_modified)

        self.make_tables()

        Templated.__init__(self)
Esempio n. 5
0
    def __init__(self, thing, campaign, before, after):
        self.thing = thing
        self.campaign = campaign
        self.before = before
        self.after = after
        self.period = datetime.timedelta(days=7)
        self.prev = None
        self.next = None
        self.has_live_campaign = False
        self.has_early_campaign = False
        self.detail_name = ('campaign %s' %
                            campaign._id36 if campaign else 'all campaigns')

        editable = c.user_is_sponsor or c.user._id == thing.author_id
        self.traffic_last_modified = traffic.get_traffic_last_modified()
        self.traffic_lag = (datetime.datetime.utcnow() -
                            self.traffic_last_modified)
        self.make_hourly_table(campaign or thing)
        self.make_campaign_table()
        Templated.__init__(self)
Esempio n. 6
0
def _min_daily_pageviews_by_sr(ndays=NDAYS_TO_QUERY, end_date=None):
    """Return dict mapping sr_name to min_pageviews over the last ndays."""
    if not end_date:
        last_modified = traffic.get_traffic_last_modified()
        end_date = last_modified - timedelta(days=1)
    stop = end_date
    start = stop - timedelta(ndays)
    time_points = traffic.get_time_points('day', start, stop)
    cls = traffic.PageviewsBySubredditAndPath
    q = (traffic.Session.query(cls.srpath, func.min(
        cls.pageview_count)).filter(cls.interval == 'day').filter(
            cls.date.in_(time_points)).filter(
                cls.srpath.like('%-GET_listing')).group_by(cls.srpath))

    # row looks like: ('lightpainting-GET_listing', 16)
    retval = {}
    for row in q:
        m = PAGEVIEWS_REGEXP.match(row[0])
        if m:
            retval[m.group(1)] = row[1]
    return retval