From: Ross Jones Date: Tue, 29 Oct 2013 12:50:25 +0000 Subject: Just adding breadcrumbs X-Git-Url: http://maxious.lambdacomplex.org/git/?p=ckanext-ga-report.git&a=commitdiff&h=08808eec701e1d8b32ea9ba7cd04a6685960a8c4 --- Just adding breadcrumbs --- --- a/ckanext/ga_report/download_analytics.py +++ b/ckanext/ga_report/download_analytics.py @@ -193,6 +193,10 @@ # Supported query params at # https://developers.google.com/analytics/devguides/reporting/core/v3/reference try: + # Because of issues of invalid responses, we are going to make these requests + # ourselves. + headers = {'authorization': 'Bearer ' + self.token} + args = {} args["sort"] = "-ga:pageviews" args["max-results"] = 100000 @@ -204,11 +208,16 @@ args["filters"] = query args["alt"] = "json" - results = self._get_json(args) - - except Exception, e: - log.exception(e) - return dict(url=[]) + r = requests.get("https://www.googleapis.com/analytics/v3/data/ga", params=args, headers=headers) + if r.status_code != 200: + raise Exception("Request with params: %s failed" % args) + + results = json.loads(r.content) + print len(results.keys()) + except Exception, e: + log.exception(e) + #return dict(url=[]) + raise e packages = [] log.info("There are %d results" % results['totalResults']) @@ -249,32 +258,37 @@ return data def _get_json(self, params, prev_fail=False): - ga_token_filepath = os.path.expanduser(config.get('googleanalytics.token.filepath', '')) - if not ga_token_filepath: - print 'ERROR: In the CKAN config you need to specify the filepath of the ' \ - 'Google Analytics token file under key: googleanalytics.token.filepath' - return - - log.info("Trying to refresh our OAuth token") - try: - from ga_auth import init_service - self.token, svc = init_service(ga_token_filepath, None) - log.info("OAuth token refreshed") - except Exception, auth_exception: - log.error("Oauth refresh failed") - log.exception(auth_exception) - return - - try: + if prev_fail: + import os + ga_token_filepath = os.path.expanduser(config.get('googleanalytics.token.filepath', '')) + if not ga_token_filepath: + print 'ERROR: In the CKAN config you need to specify the filepath of the ' \ + 'Google Analytics token file under key: googleanalytics.token.filepath' + return + + try: + self.token, svc = init_service(ga_token_filepath, None) + except TypeError: + print ('Have you correctly run the getauthtoken task and ' + 'specified the correct token file in the CKAN config under ' + '"googleanalytics.token.filepath"?') + + try: + # Because of issues of invalid responses, we are going to make these requests + # ourselves. headers = {'authorization': 'Bearer ' + self.token} r = requests.get("https://www.googleapis.com/analytics/v3/data/ga", params=params, headers=headers) if r.status_code != 200: - log.info("STATUS: %s" % (r.status_code,)) - log.info("CONTENT: %s" % (r.content,)) - raise Exception("Request with params: %s failed" % params) + log.info("STATUS: %s" % (r.status_code,)) + log.info("CONTENT: %s" % (r.content,)) + raise Exception("Request with params: %s failed" % params) return json.loads(r.content) except Exception, e: + if not prev_fail: + print e + results = self._get_json(self, params, prev_fail=True) + else: log.exception(e) return dict(url=[]) --- a/ckanext/ga_report/templates/ga_report/publisher/index.html +++ b/ckanext/ga_report/templates/ga_report/publisher/index.html @@ -8,10 +8,9 @@ Usage by Publisher - - + ${ga_sidebar(download_link=h.url_for(controller='ckanext.ga_report.controller:GaDatasetReport',action='publisher_csv',month=c.month or 'all'))} - + @@ -25,7 +24,14 @@ - Site Usage ${usage_nav('Publishers')} + + +
  • Datasets
  • +
  • Site-usage
  • +
  • Publishers
  • +
    + +
    --- a/ckanext/ga_report/templates/ga_report/publisher/read.html +++ b/ckanext/ga_report/templates/ga_report/publisher/read.html @@ -19,10 +19,18 @@ - + ${ga_sidebar(download_link=h.url_for(controller='ckanext.ga_report.controller:GaDatasetReport',action='dataset_csv',id=c.publisher_name or 'all',month=c.month or 'all'))} + + + +
  • Datasets
  • +
  • Site-usage
  • +
  • Publishers
  • +
  • ${c.publisher.title}
  • - Site Usage ${usage_nav('Datasets')} + +
    --- a/ckanext/ga_report/templates/ga_report/site/downloads.html +++ b/ckanext/ga_report/templates/ga_report/site/downloads.html @@ -7,9 +7,9 @@ Downloads - + ${ga_sidebar(download_link=h.url_for(controller='ckanext.ga_report.controller:GaReport',action='csv_downloads',month=c.month or 'all'))} - + Downloads ${usage_nav('Downloads')}
    --- a/ckanext/ga_report/templates/ga_report/site/index.html +++ b/ckanext/ga_report/templates/ga_report/site/index.html @@ -19,11 +19,17 @@ - + ${ga_sidebar(download_link=h.url_for(controller='ckanext.ga_report.controller:GaReport',action='csv',month=c.month or 'all'))} + + + + +
  • Datasets
  • +
  • Site-usage
  • +
  • Site-wide
  • - Site Usage ${usage_nav('Site-wide')}