# Create an admin user
fabmanager create-admin --app panoramix
# Initialize the database
panoramix db upgrade
# Create default roles and permissions
panoramix init
# Load some data to play with
panoramix load_examples
# Start the development web server
panoramix runserver -d
2016-03-08 22:15:27,236:INFO:werkzeug: * Debugger pin code: 150-320-126
2016-03-08 22:15:39,327:INFO:werkzeug:72.27.253.99 - - [08/Mar/2016 22:15:39] "GET / HTTP/1.1" 302 -
2016-03-08 22:15:39,543:DEBUG:MARKDOWN:Successfuly imported extension module "markdown.extensions.tables".
2016-03-08 22:15:39,543:DEBUG:MARKDOWN:Successfully loaded extension "markdown.extensions.tables.TableExtension".
2016-03-08 22:15:39,546:DEBUG:MARKDOWN:Successfuly imported extension module "markdown.extensions.fenced_code".
2016-03-08 22:15:39,546:DEBUG:MARKDOWN:Successfully loaded extension "markdown.extensions.fenced_code.FencedCodeExtension".
2016-03-08 22:15:39,546:DEBUG:MARKDOWN:Successfuly imported extension module "markdown.extensions.codehilite".
2016-03-08 22:15:39,546:DEBUG:MARKDOWN:Successfully loaded extension "markdown.extensions.codehilite.CodeHiliteExtension".
2016-03-08 22:15:39,620:DEBUG:MARKDOWN:Successfuly imported extension module "markdown.extensions.tables".
2016-03-08 22:15:39,621:DEBUG:MARKDOWN:Successfully loaded extension "markdown.extensions.tables.TableExtension".
2016-03-08 22:15:39,621:DEBUG:MARKDOWN:Successfuly imported extension module "markdown.extensions.fenced_code".
2016-03-08 22:15:39,621:DEBUG:MARKDOWN:Successfully loaded extension "markdown.extensions.fenced_code.FencedCodeExtension".
2016-03-08 22:15:39,621:DEBUG:MARKDOWN:Successfuly imported extension module "markdown.extensions.codehilite".
2016-03-08 22:15:39,621:DEBUG:MARKDOWN:Successfully loaded extension "markdown.extensions.codehilite.CodeHiliteExtension".
2016-03-08 22:15:39,632:INFO:werkzeug:72.27.253.99 - - [08/Mar/2016 22:15:39] "GET /panoramix/featured HTTP/1.1" 500 -
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1836, in __call__
return self.wsgi_app(environ, start_response)
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1820, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1403, in handle_exception
reraise(exc_type, exc_value, tb)
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1477, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1381, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1475, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1461, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/usr/local/lib/python2.7/dist-packages/flask_appbuilder/security/decorators.py", line 26, in wraps
return f(self, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/panoramix-0.7.1-py2.7.egg/panoramix/views.py", line 735, in featured
utils=utils)
File "/usr/local/lib/python2.7/dist-packages/flask_appbuilder/baseviews.py", line 157, in render_template
return render_template(template, **dict(list(kwargs.items()) + list(self.extra_args.items())))
File "/usr/local/lib/python2.7/dist-packages/flask/templating.py", line 128, in render_template
context, ctx.app)
File "/usr/local/lib/python2.7/dist-packages/flask/templating.py", line 110, in _render
rv = template.render(context)
File "/usr/local/lib/python2.7/dist-packages/jinja2/environment.py", line 989, in render
return self.environment.handle_exception(exc_info, True)
File "/usr/local/lib/python2.7/dist-packages/jinja2/environment.py", line 754, in handle_exception
reraise(exc_type, exc_value, tb)
File "/usr/local/lib/python2.7/dist-packages/panoramix-0.7.1-py2.7.egg/panoramix/templates/panoramix/featured.html", line 1, in top-level template code
{% extends "panoramix/basic.html" %}
File "/usr/local/lib/python2.7/dist-packages/panoramix-0.7.1-py2.7.egg/panoramix/templates/panoramix/basic.html", line 30, in top-level template code
{% block body %}
File "/usr/local/lib/python2.7/dist-packages/panoramix-0.7.1-py2.7.egg/panoramix/templates/panoramix/featured.html", line 23, in block "body"
<p>{{ utils.markdown(dataset.description) | safe }}</p>
File "/usr/local/lib/python2.7/dist-packages/panoramix-0.7.1-py2.7.egg/panoramix/utils.py", line 263, in markdown
'markdown.extensions.codehilite',])
File "/usr/local/lib/python2.7/dist-packages/markdown/__init__.py", line 494, in markdown
return md.convert(text)
File "/usr/local/lib/python2.7/dist-packages/markdown/__init__.py", line 355, in convert
if not source.strip():
AttributeError: 'NoneType' object has no attribute 'strip'2016-03-09 13:45:21,131:DEBUG:requests.packages.urllib3.connectionpool:"GET /druid/coordinator/v1/metadata/datasources HTTP/1.1" 200 None2016-03-09 13:45:21,637:INFO:werkzeug:72.27.253.99 - - [09/Mar/2016 13:45:21] "GET /panoramix/refresh_datasources/ HTTP/1.1" 500 -Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1836, in __call__ return self.wsgi_app(environ, start_response) File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1820, in wsgi_app response = self.make_response(self.handle_exception(e)) File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1403, in handle_exception reraise(exc_type, exc_value, tb) File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1817, in wsgi_app response = self.full_dispatch_request() File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1477, in full_dispatch_request rv = self.handle_user_exception(e) File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1381, in handle_user_exception reraise(exc_type, exc_value, tb) File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1475, in full_dispatch_request rv = self.dispatch_request() File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1461, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "/usr/local/lib/python2.7/dist-packages/flask_appbuilder/security/decorators.py", line 26, in wraps return f(self, *args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/panoramix-0.7.1-py2.7.egg/panoramix/views.py", line 675, in refresh_datasources cluster, str(e)), File "/usr/local/lib/python2.7/dist-packages/panoramix-0.7.1-py2.7.egg/panoramix/models.py", line 668, in __repr__ return self.cluster_name File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/attributes.py", line 237, in __get__ return self.impl.get(instance_state(instance), dict_) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/attributes.py", line 578, in get value = state._load_expired(state, passive) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/state.py", line 474, in _load_expired self.manager.deferred_scalar_loader(self, toload) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/loading.py", line 664, in load_scalar_attributes only_load_props=attribute_names) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/loading.py", line 219, in load_on_ident return q.one() File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2693, in one ret = list(self) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2736, in __iter__ return self._execute_and_instances(context) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2749, in _execute_and_instances close_with_result=True) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2740, in _connection_from_session **kw) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 893, in connection execution_options=execution_options) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 898, in _connection_for_bind engine, execution_options) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 313, in _connection_for_bind self._assert_active() File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 214, in _assert_active % self._rollback_exceptionInvalidRequestError: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (sqlite3.IntegrityError) NOT NULL constraint failed: columns.created_on [SQL: u'INSERT INTO columns (datasource_name, column_name, is_active, type, groupby, count_distinct, sum, max, min, filterable, description) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'] [parameters: (u'purview', u'App_rsps_Min', 1, u'FLOAT', 0, 0, 0, 0, 0, 0, None)]
Which maybe explain as well my issue with the empty welcome page. Let me rework it and confirm.
Sent from Nine
From: Salvador Ferrer Martinez <salva....@gmail.com>
Sent: Mar 9, 2016 5:57 PM
To: Maxime Beauchemin; airbnb_panoramix
Subject: Re: Upgrade to Master 3/8
From: Maxime Beauchemin <maximebe...@gmail.com>
Sent: Mar 9, 2016 5:41 PM
To: airbnb_panoramix
Subject: Re: Upgrade to Master 3/8
Hi,--
If you install from github you should follow the `CONTRIBUTING.md` instructions. The important part is running `npm install` from the assets folder and `npm run prod`
I'll push a new version to Pypi soon and post an update to the group.
Max
You received this message because you are subscribed to a topic in the Google Groups "airbnb_panoramix" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/airbnb_panoramix/YF28l_rRrEY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to airbnb_panoramix+unsubscribe@googlegroups.com.
To post to this group, send email to airbnb_panoramix@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/airbnb_panoramix/16846ecb-e074-4050-9231-d762df121aac%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the Google Groups "airbnb_panoramix" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/airbnb_panoramix/YF28l_rRrEY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to airbnb_panoramix+unsubscribe@googlegroups.com.
To post to this group, send email to airbnb_panoramix@googlegroups.com.
Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (sqlite3.IntegrityError) NOT NULL constraint failed: columns.created_on