From 0a842598df457546e2c0a3bf30dc91e2e86edc04 Mon Sep 17 00:00:00 2001 From: Maxime Beauchemin Date: Mon, 29 Feb 2016 00:22:37 -0800 Subject: [PATCH] More linting --- panoramix/__init__.py | 2 +- panoramix/config.py | 14 +++++++------- panoramix/migrations/versions/1e2841a4128_.py | 5 ----- .../2929af7925ed_tz_offsets_in_data_sources.py | 1 - .../migrations/versions/430039611635_log_more.py | 1 - .../migrations/versions/43df8de3a5f4_dash_json.py | 3 ++- panoramix/migrations/versions/5a7bad26f2a7_.py | 2 +- .../versions/7dbf98566af7_slice_description.py | 1 - .../versions/d827694c7555_css_templates.py | 1 - panoramix/models.py | 12 ++++++++---- panoramix/utils.py | 1 + panoramix/views.py | 11 ++++++++--- 12 files changed, 28 insertions(+), 26 deletions(-) diff --git a/panoramix/__init__.py b/panoramix/__init__.py index d90c5507711..e23539f692c 100644 --- a/panoramix/__init__.py +++ b/panoramix/__init__.py @@ -4,7 +4,6 @@ from flask import Flask, redirect from flask.ext.appbuilder import SQLA, AppBuilder, IndexView from flask.ext.appbuilder.baseviews import expose from flask.ext.migrate import Migrate -from panoramix import config, views APP_DIR = os.path.dirname(__file__) @@ -34,3 +33,4 @@ appbuilder = AppBuilder( sm = appbuilder.sm get_session = appbuilder.get_session +from panoramix import config, views diff --git a/panoramix/config.py b/panoramix/config.py index 27699b05737..031b025ed4a 100644 --- a/panoramix/config.py +++ b/panoramix/config.py @@ -1,3 +1,9 @@ +""" +All configuration in this file can be overridden by providing a local_config +in your PYTHONPATH. + +There' a ``from local_config import *`` at the end of this file. +""" import os from flask_appbuilder.security.manager import AUTH_DB # from flask_appbuilder.security.manager import ( @@ -5,12 +11,6 @@ from flask_appbuilder.security.manager import AUTH_DB BASE_DIR = os.path.abspath(os.path.dirname(__file__)) from dateutil import tz -""" -All configuration in this file can be overridden by providing a local_config -in your PYTHONPATH. - -There' a ``from local_config import *`` at the end of this file. -""" # --------------------------------------------------------- # Panoramix specifix config @@ -133,5 +133,5 @@ CSS_THEME = '/static/assets/stylesheets/themes/panoramix-bootstrap-theme.css' try: from panoramix_config import * -except: +except Exception: pass diff --git a/panoramix/migrations/versions/1e2841a4128_.py b/panoramix/migrations/versions/1e2841a4128_.py index 887ee38647d..330b3b217c0 100644 --- a/panoramix/migrations/versions/1e2841a4128_.py +++ b/panoramix/migrations/versions/1e2841a4128_.py @@ -12,15 +12,10 @@ down_revision = '5a7bad26f2a7' from alembic import op import sqlalchemy as sa -from sqlalchemy.dialects import mysql def upgrade(): - ### commands auto generated by Alembic - please adjust! ### op.add_column('table_columns', sa.Column('expression', sa.Text(), nullable=True)) - ### end Alembic commands ### def downgrade(): - ### commands auto generated by Alembic - please adjust! ### op.drop_column('table_columns', 'expression') - ### end Alembic commands ### diff --git a/panoramix/migrations/versions/2929af7925ed_tz_offsets_in_data_sources.py b/panoramix/migrations/versions/2929af7925ed_tz_offsets_in_data_sources.py index 784657753f5..85b54bc5cc3 100644 --- a/panoramix/migrations/versions/2929af7925ed_tz_offsets_in_data_sources.py +++ b/panoramix/migrations/versions/2929af7925ed_tz_offsets_in_data_sources.py @@ -12,7 +12,6 @@ down_revision = '1e2841a4128' from alembic import op import sqlalchemy as sa -from sqlalchemy.dialects import mysql def upgrade(): op.add_column('datasources', sa.Column('offset', sa.Integer(), nullable=True)) diff --git a/panoramix/migrations/versions/430039611635_log_more.py b/panoramix/migrations/versions/430039611635_log_more.py index 8bb7cb7cc80..aec2b32ed95 100644 --- a/panoramix/migrations/versions/430039611635_log_more.py +++ b/panoramix/migrations/versions/430039611635_log_more.py @@ -12,7 +12,6 @@ down_revision = 'd827694c7555' from alembic import op import sqlalchemy as sa -from sqlalchemy.dialects import mysql def upgrade(): op.add_column('logs', sa.Column('dashboard_id', sa.Integer(), nullable=True)) diff --git a/panoramix/migrations/versions/43df8de3a5f4_dash_json.py b/panoramix/migrations/versions/43df8de3a5f4_dash_json.py index 410fc380b75..c56ddc8f5fb 100644 --- a/panoramix/migrations/versions/43df8de3a5f4_dash_json.py +++ b/panoramix/migrations/versions/43df8de3a5f4_dash_json.py @@ -12,10 +12,11 @@ down_revision = '7dbf98566af7' from alembic import op import sqlalchemy as sa -from sqlalchemy.dialects import mysql + def upgrade(): op.add_column('dashboards', sa.Column('json_metadata', sa.Text(), nullable=True)) + def downgrade(): op.drop_column('dashboards', 'json_metadata') diff --git a/panoramix/migrations/versions/5a7bad26f2a7_.py b/panoramix/migrations/versions/5a7bad26f2a7_.py index ced2d6e0d14..66dc20aae35 100644 --- a/panoramix/migrations/versions/5a7bad26f2a7_.py +++ b/panoramix/migrations/versions/5a7bad26f2a7_.py @@ -12,7 +12,7 @@ down_revision = '4e6a06bad7a8' from alembic import op import sqlalchemy as sa -from sqlalchemy.dialects import mysql + def upgrade(): op.add_column('dashboards', sa.Column('css', sa.Text(), nullable=True)) diff --git a/panoramix/migrations/versions/7dbf98566af7_slice_description.py b/panoramix/migrations/versions/7dbf98566af7_slice_description.py index b29e70d3d4d..329af9ef2d7 100644 --- a/panoramix/migrations/versions/7dbf98566af7_slice_description.py +++ b/panoramix/migrations/versions/7dbf98566af7_slice_description.py @@ -12,7 +12,6 @@ down_revision = '8e80a26a31db' from alembic import op import sqlalchemy as sa -from sqlalchemy.dialects import mysql def upgrade(): op.add_column('slices', sa.Column('description', sa.Text(), nullable=True)) diff --git a/panoramix/migrations/versions/d827694c7555_css_templates.py b/panoramix/migrations/versions/d827694c7555_css_templates.py index 523bedebcef..3b20e440559 100644 --- a/panoramix/migrations/versions/d827694c7555_css_templates.py +++ b/panoramix/migrations/versions/d827694c7555_css_templates.py @@ -12,7 +12,6 @@ down_revision = '43df8de3a5f4' from alembic import op import sqlalchemy as sa -from sqlalchemy.dialects import mysql def upgrade(): diff --git a/panoramix/models.py b/panoramix/models.py index e5785f7a683..93371a25369 100644 --- a/panoramix/models.py +++ b/panoramix/models.py @@ -2,10 +2,10 @@ from copy import deepcopy, copy from collections import namedtuple from datetime import timedelta, datetime import json +import logging from six import string_types import sqlparse import requests -import textwrap from dateutil.parser import parse from flask import flash @@ -134,6 +134,7 @@ class Slice(Model, AuditMixinNullable): try: slice_params = json.loads(self.params) except Exception as e: + logging.exception(e) slice_params = {} slice_params['slice_id'] = self.id slice_params['slice_name'] = self.slice_name @@ -150,7 +151,8 @@ class Slice(Model, AuditMixinNullable): @property def slice_link(self): url = self.slice_url - return '{self.slice_name}'.format(**locals()) + return '{self.slice_name}'.format( + url=url, self=self) @property def js_files(self): @@ -350,7 +352,8 @@ class SqlaTable(Model, Queryable, AuditMixinNullable): @property def table_link(self): url = "/panoramix/explore/{self.type}/{self.id}/".format(self=self) - return '{self.table_name}'.format(**locals()) + return '{self.table_name}'.format( + url=url, self=self) @property def metrics_combo(self): @@ -732,7 +735,8 @@ class DruidDatasource(Model, AuditMixinNullable, Queryable): @property def datasource_link(self): url = "/panoramix/explore/{self.type}/{self.id}/".format(self=self) - return '{self.datasource_name}'.format(**locals()) + return '{self.datasource_name}'.format( + url=url, self=self) def get_metric_obj(self, metric_name): return [ diff --git a/panoramix/utils.py b/panoramix/utils.py index feac0504418..38d6f8bda62 100644 --- a/panoramix/utils.py +++ b/panoramix/utils.py @@ -44,6 +44,7 @@ def parse_human_datetime(s): Use the parsedatetime lib to return ``datetime.datetime`` from human generated strings + >>> from datetime import date, timedelta >>> parse_human_datetime('2015-04-03') datetime.datetime(2015, 4, 3, 0, 0) >>> parse_human_datetime('2/3/1969') diff --git a/panoramix/views.py b/panoramix/views.py index dcfb163dadc..dc22cd97f3b 100644 --- a/panoramix/views.py +++ b/panoramix/views.py @@ -167,6 +167,7 @@ class TableModelView(PanoramixModelView, DeleteMixin): try: table.fetch_metadata() except Exception as e: + logging.exception(e) flash( "Table [{}] doesn't seem to exist, " "couldn't fetch metadata".format(table.table_name), @@ -215,7 +216,11 @@ class SliceModelView(PanoramixModelView, DeleteMixin): 'table', 'dashboards', 'params'] base_order = ('changed_on','desc') description_columns = { - 'description': Markup("The content here can be displayed as widget headers in the dashboard view. Supports markdown"), + 'description': Markup( + "The content here can be displayed as widget headers in the " + "dashboard view. Supports " + "" + "markdown"), } @@ -528,7 +533,7 @@ class Panoramix(BaseView): engine = create_engine(uri) engine.connect() return json.dumps(engine.table_names(), indent=4) - except Exception as e: + except Exception: return Response( traceback.format_exc(), status=500, @@ -607,7 +612,7 @@ class Panoramix(BaseView): t = mydb.get_table(table_name) fields = ", ".join( [c.name for c in t.columns] or "*") - s = "SELECT\n{fields}\nFROM {table_name}".format(**locals()) + s = "SELECT\n{}\nFROM {}".format(fields, table_name) return self.render_template( "panoramix/ajah.html", content=s