I want to search a pattern on several external websites and want a common interface to type once and gather all results in the same view. Thus, I am currently building a project which consists of a web-server (for user interface) able to send request to other websites.
I plan to use Bottle or Flask for quick underlying web-server functions and want to adopt a plugin architecture.
Since I do not know how many websites I am going to visit for now, and since the parsing will be different for each website, as well as the quantity of information, I want that every plugin addition require the least possible amount of code. Only parsing process. For example, adding a new website to visit must not require to modify all data models, views templates, etc.
So, I was thinking of a core program sending and accepting limited number of generic functions to modules. There is a limited information types for the Core, and each module is able to provide some or all those types.
My real question is the following : should I use OOP polymorphism or imp module (load_source) to use my modules?
Each module can be a class built from a generic module class, OR each module can be independant and contains functions usable by the core, calling them with imp.load_source(). The second option make me think of exporting DLL functions to use them with a C/C++ program.
I have been reading this post, really interesting, i am still wondering in my case whether subclass are better?
Thank you for your advices!