ProcessExtensionInfoCommands(string extName, bool info, bool help, bool open) { if (extName != null) { var ext = PyRevitExtensions.FindRegisteredExtension(extName); if (Errors.LatestError == ErrorCodes.MoreThanOneItemMatched) { logger.Warn("More than one extension matches the search pattern \"{0}\"", extName); } else { if (info) { Console.WriteLine(ext.ToString()); } else if (help) { Process.Start(ext.Website); } else if (open) { var instExt = PyRevitExtensions.GetInstalledExtension(extName); CommonUtils.OpenInExplorer(instExt.InstallPath); } } } }
GetSetExtensionOrigin(string extName, string originUrl, bool reset) { if (extName != null) { var extension = PyRevitExtensions.GetInstalledExtension(extName); if (extension != null) { if (reset) { var ext = PyRevitExtensions.FindRegisteredExtension(extension.Name); if (ext != null) { extension.SetOrigin(ext.Url); } else { throw new PyRevitException( string.Format("Can not find the original url in the extension " + "database for extension \"{0}\"", extension.Name)); } } else if (originUrl != null) { extension.SetOrigin(originUrl); } else { Console.WriteLine(string.Format("Extension \"{0}\" origin is at \"{1}\"", extension.Name, extension.Origin)); } } } }
ProcessExtensionOpenCommand(string cloneName, string extName) { if (extName != null) { PyRevitClone clone = null; if (cloneName != null) { clone = PyRevitClones.GetRegisteredClone(cloneName); } PyRevitExtension ext; if (clone != null) { ext = PyRevitExtensions.GetShippedExtension(clone, extName); } else { ext = PyRevitExtensions.GetInstalledExtension(extName); } if (ext != null) { CommonUtils.OpenInExplorer(ext.InstallPath); } } }