def __init__(self, metrics, **kwargs): cache_name = 'gipsy.dashboard.widgets.widgets_google_analytics.' + metrics cached_objects = cache.get(cache_name) if cached_objects is None: ga_connector = GoogleAnalyticsConnector() query_date = str((datetime.now() - timedelta(days=1)).date()) result = ga_connector.start_service()\ .query(start_date=query_date, end_date=query_date, metrics=metrics).execute() previous_date = str((datetime.now() - timedelta(days=2)).date()) previous_result = ga_connector.start_service()\ .query(start_date=previous_date, end_date=previous_date, metrics=metrics).execute() try: result = result['rows'][0][0] except KeyError: result = 0 try: previous_result = previous_result['rows'][0][0] except KeyError: previous_result = 0 cached_objects = {'result': result, 'previous_result': previous_result} cache.set(cache_name, cached_objects, self.cache_time) super(WidgetGAEvolution, self)\ .__init__(cached_objects['result'], cached_objects['previous_result'], **kwargs)
def __init__(self, metrics, **kwargs): cache_name = 'gipsy.dashboard.widgets.widgets_google_analytics.' + metrics cached_objects = cache.get(cache_name) if cached_objects is None: ga_connector = GoogleAnalyticsConnector() query_date = str((datetime.now() - timedelta(days=1)).date()) try: result = ga_connector.start_service()\ .query(start_date=query_date, end_date=query_date, metrics=metrics).execute() previous_date = str( (datetime.now() - timedelta(days=2)).date()) previous_result = ga_connector.start_service()\ .query(start_date=previous_date, end_date=previous_date, metrics=metrics).execute() except AccessTokenRefreshError: result = {} previous_result = {} try: result = result['rows'][0][0] except KeyError: result = 0 try: previous_result = previous_result['rows'][0][0] except KeyError: previous_result = 0 cached_objects = { 'result': result, 'previous_result': previous_result } cache.set(cache_name, cached_objects, self.cache_time) super(WidgetGAEvolution, self)\ .__init__(cached_objects['result'], cached_objects['previous_result'], **kwargs)
def __init__(self, **kwargs): labels = [] values = {} values['sessions'] = { 'label': 'Sessions', 'color': '#abc4e6', 'values': [] } values['pageviews'] = { 'label': 'Page views', 'color': '#ffffff', 'values': [] } cache_name = 'gipsy.dashboard.widgets.widgets_google_analytics.WidgetGALineChart' cached_objects = cache.get(cache_name) if cached_objects is None: ga_connector = GoogleAnalyticsConnector() today = date.today() for num in range(0, 10): day_date = today - timedelta(days=num) day = day_date.strftime("%Y-%m-%d") labels.append(day_date.strftime("%m-%d-%Y")) try: result = ga_connector.start_service()\ .query(start_date=day, end_date=day, metrics='ga:pageviews, ga:sessions').execute() except AccessTokenRefreshError: result = { 'totalsForAllResults': { 'ga:sessions': 0, 'a:pageviews': 0 } } values['sessions']['values'].append( result['totalsForAllResults']['ga:sessions']) values['pageviews']['values'].append( result['totalsForAllResults']['ga:pageviews']) values['sessions']['values'] = values['sessions']['values'][::-1] values['pageviews']['values'] = values['pageviews']['values'][::-1] cached_objects = { 'labels': labels[::-1], 'values': [values['sessions'], values['pageviews']] } cache.set(cache_name, cached_objects, self.cache_time) self.labels = cached_objects['labels'] self.values = cached_objects['values']
def __init__(self, **kwargs): labels = [] values = {} values['sessions'] = {'label': 'Sessions', 'color': '#abc4e6', 'values': []} values['pageviews'] = {'label': 'Page views', 'color': '#ffffff', 'values': []} cache_name = 'gipsy.dashboard.widgets.widgets_google_analytics.WidgetGALineChart' cached_objects = cache.get(cache_name) if cached_objects is None: ga_connector = GoogleAnalyticsConnector() today = date.today() for num in range(0, 10): day_date = today - timedelta(days=num) day = day_date.strftime("%Y-%m-%d") labels.append(day_date.strftime("%m-%d-%Y")) result = ga_connector.start_service()\ .query(start_date=day, end_date=day, metrics='ga:pageviews, ga:sessions').execute() values['sessions']['values'].append(result['totalsForAllResults']['ga:sessions']) values['pageviews']['values'].append(result['totalsForAllResults']['ga:pageviews']) values['sessions']['values'] = values['sessions']['values'][::-1] values['pageviews']['values'] = values['pageviews']['values'][::-1] cached_objects = {'labels': labels[::-1], 'values': [values['sessions'], values['pageviews']]} cache.set(cache_name, cached_objects, self.cache_time) self.labels = cached_objects['labels'] self.values = cached_objects['values']