mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-12 02:23:34 +00:00
Generate functions for all API usecases for better static code features. See #2693.
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user