Extend(string extName, string destPath, string branchName)
        {
            var ext = PyRevit.FindRegisteredExtension(extName);

            if (ext != null)
            {
                logger.Debug("Matching extension found \"{0}\"", ext.Name);
                PyRevit.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 = PyRevit.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 = PyRevit.GetInstalledExtension(extName);
                 CommonUtils.OpenInExplorer(instExt.InstallPath);
             }
         }
     }
 }
 GetSetExtensionOrigin(string extName, string originUrl, bool reset)
 {
     if (extName != null)
     {
         var extension = PyRevit.GetInstalledExtension(extName);
         if (extension != null)
         {
             if (reset)
             {
                 var ext = PyRevit.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));
             }
         }
     }
 }
예제 #4
0
        public PyRevitExtension(string extensionPath)
        {
            InstallPath = extensionPath;
            var extDefFile = GetExtensionDefFilePath(InstallPath);

            if (CommonUtils.VerifyFile(extDefFile))
            {
                Definition = new PyRevitExtensionDefinition(extDefFile);
            }
            else
            {
                // if def file is not found try to grab the definitions from registered extensions
                try {
                    Definition = PyRevit.FindRegisteredExtension(Name);
                }
                catch {
                    // let Definition be null if extension is not registered
                }
            }
        }