minor: Allow "script *" console commands to take multiple script item ids
parent
61af272956
commit
ab22de03b8
|
@ -324,40 +324,40 @@ namespace OpenSim.Region.ScriptEngine.XEngine
|
||||||
HandleShowStatus);
|
HandleShowStatus);
|
||||||
|
|
||||||
MainConsole.Instance.Commands.AddCommand(
|
MainConsole.Instance.Commands.AddCommand(
|
||||||
"Scripts", false, "scripts show", "scripts show [<script-item-uuid>]", "Show script information",
|
"Scripts", false, "scripts show", "scripts show [<script-item-uuid>+]", "Show script information",
|
||||||
"Show information on all scripts known to the script engine.\n"
|
"Show information on all scripts known to the script engine.\n"
|
||||||
+ "If a <script-item-uuid> is given then only information on that script will be shown.",
|
+ "If one or more <script-item-uuid>s are given then only information on that script will be shown.",
|
||||||
HandleShowScripts);
|
HandleShowScripts);
|
||||||
|
|
||||||
MainConsole.Instance.Commands.AddCommand(
|
MainConsole.Instance.Commands.AddCommand(
|
||||||
"Scripts", false, "show scripts", "show scripts [<script-item-uuid>]", "Show script information",
|
"Scripts", false, "show scripts", "show scripts [<script-item-uuid>+]", "Show script information",
|
||||||
"Synonym for scripts show command", HandleShowScripts);
|
"Synonym for scripts show command", HandleShowScripts);
|
||||||
|
|
||||||
MainConsole.Instance.Commands.AddCommand(
|
MainConsole.Instance.Commands.AddCommand(
|
||||||
"Scripts", false, "scripts suspend", "scripts suspend [<script-item-uuid>]", "Suspends all running scripts",
|
"Scripts", false, "scripts suspend", "scripts suspend [<script-item-uuid>+]", "Suspends all running scripts",
|
||||||
"Suspends all currently running scripts. This only suspends event delivery, it will not suspend a"
|
"Suspends all currently running scripts. This only suspends event delivery, it will not suspend a"
|
||||||
+ " script that is currently processing an event.\n"
|
+ " script that is currently processing an event.\n"
|
||||||
+ "Suspended scripts will continue to accumulate events but won't process them.\n"
|
+ "Suspended scripts will continue to accumulate events but won't process them.\n"
|
||||||
+ "If a <script-item-uuid> is given then only that script will be suspended. Otherwise, all suitable scripts are suspended.",
|
+ "If one or more <script-item-uuid>s are given then only that script will be suspended. Otherwise, all suitable scripts are suspended.",
|
||||||
(module, cmdparams) => HandleScriptsAction(cmdparams, HandleSuspendScript));
|
(module, cmdparams) => HandleScriptsAction(cmdparams, HandleSuspendScript));
|
||||||
|
|
||||||
MainConsole.Instance.Commands.AddCommand(
|
MainConsole.Instance.Commands.AddCommand(
|
||||||
"Scripts", false, "scripts resume", "scripts resume [<script-item-uuid>]", "Resumes all suspended scripts",
|
"Scripts", false, "scripts resume", "scripts resume [<script-item-uuid>+]", "Resumes all suspended scripts",
|
||||||
"Resumes all currently suspended scripts.\n"
|
"Resumes all currently suspended scripts.\n"
|
||||||
+ "Resumed scripts will process all events accumulated whilst suspended.\n"
|
+ "Resumed scripts will process all events accumulated whilst suspended.\n"
|
||||||
+ "If a <script-item-uuid> is given then only that script will be resumed. Otherwise, all suitable scripts are resumed.",
|
+ "If one or more <script-item-uuid>s are given then only that script will be resumed. Otherwise, all suitable scripts are resumed.",
|
||||||
(module, cmdparams) => HandleScriptsAction(cmdparams, HandleResumeScript));
|
(module, cmdparams) => HandleScriptsAction(cmdparams, HandleResumeScript));
|
||||||
|
|
||||||
MainConsole.Instance.Commands.AddCommand(
|
MainConsole.Instance.Commands.AddCommand(
|
||||||
"Scripts", false, "scripts stop", "scripts stop [<script-item-uuid>]", "Stops all running scripts",
|
"Scripts", false, "scripts stop", "scripts stop [<script-item-uuid>+]", "Stops all running scripts",
|
||||||
"Stops all running scripts.\n"
|
"Stops all running scripts.\n"
|
||||||
+ "If a <script-item-uuid> is given then only that script will be stopped. Otherwise, all suitable scripts are stopped.",
|
+ "If one or more <script-item-uuid>s are given then only that script will be stopped. Otherwise, all suitable scripts are stopped.",
|
||||||
(module, cmdparams) => HandleScriptsAction(cmdparams, HandleStopScript));
|
(module, cmdparams) => HandleScriptsAction(cmdparams, HandleStopScript));
|
||||||
|
|
||||||
MainConsole.Instance.Commands.AddCommand(
|
MainConsole.Instance.Commands.AddCommand(
|
||||||
"Scripts", false, "scripts start", "scripts start [<script-item-uuid>]", "Starts all stopped scripts",
|
"Scripts", false, "scripts start", "scripts start [<script-item-uuid>+]", "Starts all stopped scripts",
|
||||||
"Starts all stopped scripts.\n"
|
"Starts all stopped scripts.\n"
|
||||||
+ "If a <script-item-uuid> is given then only that script will be started. Otherwise, all suitable scripts are started.",
|
+ "If one or more <script-item-uuid>s are given then only that script will be started. Otherwise, all suitable scripts are started.",
|
||||||
(module, cmdparams) => HandleScriptsAction(cmdparams, HandleStartScript));
|
(module, cmdparams) => HandleScriptsAction(cmdparams, HandleStartScript));
|
||||||
|
|
||||||
MainConsole.Instance.Commands.AddCommand(
|
MainConsole.Instance.Commands.AddCommand(
|
||||||
|
@ -478,29 +478,31 @@ namespace OpenSim.Region.ScriptEngine.XEngine
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
rawItemId = cmdparams[2];
|
for (int i = 2; i < cmdparams.Length; i++)
|
||||||
|
|
||||||
if (!UUID.TryParse(rawItemId, out itemId))
|
|
||||||
{
|
{
|
||||||
MainConsole.Instance.OutputFormat("ERROR: {0} is not a valid UUID", rawItemId);
|
rawItemId = cmdparams[i];
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (itemId != UUID.Zero)
|
if (!UUID.TryParse(rawItemId, out itemId))
|
||||||
{
|
|
||||||
IScriptInstance instance = GetInstance(itemId);
|
|
||||||
if (instance == null)
|
|
||||||
{
|
{
|
||||||
// Commented out for now since this will cause false reports on simulators with more than
|
MainConsole.Instance.OutputFormat("ERROR: {0} is not a valid UUID", rawItemId);
|
||||||
// one scene where the current command line set region is 'root' (which causes commands to
|
continue;
|
||||||
// go to both regions... (sigh)
|
|
||||||
// MainConsole.Instance.OutputFormat("Error - No item found with id {0}", itemId);
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
else
|
|
||||||
|
if (itemId != UUID.Zero)
|
||||||
{
|
{
|
||||||
action(instance);
|
IScriptInstance instance = GetInstance(itemId);
|
||||||
return;
|
if (instance == null)
|
||||||
|
{
|
||||||
|
// Commented out for now since this will cause false reports on simulators with more than
|
||||||
|
// one scene where the current command line set region is 'root' (which causes commands to
|
||||||
|
// go to both regions... (sigh)
|
||||||
|
// MainConsole.Instance.OutputFormat("Error - No item found with id {0}", itemId);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
action(instance);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue