MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / _instantiate_plugins

Method _instantiate_plugins

lib/sqlalchemy/engine/url.py:737–759  ·  view source on GitHub ↗
(
        self, kwargs: Mapping[str, Any]
    )

Source from the content-addressed store, hash-verified

735 return self.drivername.split("+")[1]
736
737 def _instantiate_plugins(
738 self, kwargs: Mapping[str, Any]
739 ) -> Tuple[URL, List[Any], Dict[str, Any]]:
740 plugin_names = util.to_list(self.query.get("plugin", ()))
741 plugin_names += kwargs.get("plugins", [])
742
743 kwargs = dict(kwargs)
744
745 loaded_plugins = [
746 plugins.load(plugin_name)(self, kwargs)
747 for plugin_name in plugin_names
748 ]
749
750 u = self.difference_update_query(["plugin", "plugins"])
751
752 for plugin in loaded_plugins:
753 new_u = plugin.update_url(u)
754 if new_u is not None:
755 u = new_u
756
757 kwargs.pop("plugins", None)
758
759 return u, loaded_plugins, kwargs
760
761 def _get_entrypoint(self) -> Type[Dialect]:
762 """Return the "entry point" dialect class.

Callers 1

create_engineFunction · 0.80

Calls 5

getMethod · 0.45
loadMethod · 0.45
update_urlMethod · 0.45
popMethod · 0.45

Tested by

no test coverage detected