Extend(string extName, string destPath, string branchName) { var ext = PyRevitExtensions.FindRegisteredExtension(extName); if (ext != null) { logger.Debug("Matching extension found \"{0}\"", ext.Name); PyRevitExtensions.InstallExtension(ext, destPath, branchName); } else { if (Errors.LatestError == ErrorCodes.MoreThanOneItemMatched) { throw new PyRevitException( string.Format("More than one extension matches the name \"{0}\"", extName)); } else { throw new PyRevitException( string.Format("Not valid extension name or repo url \"{0}\"", extName)); } } }
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)); } } } }
ProcessExtensionInfoCommands(string extName, bool info, bool help) { if (extName != null) { var extDef = PyRevitExtensions.FindRegisteredExtension(extName); if (Errors.LatestError == ErrorCodes.MoreThanOneItemMatched) { logger.Warn("More than one extension matches the search pattern \"{0}\"", extName); } else { if (info && extDef != null) { Console.WriteLine(extDef.ToString()); } else if (help && extDef != null) { Process.Start(extDef.Website); } } } }