def plugins(self, deduplicate=False):
plugins = []<EOL>for c in self.components:<EOL><INDENT>if hasattr(c, '<STR_LIT>'):<EOL><INDENT>plugins += c.plugins()<EOL><DEDENT>elif isinstance(c, Lib):<EOL><INDENT>plugins.append(c)<EOL><DEDENT>elif hasattr(c, '<STR_LIT>') and c.is_plugin:<EOL><INDENT>plugins.append(c)<EOL><DEDENT><DEDENT>if deduplicate:<EOL><INDENT>plugins = list(OrderedDict.fromkeys(plugins))<EOL><DEDENT>return plugins<EOL>
Returns a flattened list of all plugins used by page components.