More work on commands

integration
BlueWall 2012-04-07 23:39:15 -04:00
parent 7a686ef124
commit 0591a85787
2 changed files with 66 additions and 16 deletions

View File

@ -158,7 +158,7 @@ namespace OpenSim.Services.IntegrationService
private void HandleConsoleListUpdates(string module, string[] cmd) private void HandleConsoleListUpdates(string module, string[] cmd)
{ {
MainConsole.Instance.Output(m_PluginManager.ListUpdates()); m_PluginManager.ListUpdates();
return; return;
} }
@ -179,16 +179,18 @@ namespace OpenSim.Services.IntegrationService
private void HandleConsoleGetRepo(string module, string[] cmd) private void HandleConsoleGetRepo(string module, string[] cmd)
{ {
MainConsole.Instance.Output(m_PluginManager.GetRepository()); m_PluginManager.GetRepository();
return; return;
} }
private void HandleConsoleRemoveRepo(string module, string[] cmd) private void HandleConsoleRemoveRepo(string module, string[] cmd)
{ {
MainConsole.Instance.Output(m_PluginManager.RemoveRepository(cmd)); if (cmd.Length == 3)
m_PluginManager.RemoveRepository(cmd);
return; return;
} }
// Enable repo
private void HandleConsoleEnableRepo(string module, string[] cmd) private void HandleConsoleEnableRepo(string module, string[] cmd)
{ {
m_PluginManager.EnableRepository(cmd); m_PluginManager.EnableRepository(cmd);
@ -201,6 +203,7 @@ namespace OpenSim.Services.IntegrationService
return; return;
} }
// List repositories
private void HandleConsoleListRepos(string module, string[] cmd) private void HandleConsoleListRepos(string module, string[] cmd)
{ {
ArrayList list = m_PluginManager.ListRepositories(); ArrayList list = m_PluginManager.ListRepositories();
@ -212,9 +215,9 @@ namespace OpenSim.Services.IntegrationService
private void HandleConsoleShowAddinInfo(string module, string[] cmd) private void HandleConsoleShowAddinInfo(string module, string[] cmd)
{ {
if ( cmd.Length < 2 ) if ( cmd.Length >= 3 )
{ {
MainConsole.Instance.Output(m_PluginManager.AddinInfo()); m_PluginManager.AddinInfo(cmd);
return; return;
} }
} }

View File

@ -81,6 +81,7 @@ namespace OpenSim.Services.IntegrationService
return "Bomb"; return "Bomb";
} }
// Remove plugin
public void UnInstall(string[] args) public void UnInstall(string[] args)
{ {
IProgressStatus ps = new ConsoleProgressStatus(true); IProgressStatus ps = new ConsoleProgressStatus(true);
@ -95,6 +96,7 @@ namespace OpenSim.Services.IntegrationService
return "CheckInstall"; return "CheckInstall";
} }
// List instaled addins
public void ListInstalledAddins() public void ListInstalledAddins()
{ {
ArrayList list = new ArrayList(); ArrayList list = new ArrayList();
@ -102,11 +104,13 @@ namespace OpenSim.Services.IntegrationService
MainConsole.Instance.Output("Installed Plugins"); MainConsole.Instance.Output("Installed Plugins");
foreach (Addin addin in list) foreach (Addin addin in list)
{ {
if(addin.Description.Category == "IntegrationPlugin")
MainConsole.Instance.OutputFormat("* {0} rev. {1}", addin.Name, addin.Version); MainConsole.Instance.OutputFormat("* {0} rev. {1}", addin.Name, addin.Version);
} }
return; return;
} }
// List compatible plugins in registered repositories
public ArrayList ListAvailable() public ArrayList ListAvailable()
{ {
AddinRepositoryEntry[] addins = Repositories.GetAvailableAddins (); AddinRepositoryEntry[] addins = Repositories.GetAvailableAddins ();
@ -121,32 +125,66 @@ namespace OpenSim.Services.IntegrationService
return list; return list;
} }
public string ListUpdates() // List available updates
public void ListUpdates()
{ {
return "ListUpdates"; IProgressStatus ps = new ConsoleProgressStatus(true);
Console.WriteLine ("Looking for updates...");
Repositories.UpdateAllRepositories (ps);
Console.WriteLine ("Available add-in updates:");
bool found = false;
AddinRepositoryEntry[] entries = Repositories.GetAvailableUpdates ();
foreach (AddinRepositoryEntry entry in entries)
{
Console.WriteLine(String.Format("{0}",entry.Addin.Id));
}
} }
// Sync to repositories
public string Update() public string Update()
{ {
IProgressStatus ps = new ConsoleProgressStatus(true);
Repositories.UpdateAllRepositories (ps);
return "Update"; return "Update";
} }
// Register a repository
public string AddRepository(string[] args) public string AddRepository(string[] args)
{ {
Repositories.RegisterRepository(null, args[2].ToString(), true); Repositories.RegisterRepository(null, args[2].ToString(), true);
return "AddRepository"; return "AddRepository";
} }
public string GetRepository() public void GetRepository()
{ {
return "GetRepository"; Repositories.UpdateAllRepositories (new ConsoleProgressStatus (true));
} }
public string RemoveRepository(string[] args) // Remove a repository from the list
public void RemoveRepository(string[] args)
{ {
return "RemoveRepository"; AddinRepository[] reps = Repositories.GetRepositories();
Array.Sort (reps, (r1,r2) => r1.Title.CompareTo(r2.Title));
if (reps.Length == 0)
{
MainConsole.Instance.Output("No repositories have been registered.");
return;
} }
int n = Convert.ToInt16(args[2]);
if (n > (reps.Length -1))
{
MainConsole.Instance.Output("Selection out of range");
return;
}
AddinRepository rep = reps[n];
Repositories.RemoveRepository (rep.Url);
return;
}
// Enable repository
public void EnableRepository(string[] args) public void EnableRepository(string[] args)
{ {
AddinRepository[] reps = Repositories.GetRepositories(); AddinRepository[] reps = Repositories.GetRepositories();
@ -169,6 +207,7 @@ namespace OpenSim.Services.IntegrationService
return; return;
} }
// Disable a repository
public void DisableRepository(string[] args) public void DisableRepository(string[] args)
{ {
AddinRepository[] reps = Repositories.GetRepositories(); AddinRepository[] reps = Repositories.GetRepositories();
@ -191,6 +230,7 @@ namespace OpenSim.Services.IntegrationService
return; return;
} }
// List registered repositories
public ArrayList ListRepositories() public ArrayList ListRepositories()
{ {
AddinRepository[] reps = Repositories.GetRepositories(); AddinRepository[] reps = Repositories.GetRepositories();
@ -208,12 +248,12 @@ namespace OpenSim.Services.IntegrationService
{ {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.AppendFormat("{0}) ", n.ToString()); sb.AppendFormat("{0})", n.ToString());
if (!rep.Enabled) if (!rep.Enabled)
sb.AppendFormat("(Disabled) "); sb.AppendFormat(" (Disabled)");
sb.AppendFormat("{0}", rep.Title); sb.AppendFormat(" {0}", rep.Title);
if (rep.Title != rep.Url) if (rep.Title != rep.Url)
sb.AppendFormat("{0}", rep.Url); sb.AppendFormat(" {0}", rep.Url);
list.Add(sb.ToString()); list.Add(sb.ToString());
n++; n++;
@ -226,8 +266,15 @@ namespace OpenSim.Services.IntegrationService
m_Registry.Update(); m_Registry.Update();
} }
public string AddinInfo() public string AddinInfo(string[] args)
{ {
string id = args[2];
Addin addin = Registry.GetAddin(id, true);
MainConsole.Instance.OutputFormat("Name: {0}\nURL: {1}\n{2}",
addin.Name, addin.Description.Url,
addin.Description.FileName);
return "AddinInfo"; return "AddinInfo";
} }
} }