reuse tool.Blender.get_blenderbim_version

This commit is contained in:
Andrej730
2024-07-22 12:06:00 +05:00
parent 1281eb4aea
commit 1d12f54c36
6 changed files with 12 additions and 53 deletions
-1
View File
@@ -27,7 +27,6 @@ import sys
IN_BLENDER = sys.modules.get("bpy", None)
if IN_BLENDER:
import bpy
import addon_utils
import re
import platform
@@ -167,21 +167,6 @@ class IfcExporter:
def get_application_name(self) -> str:
return "BlenderBIM"
def get_application_version(self) -> str:
version = ".".join(
[
str(x)
for x in [
addon.bl_info.get("version", (-1, -1, -1))
for addon in addon_utils.modules()
if addon.bl_info["name"] == "BlenderBIM"
][0]
]
)
if commit_hash := tool.Blender.get_last_commit_hash():
version += f"-{commit_hash}"
return version
class IfcExportSettings:
def __init__(self):
+1 -14
View File
@@ -222,7 +222,7 @@ def redo_post(scene):
def get_application(ifc: ifcopenshell.file) -> ifcopenshell.entity_instance:
# TODO: cache this for even faster application retrieval. It honestly makes a difference on long scripts.
version = get_application_version()
version = tool.Blender.get_blenderbim_version()
for element in ifc.by_type("IfcApplication"):
if element.ApplicationIdentifier == "BlenderBIM" and element.Version == version:
return element
@@ -248,19 +248,6 @@ def get_user(ifc: ifcopenshell.file) -> Union[ifcopenshell.entity_instance, None
return pao
def get_application_version() -> str:
return ".".join(
[
str(x)
for x in [
addon.bl_info.get("version", (-1, -1, -1))
for addon in addon_utils.modules()
if addon.bl_info["name"] == "BlenderBIM"
][0]
]
)
def viewport_shading_changed_callback(area):
shading = area.spaces.active.shading.type
if shading == "RENDERED":
@@ -26,6 +26,7 @@ import requests
import tempfile
import datetime
import addon_utils
import blenderbim.tool as tool
class AuginLogin(bpy.types.Operator):
@@ -77,16 +78,7 @@ class AuginCreateNewModel(bpy.types.Operator):
props.project_filename = "BBM{}{}".format(
datetime.datetime.now().strftime("%Y%m%d%H%M%S"), "".join(random.choice(chars) for _ in range(6))
)
addon_version = ".".join(
[
str(x)
for x in [
addon.bl_info.get("version", (-1, -1, -1))
for addon in addon_utils.modules()
if addon.bl_info["name"] == "BlenderBIM"
][0]
]
)
addon_version = tool.Blender.get_blenderbim_version()
payload = {
"user_token": props.token,
-1
View File
@@ -18,7 +18,6 @@
import os
import bpy
import addon_utils
import platform
from pathlib import Path
from bpy.types import Panel
+9 -12
View File
@@ -26,8 +26,8 @@ import ifcopenshell.util.element
import blenderbim.core.tool
import blenderbim.tool as tool
import blenderbim.bim
import addon_utils
import types
import importlib
from mathutils import Vector
from pathlib import Path
from blenderbim.bim.ifc import IFC_CONNECTED_TYPE
@@ -930,17 +930,9 @@ class Blender(blenderbim.core.tool.Blender):
return commit_hash[:7]
@classmethod
def get_blenderbim_version(cls):
version = ".".join(
[
str(x)
for x in [
addon.bl_info.get("version", (-1, -1, -1))
for addon in addon_utils.modules()
if addon.bl_info["name"] == "BlenderBIM"
][0]
]
)
def get_blenderbim_version(cls) -> str:
bbim = cls.get_bbim_extension_package()
version = bbim.bbim_semver["version"]
if commit_hash := cls.get_last_commit_hash():
version += f"-{commit_hash}"
return version
@@ -1114,6 +1106,11 @@ class Blender(blenderbim.core.tool.Blender):
return package_name
return "blenderbim"
@classmethod
def get_bbim_extension_package(cls) -> types.ModuleType:
name = cls.get_blender_addon_package_name()
return importlib.import_module(name)
@classmethod
def get_addon_preferences(cls) -> blenderbim.bim.ui.BIM_ADDON_preferences:
blender_package_name = cls.get_blender_addon_package_name()