Generate functions for all API usecases for better static code features. See #2693.

This commit is contained in:
Dion Moult
2024-05-06 14:35:39 +10:00
parent 10f894e2ea
commit d11ec67129
330 changed files with 13283 additions and 13751 deletions
@@ -17,20 +17,17 @@
# along with IfcOpenShell. If not, see <http://www.gnu.org/licenses/>.
class Usecase:
def __init__(self, file, item=None, old_index=0, new_index=0):
"""Reorders an item in a nesting set"""
self.file = file
self.settings = {"item": item, "old_index":old_index, "new_index": new_index}
def reorder_nesting(file, item=None, old_index=0, new_index=0) -> None:
"""Reorders an item in a nesting set"""
settings = {"item": item, "old_index": old_index, "new_index": new_index}
def execute(self):
if not self.settings["item"].Nests:
return
nesting_set = self.settings["item"].Nests[0]
if not self.settings["old_index"]:
old_index = nesting_set.RelatedObjects.index(self.settings["item"])
else:
old_index = self.settings["old_index"]
items = list(getattr(nesting_set, "RelatedObjects") or [])
items.insert(self.settings["new_index"], items.pop(old_index))
setattr(nesting_set, "RelatedObjects", items)
if not settings["item"].Nests:
return
nesting_set = settings["item"].Nests[0]
if not settings["old_index"]:
old_index = nesting_set.RelatedObjects.index(settings["item"])
else:
old_index = settings["old_index"]
items = list(getattr(nesting_set, "RelatedObjects") or [])
items.insert(settings["new_index"], items.pop(old_index))
setattr(nesting_set, "RelatedObjects", items)