Skip to content

Commit 418d410

Browse files
Schi11erMoult
authored andcommitted
moved change of bsdd baseurl change to addon settings
1 parent a5461c0 commit 418d410

5 files changed

Lines changed: 9 additions & 47 deletions

File tree

src/bonsai/bonsai/bim/module/bsdd/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
ui.BIM_UL_bsdd_classes,
3838
ui.BIM_UL_bsdd_properties,
3939
ui.BIM_PT_bsdd,
40-
ui.BIM_OT_bsdd_reset_baseurl,
4140
)
4241

4342

src/bonsai/bonsai/bim/module/bsdd/prop.py

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
from typing import TYPE_CHECKING, Literal, Union
2020

2121
import bpy
22-
import bsdd
2322
from bpy.props import (
2423
BoolProperty,
2524
CollectionProperty,
@@ -74,14 +73,6 @@ def update_active_class_index(self: "BIMBSDDProperties", context: bpy.types.Cont
7473
BSDDData.data["active_dictionary"] = BSDDData.active_dictionary()
7574

7675

77-
def update_bsdd_baseurl(self: "BIMBSDDProperties", context: bpy.types.Context) -> None:
78-
try:
79-
tool.Bsdd.client = bsdd.Client()
80-
if hasattr(tool.Bsdd.client, "baseurl"):
81-
tool.Bsdd.client.baseurl = self.bsdd_baseurl
82-
except Exception:
83-
pass
84-
8576
class BSDDDictionary(PropertyGroup):
8677
uri: StringProperty(name="URI")
8778
default_language_code: StringProperty(name="Language")
@@ -172,13 +163,6 @@ class BIMBSDDProperties(PropertyGroup):
172163
default=False,
173164
)
174165
classification_psets: CollectionProperty(name="Classification Psets", type=BSDDPset)
175-
176-
bsdd_baseurl: StringProperty(
177-
name="Other URL:",
178-
description="URL from another Dictionary with bSDD API",
179-
default="",
180-
update=update_bsdd_baseurl,
181-
)
182166

183167
if TYPE_CHECKING:
184168
active_dictionary: str
@@ -198,7 +182,6 @@ class BIMBSDDProperties(PropertyGroup):
198182
should_filter_ifc_class: bool
199183
use_only_ifc_properties: bool
200184
classification_psets: bpy.types.bpy_prop_collection_idprop[BSDDPset]
201-
bsdd_baseurl: str
202185

203186
@property
204187
def active_class(self) -> Union[BSDDClassification, None]:

src/bonsai/bonsai/bim/module/bsdd/ui.py

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -51,17 +51,6 @@ def draw(self, context):
5151
props = tool.Bsdd.get_bsdd_props()
5252
assert self.layout
5353
layout = self.layout
54-
try:
55-
if not props.bsdd_baseurl:
56-
try:
57-
props.bsdd_baseurl = tool.Bsdd.client.baseurl
58-
except Exception:
59-
props.bsdd_baseurl = bsdd.Client().baseurl
60-
except Exception:
61-
pass
62-
row = layout.row(align=True)
63-
row.prop(props, "bsdd_baseurl", text="Other URL", emboss=True)
64-
row.operator("bim.bsdd_reset_baseurl", icon="LOOP_BACK", text="")
6554
if len(props.dictionaries):
6655
row = self.layout.row()
6756
row.operator("bim.load_bsdd_dictionaries", icon="FILE_REFRESH")
@@ -95,24 +84,6 @@ def draw(self, context):
9584
row = self.layout.row()
9685
row.operator("bim.load_bsdd_dictionaries")
9786

98-
class BIM_OT_bsdd_reset_baseurl(bpy.types.Operator):
99-
bl_idname = "bim.bsdd_reset_baseurl"
100-
bl_label = "Reset bSDD Base URL"
101-
bl_description = "Resets the bSDD base URL to the default value"
102-
103-
def execute(self, context):
104-
import bsdd
105-
props = tool.Bsdd.get_bsdd_props()
106-
props.bsdd_baseurl = ""
107-
try:
108-
tool.Bsdd.client = bsdd.Client()
109-
if hasattr(tool.Bsdd.client, "baseurl"):
110-
tool.Bsdd.client.baseurl = default_url
111-
except Exception:
112-
pass
113-
self.report({'INFO'}, "bSDD base URL reset.")
114-
return {'FINISHED'}
115-
11687
class BIM_UL_bsdd_dictionaries(UIList):
11788
def draw_item(
11889
self,

src/bonsai/bonsai/bim/ui.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -660,6 +660,10 @@ class BIM_ADDON_preferences(bpy.types.AddonPreferences):
660660
bsdd_load_test_dictionaries: BoolProperty(
661661
name="Load Test Dictionaries", description="Load dictionaries that are for testing only", default=False
662662
)
663+
bsdd_baseurl: StringProperty(
664+
name="bSDD API Base URL", description="Base URL for data dictionary API requests, e.g. https://api.bsdd.buildingsmart.org/api/",
665+
default="https://api.bsdd.buildingsmart.org/api/",
666+
)
663667
should_disable_undo_on_save: BoolProperty(
664668
name="Disable Undo When Saving (Faster saves, no undo for you!)", default=False
665669
)
@@ -972,6 +976,7 @@ def draw_other_settings(self, layout: bpy.types.UILayout, context: bpy.types.Con
972976
layout.prop(self, "bsdd_load_preview_dictionaries")
973977
layout.prop(self, "bsdd_load_inactive_dictionaries")
974978
layout.prop(self, "bsdd_load_test_dictionaries")
979+
layout.prop(self, "bsdd_baseurl")
975980

976981
def draw_extras_settings(self, layout: bpy.types.UILayout, context: bpy.types.Context) -> None:
977982
layout.prop(self, "container_hide_show_isolate")

src/bonsai/bonsai/tool/bsdd.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,10 @@ def get_dictionary(cls, uri: str) -> bsdd.DictionaryContractV1:
123123
@classmethod
124124
def get_dictionaries(cls) -> list[bsdd.DictionaryContractV1]:
125125
prefs = tool.Blender.get_addon_preferences()
126+
baseurl = getattr(prefs, "bsdd_baseurl", "https://api.bsdd.buildingsmart.org/api/")
127+
cls.client = bsdd.Client()
128+
if hasattr(cls.client, "baseurl"):
129+
cls.client.baseurl = baseurl
126130
response = cls.client.get_dictionary(include_test_dictionaries=prefs.bsdd_load_test_dictionaries)
127131
dicts = response.get("dictionaries") or []
128132
statuses = ["Active"]

0 commit comments

Comments
 (0)