How to use normalize_command_line_name method in Slash

Best Python code snippet using slash

plugin_manager.py

Source:plugin_manager.py Github

copy

Full Screen

...130 warn_deprecation("In the future, dashes and underscore will not be allowed in plugin names - "131 "spaces should be used instead (plugin name: {!r})".format(plugin_name))132 self._configure(plugin)133 self._installed[plugin_name] = PluginInfo(plugin, is_internal)134 self._cmd_line_to_name[self.normalize_command_line_name(plugin_name)] = plugin_name135 self._config_to_name[self.normalize_config_name(plugin_name)] = plugin_name136 if not hasattr(plugin, '__toggles__'):137 plugin.__toggles__ = {138 'session': gossip.Toggle(),139 }140 if activate:141 try:142 self.activate(plugin_name)143 except IncompatiblePlugin:144 exc_info = sys.exc_info()145 self.uninstall(plugin)146 reraise(*exc_info)147 if activate_later:148 self.activate_later(plugin_name)149 def install_builtin_plugins(self):150 for builtin_plugin_module in self._iter_builtin_plugin_modules():151 module = __import__(152 "slash.plugins.builtin.{}".format(builtin_plugin_module),153 fromlist=[""]154 )155 self.install(module.Plugin())156 def _iter_builtin_plugin_modules(self):157 builtin_dir = os.path.join(os.path.dirname(__file__), "builtin")158 for filename in os.listdir(builtin_dir):159 if filename.startswith("_") or filename.startswith(".") or not filename.endswith(".py"):160 continue161 yield filename[:-3]162 def uninstall(self, plugin):163 """164 Uninstalls a plugin165 """166 plugin = self._get_installed_plugin(plugin)167 try:168 self.deactivate(plugin)169 except IncompatiblePlugin:170 pass171 self._unconfigure(plugin)172 plugin_name = plugin.get_name()173 self._installed.pop(plugin_name)174 cmd_name = self.normalize_command_line_name(plugin_name)175 self._cmd_line_to_name.pop(cmd_name, None)176 config_name = self.normalize_config_name(plugin_name)177 self._config_to_name.pop(config_name, None)178 def uninstall_all(self):179 """180 Uninstalls all installed plugins181 """182 for plugin_info in list(itervalues(self._installed)):183 self.uninstall(plugin_info.plugin_instance)184 assert not self._installed185 def activate(self, plugin):186 """187 Activates a plugin, registering its hook callbacks to their respective hooks.188 :param plugin: either a plugin object or a plugin name189 """190 plugin = self._get_installed_plugin(plugin)191 plugin_name = plugin.get_name()192 if self._is_parallel_supported(plugin):193 _logger.warn("Activating plugin {} though it's configuration for parallel mode doesn't fit to current session".format(plugin.get_name()))194 plugin.activate()195 for hook, callback, kwargs in self._get_plugin_registrations(plugin):196 hook.register(callback, **kwargs)197 self._active.add(plugin_name)198 def activate_later(self, plugin):199 """200 Adds a plugin to the set of plugins pending activation. It can be remvoed from the queue with :meth:`.deactivate_later`201 .. seealso:: :meth:`.activate_pending_plugins`202 """203 self._pending_activation.add(self._get_installed_plugin(plugin).get_name())204 def deactivate_later(self, plugin):205 """206 Removes a plugin from the set of plugins pending activation.207 .. seealso:: :meth:`.activate_pending_plugins`208 """209 self._pending_deactivation.add(self._get_installed_plugin(plugin).get_name())210 def activate_pending_plugins(self):211 """212 Activates all plugins queued with :meth:`.activate_later`213 """214 while self._pending_activation:215 plugin_name = self._pending_activation.pop()216 if plugin_name not in self._pending_deactivation:217 self.activate(plugin_name)218 while self._pending_deactivation:219 plugin_name = self._pending_deactivation.pop()220 if plugin_name in self._active:221 self.deactivate(plugin_name)222 def normalize_command_line_name(self, plugin_name):223 return plugin_name.replace(' ', '-')224 def normalize_config_name(self, plugin_name):225 return plugin_name.replace(' ', '_')226 def deactivate(self, plugin):227 """228 Deactivates a plugin, unregistering all of its hook callbacks229 :param plugin: either a plugin object or a plugin name230 """231 plugin = self._get_installed_plugin(plugin)232 plugin_name = plugin.get_name()233 token = self._get_token(plugin_name)234 if plugin_name in self._active:235 gossip.get_global_group().unregister_token(token)236 self._active.discard(plugin_name)...

Full Screen

Full Screen

slash_list_plugins.py

Source:slash_list_plugins.py Github

copy

Full Screen

...20 site.load()21 active = manager.get_future_active_plugins()22 for plugin in sorted(manager.get_installed_plugins(include_internals=False).values(), key=lambda p: p.get_name()):23 name = plugin.get_name()24 normalized_name = manager.normalize_command_line_name(name)25 _print(_title_style(name), end=' ')26 if name in active:27 _print(_enabled_style('active (use --without-{} to deactivate'.format(normalized_name)))28 else:29 _print(_disabled_style('inactive (use --with-{} to activate)'.format(normalized_name)))30 if plugin.__doc__:31 for line in plugin.__doc__.splitlines():32 if line.strip():33 _print('\t', line.strip())...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Slash automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful