Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP - Plugin architecture #1799

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

WIP - Plugin architecture #1799

wants to merge 1 commit into from

Conversation

dgtlmoon
Copy link
Owner

@dgtlmoon dgtlmoon commented Sep 14, 2023

WIP Concept at the moment

But basically it should let anyone add plugins for processors , and setting new fetchers (with processors being the first plugin that I want to solve here)

So choosing a new processor, could look like

image

And selecting a new browser, could look like

image

plugins would be separate pip packages

@dgtlmoon
Copy link
Owner Author

Could add a couple of options to iter_modules()

  • default scan main system installs for plugins
  • scan $HOME/changedetectionio-plugins

https://docs.python.org/3/library/pkgutil.html#pkgutil.iter_modules

@@ -612,6 +613,19 @@ def get_all_tags_for_watch(self, uuid):
def tag_exists_by_name(self, tag_name):
return any(v.get('title', '').lower() == tag_name.lower() for k, v in self.__data['settings']['application']['tags'].items())

def scan_plugins(self):
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also uses local ~/.cdio-plugins/ perhaps

@dgtlmoon
Copy link
Owner Author

Could have some cool "mode" selector instead of radio buttons

maybe the main 2 processors that come with CD can be split off to their own plugins too, or just leave it as it is

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant