smarthomeNG / smarthome

Device integration platform for your smart home
https://www.smarthomeNG.de
GNU General Public License v3.0
122 stars 91 forks source link

lib.item.item: add ancestor item/attr methods #660

Closed Morg42 closed 3 months ago

Morg42 commented 4 months ago

added three Item methods:

find_attribute_value could - if wanted - replace _get_attribute_value and remove the limit to 4 levels

onkelandy commented 4 months ago

würde es find_attribute nennen. Falls das gar nicht behagt, dann find_attribute_value -> find_attr_value

Morg42 commented 4 months ago

Wenn wir uns einig sind, dass die neuen Methoden gut (genug) sind, könnten wir _get_attribute_value und return_parent jeweils ersetzen, da der Aufruf rückwärtskompatibel ist (neue Argumente sind optional und im default so wie die ursprüngliche Funktion). return_parent müsste ggf. auf Performance optimiert werden (if level == 1 -> return self.__parent, else ...)

find_attr können wir nach Belieben umbenennen. find, weil man nicht sicher sein muss, wo genau man etwas herbekommt ;)

Morg42 commented 4 months ago

So, habe Item.return_parent() und Item._get_attribute_value() jeweils durch die "neuen" Funktionen ersetzt und in return_parent() einen Shortcut eingebaut.

find_attr() heißt jetzt find_attribute().