diff --git a/rocolib/api/components/Component.py b/rocolib/api/components/Component.py index 9776246ff74f691f781c02462fa8dba858c1e484..4b34101f310163c3c3ac7c807ecd4b3d5c74eb95 100644 --- a/rocolib/api/components/Component.py +++ b/rocolib/api/components/Component.py @@ -13,7 +13,7 @@ from rocolib.api.Function import YamlFunction from rocolib.utils.utils import prefix as prefixString from rocolib.utils.utils import tryImport from rocolib.utils.nx2go import GraphVisualization as gv -from rocolib.library import getComponent +from rocolib.library import getComponent, save from dash import html, dcc @@ -60,6 +60,9 @@ class Component(Parameterized): self.predefine() self.define() + def toLibrary(self, lib=None): + save(self, lib) + def fromYaml(self, filename): with open(filename, 'r') as fd: definition = yaml.safe_load(fd) diff --git a/rocolib/builders/ESPSegBuilder.py b/rocolib/builders/ESPSegBuilder.py index f7899bc49bd2dbc296b0b1c3c26c4d95b0ed6c87..ee7f796d442c2b12fe8a04a3b4654952179268cf 100644 --- a/rocolib/builders/ESPSegBuilder.py +++ b/rocolib/builders/ESPSegBuilder.py @@ -1,6 +1,5 @@ from rocolib.library import getComponent from rocolib.api.components.Component import newComponent -from rocolib.library import save from rocolib.api.Function import Function c = newComponent("ESPSeg") @@ -116,4 +115,4 @@ c.addConnection(("left", "face0"), c.addConnection(("brain", "face1"), ("sheath", "face1"), copyDecorations=True, transform=False) -save(c, True) +c.toLibrary(True) diff --git a/rocolib/builders/MountedBrainsBuilder.py b/rocolib/builders/MountedBrainsBuilder.py index 5983744f121694b71a2b3e8d21bb3ec9433ae6a7..b6d35135f3793eecad3247f5776f4b09f3f4c91c 100644 --- a/rocolib/builders/MountedBrainsBuilder.py +++ b/rocolib/builders/MountedBrainsBuilder.py @@ -1,5 +1,4 @@ from rocolib.api.components.Component import newComponent -from rocolib.library import save from rocolib.api.Function import Function @@ -27,4 +26,4 @@ c.addConnection(("beam", "face1"), c.inheritAllInterfaces("beam", prefix=None) -save(c, True) +c.toLibrary(True) diff --git a/rocolib/builders/MountedServoBuilder.py b/rocolib/builders/MountedServoBuilder.py index 82e784d492ff2bbc96fba645476db2d09bf84f83..f373a679d6e07ce5ed7c88d03a33e376c95de6a4 100644 --- a/rocolib/builders/MountedServoBuilder.py +++ b/rocolib/builders/MountedServoBuilder.py @@ -1,5 +1,4 @@ from rocolib.api.components.Component import newComponent -from rocolib.library import save from rocolib.api.Function import Function c = newComponent("MountedServo") @@ -12,4 +11,4 @@ c.inheritAllInterfaces("servo", prefix=None) c.addConnection(("mount", "mount.decoration"), ("servo", "mount")) -save(c, True) +c.toLibrary(True) diff --git a/rocolib/builders/PaperbotBuilder.py b/rocolib/builders/PaperbotBuilder.py index 85e9f6c4b94ce3879d104fd5a5eb28bf80dfa8dc..490242a346de506714979ba316096f134d69e874 100644 --- a/rocolib/builders/PaperbotBuilder.py +++ b/rocolib/builders/PaperbotBuilder.py @@ -1,5 +1,4 @@ from rocolib.api.components.Component import newComponent -from rocolib.library import save c = newComponent("Paperbot") @@ -9,4 +8,4 @@ c.addParameter("height", 25, paramType="length", minValue=20) c.addSubcomponent("paperbot", "ESPSeg", inherit="length width height battery tire_thickness".split(), prefix=None) -save(c, True) +c.toLibrary(True) diff --git a/rocolib/builders/ServoMountBuilder.py b/rocolib/builders/ServoMountBuilder.py index 6bce1cc6cd61fb74376c8a8a167641a6ca61d42c..0ccd12c96d51faf7e4a420169368969541360eb4 100644 --- a/rocolib/builders/ServoMountBuilder.py +++ b/rocolib/builders/ServoMountBuilder.py @@ -1,6 +1,5 @@ from rocolib.library import getComponent from rocolib.api.components.Component import newComponent -from rocolib.library import save from rocolib.api.Function import Function c = newComponent("ServoMount") @@ -29,4 +28,4 @@ c.addConnection(("beam", "face0"), ("mount", "decoration"), mode="hole", offset=Function(params="offset")) -save(c, True) +c.toLibrary(True) diff --git a/rocolib/builders/WheelBuilder.py b/rocolib/builders/WheelBuilder.py index e735fd092d0f521066f59856e56e446d2f777395..b5dfa34edfc33dba3c499b7263fda26de5c2157c 100644 --- a/rocolib/builders/WheelBuilder.py +++ b/rocolib/builders/WheelBuilder.py @@ -1,5 +1,4 @@ from rocolib.api.components.Component import newComponent -from rocolib.library import save from rocolib.api.Function import Function c = newComponent("Wheel") @@ -12,4 +11,4 @@ c.inheritAllInterfaces("drive", prefix=None) c.addConnection(("drive", "horn"), ("tire", "face"), copyDecorations=True) -save(c, True) +c.toLibrary(True)