From 2c3a19359d66797a065a5a66bfcba25440280c62 Mon Sep 17 00:00:00 2001 From: Maxime Beauchemin Date: Thu, 1 Sep 2016 13:26:41 -0700 Subject: [PATCH] Addressing comments --- .codeclimate.yml | 2 +- caravel/data/__init__.py | 14 +++++++------- caravel/sql_lab.py | 3 +++ caravel/utils.py | 8 ++++---- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/.codeclimate.yml b/.codeclimate.yml index 16486a3f333b4..50cba45438913 100644 --- a/.codeclimate.yml +++ b/.codeclimate.yml @@ -10,7 +10,7 @@ engines: pep8: enabled: true fixme: - enabled: true + enabled: false radon: enabled: true ratings: diff --git a/caravel/data/__init__.py b/caravel/data/__init__.py index ae60b62d3b12e..014e1eb99a65f 100644 --- a/caravel/data/__init__.py +++ b/caravel/data/__init__.py @@ -65,7 +65,7 @@ def load_energy(): tbl = TBL(table_name=tbl_name) tbl.description = "Energy consumption" tbl.is_featured = True - tbl.database = utils.get_or_create_db(caravel) + tbl.database = utils.get_or_create_main_db(caravel) db.session.merge(tbl) db.session.commit() tbl.fetch_metadata() @@ -191,7 +191,7 @@ def load_world_bank_health_n_pop(): tbl.description = utils.readfile(os.path.join(DATA_FOLDER, 'countries.md')) tbl.main_dttm_col = 'year' tbl.is_featured = True - tbl.database = utils.get_or_create_db(caravel) + tbl.database = utils.get_or_create_main_db(caravel) db.session.merge(tbl) db.session.commit() tbl.fetch_metadata() @@ -582,7 +582,7 @@ def load_birth_names(): if not obj: obj = TBL(table_name='birth_names') obj.main_dttm_col = 'ds' - obj.database = utils.get_or_create_db(caravel) + obj.database = utils.get_or_create_main_db(caravel) obj.is_featured = True db.session.merge(obj) db.session.commit() @@ -830,7 +830,7 @@ def load_unicode_test_data(): if not obj: obj = TBL(table_name='unicode_test') obj.main_dttm_col = 'date' - obj.database = utils.get_or_create_db(caravel) + obj.database = utils.get_or_create_main_db(caravel) obj.is_featured = False db.session.merge(obj) db.session.commit() @@ -909,7 +909,7 @@ def load_random_time_series_data(): if not obj: obj = TBL(table_name='random_time_series') obj.main_dttm_col = 'ds' - obj.database = utils.get_or_create_db(caravel) + obj.database = utils.get_or_create_main_db(caravel) obj.is_featured = False db.session.merge(obj) db.session.commit() @@ -977,7 +977,7 @@ def load_long_lat_data(): if not obj: obj = TBL(table_name='long_lat') obj.main_dttm_col = 'date' - obj.database = utils.get_or_create_db(caravel) + obj.database = utils.get_or_create_main_db(caravel) obj.is_featured = False db.session.merge(obj) db.session.commit() @@ -1041,7 +1041,7 @@ def load_multiformat_time_series_data(): if not obj: obj = TBL(table_name='multiformat_time_series') obj.main_dttm_col = 'ds' - obj.database = utils.get_or_create_db(caravel) + obj.database = utils.get_or_create_main_db(caravel) obj.is_featured = False dttm_and_expr_dict = { 'ds': [None, None], diff --git a/caravel/sql_lab.py b/caravel/sql_lab.py index 706774455715d..e5613045f0a33 100644 --- a/caravel/sql_lab.py +++ b/caravel/sql_lab.py @@ -104,6 +104,9 @@ def get_sql_results(query_id, return_results=True): data = result_proxy.fetchall() df = pd.DataFrame(data, columns=columns) df = df.where((pd.notnull(df)), None) + # TODO consider generating tuples instead of dicts to send + # less data through the wire. The command bellow does that, + # but we'd need to align on the client side. # data = df.values.tolist() data = df.to_dict(orient='records') diff --git a/caravel/utils.py b/caravel/utils.py index 4440003c51f0a..2fb43ada9b250 100644 --- a/caravel/utils.py +++ b/caravel/utils.py @@ -91,15 +91,15 @@ def __get__(self, obj, objtype): return functools.partial(self.__call__, obj) -def get_or_create_db(caravel): +def get_or_create_main_db(caravel): db = caravel.db config = caravel.app.config DB = caravel.models.Database - print("Creating database reference") + logging.info("Creating database reference") dbobj = db.session.query(DB).filter_by(database_name='main').first() if not dbobj: dbobj = DB(database_name="main") - print(config.get("SQLALCHEMY_DATABASE_URI")) + logging.info(config.get("SQLALCHEMY_DATABASE_URI")) dbobj.sqlalchemy_uri = config.get("SQLALCHEMY_DATABASE_URI") dbobj.expose_in_sqllab = True db.session.add(dbobj) @@ -213,7 +213,7 @@ def init(caravel): sm = caravel.appbuilder.sm alpha = sm.add_role("Alpha") admin = sm.add_role("Admin") - get_or_create_db(caravel) + get_or_create_main_db(caravel) merge_perm(sm, 'all_datasource_access', 'all_datasource_access')