Esempio n. 1
0
def export_datasources(print_stdout, datasource_file,
                       back_references, include_defaults):
    """Export datasources to YAML"""
    data = dict_import_export.export_to_dict(
        session=db.session,
        recursive=True,
        back_references=back_references,
        include_defaults=include_defaults)
    if print_stdout or not datasource_file:
        yaml.safe_dump(data, stdout, default_flow_style=False)
    if datasource_file:
        logging.info('Exporting datasources to %s', datasource_file)
        with open(datasource_file, 'w') as data_stream:
            yaml.safe_dump(data, data_stream, default_flow_style=False)
 def test_export_datasource_ui_cli(self):
     cli_export = export_to_dict(
         session=db.session,
         recursive=True,
         back_references=False,
         include_defaults=False,
     )
     self.get_resp("/login/", data=dict(username="******", password="******"))
     resp = self.get_resp(
         "/databaseview/action_post", {"action": "yaml_export", "rowid": 1}
     )
     ui_export = yaml.safe_load(resp)
     self.assertEqual(
         ui_export["databases"][0]["database_name"],
         cli_export["databases"][0]["database_name"],
     )
     self.assertEqual(
         ui_export["databases"][0]["tables"], cli_export["databases"][0]["tables"]
     )
Esempio n. 3
0
def export_datasources(
    print_stdout: bool,
    datasource_file: str,
    back_references: bool,
    include_defaults: bool,
) -> None:
    """Export datasources to YAML"""
    from superset.utils import dict_import_export

    data = dict_import_export.export_to_dict(
        recursive=True,
        back_references=back_references,
        include_defaults=include_defaults,
    )
    if print_stdout or not datasource_file:
        yaml.safe_dump(data, stdout, default_flow_style=False)
    if datasource_file:
        logger.info("Exporting datasources to %s", datasource_file)
        with open(datasource_file, "w") as data_stream:
            yaml.safe_dump(data, data_stream, default_flow_style=False)
Esempio n. 4
0
    def export_datasources(
        datasource_file: Optional[str],
        print_stdout: bool = False,
        back_references: bool = False,
        include_defaults: bool = False,
    ) -> None:
        """Export datasources to YAML"""
        # pylint: disable=import-outside-toplevel
        from superset.utils import dict_import_export

        data = dict_import_export.export_to_dict(
            session=db.session,
            recursive=True,
            back_references=back_references,
            include_defaults=include_defaults,
        )
        if print_stdout or not datasource_file:
            yaml.safe_dump(data, sys.stdout, default_flow_style=False)
        if datasource_file:
            logger.info("Exporting datasources to %s", datasource_file)
            with open(datasource_file, "w") as data_stream:
                yaml.safe_dump(data, data_stream, default_flow_style=False)
    def test_export_datasource_ui_cli(self):
        # TODO(bkyryliuk): find fake db is leaking from
        self.delete_fake_db()

        cli_export = export_to_dict(
            recursive=True,
            back_references=False,
            include_defaults=False,
        )
        self.get_resp("/login/",
                      data=dict(username="******", password="******"))
        resp = self.get_resp("/databaseview/action_post", {
            "action": "yaml_export",
            "rowid": 1
        })
        ui_export = yaml.safe_load(resp)
        self.assertEqual(
            ui_export["databases"][0]["database_name"],
            cli_export["databases"][0]["database_name"],
        )
        self.assertEqual(ui_export["databases"][0]["tables"],
                         cli_export["databases"][0]["tables"])