mistercrunch commented on a change in pull request #7448: Adds 'superset
export_dashboards --dashboard-id/-i --dashboard-title/-t' options to CLI
URL:
https://github.com/apache/incubator-superset/pull/7448#discussion_r281917582
##########
File path: superset/utils/dashboard_import_export.py
##########
@@ -38,12 +40,23 @@ def import_dashboards(session, data_stream,
import_time=None):
session.commit()
-def export_dashboards(session):
+def export_dashboards(session, dashboard_ids=None, dashboard_titles=None):
"""Returns all dashboards metadata as a json dump"""
logging.info('Starting export')
- dashboards = session.query(Dashboard)
- dashboard_ids = []
- for dashboard in dashboards:
- dashboard_ids.append(dashboard.id)
- data = Dashboard.export_dashboards(dashboard_ids)
+ export_dashboard_ids = []
+
+ session = db.session()
+ query = session.query(Dashboard)
+ if dashboard_ids or dashboard_titles:
+ query = query.filter(Dashboard.id.in_(dashboard_ids) |
+ Dashboard.dashboard_title.in_(dashboard_titles))
+
+ export_dashboard_ids = [d.id for d in query.all()]
+
+ data = {}
+ if not export_dashboard_ids:
+ logging.error('No dashboards found!')
+ raise DashboardNotFoundException('No dashboards found!')
+ else:
+ data = Dashboard.export_dashboards(export_dashboard_ids) if
export_dashboard_ids else {}
Review comment:
No need for the ternary `if` here anymore I think
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]