ORM: bring back default events adding

This will be removed in other Pull-Requests.
This commit is contained in:
Przemyslaw Kaminski 2015-09-15 08:49:20 +02:00
parent 5562b28027
commit 22f75dd29b

View File

@ -14,6 +14,8 @@
# under the License.
from solar.core.log import log
from solar.events.api import add_events
from solar.events.controls import Dependency
def guess_mapping(emitter, receiver):
@ -57,6 +59,18 @@ def connect(emitter, receiver, mapping={}, events=None):
for d in dst:
connect_single(emitter, src, receiver, d)
events_to_add = [
Dependency(emitter.name, 'run', 'success', receiver.name, 'run'),
Dependency(emitter.name, 'update', 'success', receiver.name, 'update')
]
if isinstance(events, dict):
for k, v in events.items():
if v is not False:
events_to_add = filter(lambda x: x.parent_action == k, events_to_add)
add_events(emitter.name, events_to_add)
elif events is not False:
add_events(emitter.name, events_to_add)
def connect_single(emitter, src, receiver, dst):
# Disconnect all receiver inputs