def __init__(self, revitFilePathData): self.revitFileInfo = RevitFileInfo(revitFilePathData.RevitFilePath) self.revitFilePathData = revitFilePathData revitVersionText = None revitVersionNumber = None if self.revitFileInfo.IsCloudModel(): revitVersionText = self.revitFileInfo.GetRevitCloudModelInfo( ).GetRevitVersionText() if not str.IsNullOrWhiteSpace(revitVersionText): if RevitVersion.IsSupportedRevitVersionNumber( revitVersionText): revitVersionNumber = RevitVersion.GetSupportedRevitVersion( revitVersionText) else: revitVersionText = self.revitFileInfo.TryGetRevitVersionText() if not str.IsNullOrWhiteSpace(revitVersionText): if any( revitVersionText.StartsWith(prefix) for prefix in revit_file_version.REVIT_VERSION_TEXT_PREFIXES_2015): revitVersionNumber = RevitVersion.SupportedRevitVersion.Revit2015 elif any( revitVersionText.StartsWith(prefix) for prefix in revit_file_version.REVIT_VERSION_TEXT_PREFIXES_2016): revitVersionNumber = RevitVersion.SupportedRevitVersion.Revit2016 elif any( revitVersionText.StartsWith(prefix) for prefix in revit_file_version.REVIT_VERSION_TEXT_PREFIXES_2017): revitVersionNumber = RevitVersion.SupportedRevitVersion.Revit2017 elif any( revitVersionText.StartsWith(prefix) for prefix in revit_file_version.REVIT_VERSION_TEXT_PREFIXES_2018): revitVersionNumber = RevitVersion.SupportedRevitVersion.Revit2018 elif any( revitVersionText.StartsWith(prefix) for prefix in revit_file_version.REVIT_VERSION_TEXT_PREFIXES_2019): revitVersionNumber = RevitVersion.SupportedRevitVersion.Revit2019 elif any( revitVersionText.StartsWith(prefix) for prefix in revit_file_version.REVIT_VERSION_TEXT_PREFIXES_2020): revitVersionNumber = RevitVersion.SupportedRevitVersion.Revit2020 elif any( revitVersionText.StartsWith(prefix) for prefix in revit_file_version.REVIT_VERSION_TEXT_PREFIXES_2021): revitVersionNumber = RevitVersion.SupportedRevitVersion.Revit2021 elif any( revitVersionText.StartsWith(prefix) for prefix in revit_file_version.REVIT_VERSION_TEXT_PREFIXES_2022): revitVersionNumber = RevitVersion.SupportedRevitVersion.Revit2022 self.revitVersionText = revitVersionText self.revitVersionNumber = revitVersionNumber return
def __init__(self, cloudModelDescriptor): self.cloudModelDescriptor = cloudModelDescriptor self.projectGuid = None self.modelGuid = None self.revitVersionText = None self.isValid = False parts = self.GetCloudModelDescriptorParts(cloudModelDescriptor) numberOfParts = len(parts) if numberOfParts == 2 or numberOfParts == 3: revitVersionPart = str.Empty otherParts = parts if numberOfParts == 3: revitVersionPart = parts[0] otherParts = parts[1:] self.projectGuid = self.SafeParseGuidText(otherParts[0]) self.modelGuid = self.SafeParseGuidText(otherParts[1]) if RevitVersion.IsSupportedRevitVersionNumber(revitVersionPart): self.revitVersionText = revitVersionPart self.isValid = (self.projectGuid is not None and self.modelGuid is not None) return