def _create_sink_handlers_simultaneously(self, before: Type[T], transform: DataTransformer, after: Type[T], targets: Iterable[DataSink]):
before_transform_handlers = set()
after_transform_handlers = set()
for sink in targets:
try:
before_transformer, before_to_type, before_cost = self._best_transform_from(before, sink.accepts)
except NoConversionError:
before_transformer = None
try:
after_transformer, after_to_type, after_cost = self._best_transform_from(after, sink.accepts)
except NoConversionError:
after_transformer = None
if before_transformer is not None and after_transformer is not None:
if before_cost < after_cost:
before_transform_handlers.add(_SinkHandler(sink, before_to_type, before_transformer))
else:
after_transform_handlers.add(_SinkHandler(sink, after_to_type, after_transformer))
elif before_transformer is not None:
before_transform_handlers.add(_SinkHandler(sink, before_to_type, before_transformer))
elif after_transformer is not None:
after_transform_handlers.add(_SinkHandler(sink, after_to_type, after_transformer))
return before_transform_handlers, after_transform_handlers
pipelines.py 文件源码
python
阅读 25
收藏 0
点赞 0
评论 0
评论列表
文章目录