From: Ross Jones Date: Tue, 09 Oct 2012 12:37:05 +0000 Subject: flake8 X-Git-Url: https://maxious.lambdacomplex.org/git/?p=ckanext-ga-report.git&a=commitdiff&h=8f3c8b58e7fd5e936d3e525ca0d6b52919d15635 --- flake8 --- --- a/ckanext/ga_report/command.py +++ b/ckanext/ga_report/command.py @@ -1,7 +1,10 @@ import logging +import datetime from ckan.lib.cli import CkanCommand -# No other CKAN imports allowed until _load_config is run, or logging is disabled +# No other CKAN imports allowed until _load_config is run, +# or logging is disabled + class InitDB(CkanCommand): """Initialise the extension's database tables @@ -46,9 +49,10 @@ assuming it is correct. """ from ga_auth import init_service - initialize_service('token.dat', - self.args[0] if self.args - else 'credentials.json') + init_service('token.dat', + self.args[0] if self.args + else 'credentials.json') + class LoadAnalytics(CkanCommand): """Get data from Google Analytics API and save it @@ -73,18 +77,20 @@ def command(self): self._load_config() - from ga_auth import init_service + from download_analytics import DownloadAnalytics + from ga_auth import (init_service, get_profile_id) + try: svc = init_service(self.args[0], None) except TypeError: - print 'Have you correctly run the getauthtoken task and specified the correct file here' + print ('Have you correctly run the getauthtoken task and ' + 'specified the correct file here') return - from download_analytics import DownloadAnalytics - from ga_auth import get_profile_id downloader = DownloadAnalytics(svc, profile_id=get_profile_id(svc)) - time_period = self.args[1] if self.args and len(self.args) > 1 else 'latest' + time_period = self.args[1] if self.args and len(self.args) > 1 \ + else 'latest' if time_period == 'all': downloader.all_() elif time_period == 'latest': @@ -93,4 +99,3 @@ since_date = datetime.datetime.strptime(time_period, '%Y-%m-%d') downloader.since_date(since_date) - --- a/ckanext/ga_report/ga_auth.py +++ b/ckanext/ga_report/ga_auth.py @@ -7,12 +7,12 @@ from pylons import config -def _prepare_credentials( token_filename, credentials_filename ): +def _prepare_credentials(token_filename, credentials_filename): """ Either returns the user's oauth credentials or uses the credentials file to generate a token (by forcing the user to login in the browser) """ - storage = Storage( token_filename ) + storage = Storage(token_filename) credentials = storage.get() if credentials is None or credentials.invalid: @@ -23,7 +23,8 @@ return credentials -def init_service( token_file, credentials_file ): + +def init_service(token_file, credentials_file): """ Given a file containing the user's oauth token (and another with credentials in case we need to generate the token) will return a @@ -56,3 +57,4 @@ return profiles.get('items')[0].get('id') return None + --- a/ckanext/ga_report/ga_model.py +++ b/ckanext/ga_report/ga_model.py @@ -3,20 +3,23 @@ from sqlalchemy import Table, Column, MetaData from sqlalchemy import types -from sqlalchemy.sql import select, text +from sqlalchemy.sql import select from sqlalchemy import func import ckan.model as model from ckan.model.types import JsonType from ckan.lib.base import * + def make_uuid(): return unicode(uuid.uuid4()) + def init_tables(): metadata = MetaData() package_stats = Table('ga_url', metadata, - Column('id', types.UnicodeText, primary_key=True, default=make_uuid), + Column('id', types.UnicodeText, primary_key=True, + default=make_uuid), Column('period_name', types.UnicodeText), Column('period_complete_day', types.Integer), Column('visits', types.Integer), @@ -27,6 +30,7 @@ cached_tables = {} + def get_table(name): if name not in cached_tables: @@ -46,6 +50,7 @@ url = re.sub('https?://(www\.)?data.gov.uk', '', url) return url + def _get_department_id_of_url(url): # e.g. /dataset/fuel_prices # e.g. /dataset/fuel_prices/resource/e63380d4 @@ -57,6 +62,7 @@ publisher_groups = dataset.get_groups('publisher') if publisher_groups: return publisher_groups[0].id + def update_url_stats(period_name, period_complete_day, url_data): table = get_table('ga_url') @@ -71,9 +77,9 @@ count = connection.execute(s).fetchone() if count and count[0]: # update the row - connection.execute(table.update()\ + connection.execute(table.update() .where(table.c.period_name == period_name, - table.c.url == url)\ + table.c.url == url) .values(period_complete_day=period_complete_day, views=views, department_id=department_id, @@ -86,6 +92,6 @@ 'views': views, 'department_id': department_id, 'next_page': next_page} - connection.execute(stats.insert()\ - .values(**values)) + connection.execute(stats.insert(). + values(**values))