mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-09 17:31:45 +00:00
reuse tool.Blender.get_blenderbim_version
This commit is contained in:
@@ -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):
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
|
||||
import os
|
||||
import bpy
|
||||
import addon_utils
|
||||
import platform
|
||||
from pathlib import Path
|
||||
from bpy.types import Panel
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user