Skip to content

Commit

Permalink
update: use signal to gather config sections
Browse files Browse the repository at this point in the history
  • Loading branch information
mutantsan committed Feb 12, 2024
1 parent 0647355 commit 9a8d0d5
Showing 1 changed file with 23 additions and 22 deletions.
45 changes: 23 additions & 22 deletions ckanext/file_manager/plugin.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
from __future__ import annotations

import ckan.types as types
import ckan.plugins as p
import ckan.plugins.toolkit as tk

import ckanext.ap_main.types as ap_types
from ckanext.ap_main.interfaces import IAdminPanel

from ckanext.collection.interfaces import ICollection, CollectionFactory

from ckanext.file_manager.collection import FileManagerCollection
Expand All @@ -14,7 +12,7 @@
@tk.blanket.blueprints
class FileManagerPlugin(p.SingletonPlugin):
p.implements(p.IConfigurer)
p.implements(IAdminPanel, inherit=True)
p.implements(p.ISignal)
p.implements(ICollection, inherit=True)

# IConfigurer
Expand All @@ -24,26 +22,29 @@ def update_config(self, config_):
tk.add_public_directory(config_, "public")
tk.add_resource("assets", "file_manager")

# IAdminPanel

def register_config_sections(
self, config_list: list[ap_types.SectionConfig]
) -> list[ap_types.SectionConfig]:
config_list.append(
ap_types.SectionConfig(
name="Files",
configs=[
ap_types.ConfigurationItem(
name="File manager",
blueprint="file_manager.list",
info="Manage uploaded files",
)
],
)
)
return config_list
# ISignal

def get_signal_subscriptions(self) -> types.SignalMapping:
return {
tk.signals.ckanext.signal("ap_main:collect_config_sections"): [
collect_config_sections_subs
],
}

# ICollection

def get_collection_factories(self) -> dict[str, CollectionFactory]:
return {"file-manager": FileManagerCollection}


def collect_config_sections_subs(sender: None):
return {
"name": "Files",
"configs": [
{
"name": "File manager",
"blueprint": "file_manager.list",
"info": "Manage uploaded files",
}
],
}

0 comments on commit 9a8d0d5

Please sign in to comment.