Beispiel #1
0
    def test_load_plugin(self):
        k = Key().ckan.datastore.write_url
        decl = Declaration()
        assert k not in decl

        decl.load_plugin("datapusher")
        assert k not in decl

        decl.load_plugin("datastore")
        assert k in decl
Beispiel #2
0
def _declaration(plugins: Iterable[str], include_core: bool,
                 include_enabled: bool) -> Declaration:
    decl = Declaration()
    if include_core:
        decl.load_core_declaration()

    additional = ()
    if include_enabled:
        additional = (p for p in cfg.get_value("ckan.plugins")
                      if p not in plugins)

    for name in itertools.chain(additional, plugins):
        decl.load_plugin(name)

    return decl
Beispiel #3
0
def config_defaults_from_declaration():
    from ckan.config.declaration import Declaration
    decl = Declaration()
    decl.load_core_declaration()
    decl.load_plugin("resource_proxy")
    decl.load_plugin("text_view")
    decl.load_plugin("image_view")
    decl.load_plugin("recline_view")
    decl.load_plugin("datatables_view")
    decl.load_plugin("datastore")
    decl.load_plugin("datapusher")

    _write_config_options_file(decl)

    return {
        f"config:{k}": "``{}``".format(
            repr(decl[k].default) if decl[k].has_default() else None)
        for k in decl.iter_options()
    }