If transports and location already mapped skip autoadd

This commit is contained in:
Jedrzej Nowak 2015-09-24 16:56:36 +02:00
parent a05a4bd878
commit bc1d4d2355

View File

@ -58,7 +58,10 @@ def location_and_transports(emitter, receiver, orig_mapping):
elif isinstance(orig_mapping, set): elif isinstance(orig_mapping, set):
orig_mapping.remove(single) orig_mapping.remove(single)
def _single(single): def _single(single, inps_emitter, inps_receiver):
if inps_emitter and inps_receiver:
log.debug("location and transports different, skipping")
return
emitter_single = emitter.db_obj.meta_inputs[single] emitter_single = emitter.db_obj.meta_inputs[single]
receiver_single = receiver.db_obj.meta_inputs[single] receiver_single = receiver.db_obj.meta_inputs[single]
emitter_single_reverse = emitter_single.get('reverse') emitter_single_reverse = emitter_single.get('reverse')
@ -76,9 +79,11 @@ def location_and_transports(emitter, receiver, orig_mapping):
if isinstance(orig_mapping, dict): if isinstance(orig_mapping, dict):
orig_mapping[single] = single orig_mapping[single] = single
inps_emitter = emitter.args
inps_receiver = receiver.args
# XXX: should be somehow parametrized (input attribute?) # XXX: should be somehow parametrized (input attribute?)
for single in ('transports_id', 'location_id'): for single in ('transports_id', 'location_id'):
_single(single) _single(single, inps_emitter[single], inps_receiver[single])
return return