Пример #1
0
    def get(self):
        stats_map = {}

        # get hits to any page
        stats_map['page_hit_count'] = SiteLog.query(SiteLog.page == '/', SiteLog.admin_email == None).count()
      
        # get hits to home page
        stats_map['homepage_hit_count'] = SiteLog.query(SiteLog.page == '/', SiteLog.admin_email == None).count()

        # get hits to provider signup page
        stats_map['provider_signup_hit_count'] = SiteLog.query(SiteLog.page == '/signup/provider', SiteLog.admin_email == None).count()

        # get total # of providers
        stats_map['provider_total_count'] = Provider.query().count()

        # get hits from Internet Explorer
        stats_map['internet_explorer_count'] = db.get_site_counter().internet_explorer_hits

        # number of times exiting site to blog
        stats_map['blog_clicks'] = db.get_site_counter().blog_clicks
        
        stats_map['click_full_button'] = db.get_site_counter().click_full_button
        stats_map['click_preview_button'] = db.get_site_counter().click_preview_button
        
        stats_map['signup_full_button'] = db.get_signup_from_origin('full')
        stats_map['signup_preview_button'] = db.get_signup_from_origin('preview')

        stats_map['paid_full_button'] = db.get_paid_from_origin('full')
        stats_map['paid_preview_button'] = db.get_paid_from_origin('preview')

        self.render_template('admin/dashboard.html', stats_map=stats_map)
Пример #2
0
def get_site_logs_for_prospect(prospect):
    ''' returns all the log events for a user '''
    if prospect:
        return SiteLog.query(SiteLog.prospect == prospect.key).order(
            -SiteLog.access_time).fetch()
    else:
        return None
Пример #3
0
 def calculate_sitelog_stats(self):
     '''
         Calculates all stats related to sitelogs and stores them in ndb properties
     '''
     logging.info('Calculating sitelog stats for %s. Last update was %s UTC' % (self.prospect_id, self.sitelog_calculation_timestamp))
     latest_site_visit = SiteLog.query(SiteLog.prospect == self.key).order(-SiteLog.access_time).get()
     if latest_site_visit:
         self.last_site_visit_timestamp = latest_site_visit.access_time
     # update calculation time
     self.sitelog_calculation_timestamp = datetime.utcnow()
     self.put()
Пример #4
0
 def get_site_logs(self):
     return SiteLog.query(SiteLog.prospect == self.key).order(-SiteLog.access_time).fetch(100)
Пример #5
0
 def get_profile_views_total(self):
     page = '/' + self.vanity_url
     return SiteLog.query(SiteLog.page == page).count()
Пример #6
0
 def get_profile_views_past_30_days(self):
     page = '/' + self.vanity_url
     today_minus_30_days = datetime.today() - timedelta(days=30)
     return SiteLog.query(SiteLog.page == page, SiteLog.access_time > today_minus_30_days).count()
Пример #7
0
def get_site_logs_for_prospect(prospect):
    ''' returns all the log events for a user '''
    if prospect:
        return SiteLog.query(SiteLog.prospect == prospect.key).order(-SiteLog.access_time).fetch()
    else:
        return None  
Пример #8
0
    def log_entry(self):
        google_user = users.get_current_user()
        user = self.get_current_user()
        
        # log request in database
        log_entry = SiteLog()
        log_entry.language = self.get_language()
        log_entry.page = self.request.path
        log_entry.ip = self.request.remote_addr
        log_entry.referer = self.request.referer

        if "X-AppEngine-Country" in self.request.headers:
            log_entry.gae_country = self.request.headers["X-AppEngine-Country"]

        if "X-AppEngine-Region" in self.request.headers:
            log_entry.gae_region = self.request.headers["X-AppEngine-Region"]

        if "X-AppEngine-City" in self.request.headers:
            log_entry.gae_city = self.request.headers["X-AppEngine-City"]

        if "X-AppEngine-CityLatLong" in self.request.headers:
            log_entry.gae_city_lat_long = self.request.headers["X-AppEngine-CityLatLong"]

        if user:
            log_entry.user_email = user.get_email()
            log_entry.user = user.key

        if google_user:
            log_entry.admin_email = google_user.email()
            
        if self.session.has_key('prospect_id'):
            prospect_id = self.session['prospect_id']
            if prospect_id:
                prospect = db.get_prospect_from_prospect_id(prospect_id)
                
                if prospect_id:
                    log_entry.prospect_id = prospect_id
                
                if prospect:
                    log_entry.prospect = prospect.key
           
           
        log_entry.put_async()
Пример #9
0
 def get_profile_views_total(self):
     page = '/' + self.vanity_url
     return SiteLog.query(SiteLog.page == page).count()
Пример #10
0
 def get_profile_views_past_30_days(self):
     page = '/' + self.vanity_url
     today_minus_30_days = datetime.today() - timedelta(days=30)
     return SiteLog.query(
         SiteLog.page == page,
         SiteLog.access_time > today_minus_30_days).count()