diff --git a/beat/backend/python/test/prefix/algorithms/autonomous/loop/1.json b/beat/backend/python/test/prefix/algorithms/autonomous/loop/1.json new file mode 100644 index 0000000000000000000000000000000000000000..65181c1c98d42e73399ed1f793bf21d210ee38eb --- /dev/null +++ b/beat/backend/python/test/prefix/algorithms/autonomous/loop/1.json @@ -0,0 +1,21 @@ +{ + "schema_version": 2, + "language": "python", + "api_version": 2, + "type": "loop", + "splittable": false, + "groups": [ + { + "inputs": { + "in": { + "type": "user/single_integer/1" + } + }, + "outputs": { + "out": { + "type": "user/single_integer/1" + } + } + } + ] +} diff --git a/beat/backend/python/test/prefix/algorithms/autonomous/loop/1.py b/beat/backend/python/test/prefix/algorithms/autonomous/loop/1.py new file mode 100644 index 0000000000000000000000000000000000000000..4406e7ecd9c7fed72286b72b59c1fcea520b726b --- /dev/null +++ b/beat/backend/python/test/prefix/algorithms/autonomous/loop/1.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python +# vim: set fileencoding=utf-8 : + +############################################################################### +# # +# Copyright (c) 2018 Idiap Research Institute, http://www.idiap.ch/ # +# Contact: beat.support@idiap.ch # +# # +# This file is part of the beat.backend.python module of the BEAT platform. # +# # +# Commercial License Usage # +# Licensees holding valid commercial BEAT licenses may use this file in # +# accordance with the terms contained in a written agreement between you # +# and Idiap. For further information contact tto@idiap.ch # +# # +# Alternatively, this file may be used under the terms of the GNU Affero # +# Public License version 3 as published by the Free Software and appearing # +# in the file LICENSE.AGPL included in the packaging of this file. # +# The BEAT platform is distributed in the hope that it will be useful, but # +# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY # +# or FITNESS FOR A PARTICULAR PURPOSE. # +# # +# You should have received a copy of the GNU Affero Public License along # +# with the BEAT platform. If not, see http://www.gnu.org/licenses/. # +# # +############################################################################### + +class Algorithm: + + def validate(self, result): + value = int(result) + + return value < 6 diff --git a/beat/backend/python/test/prefix/algorithms/autonomous/loop_user/1.json b/beat/backend/python/test/prefix/algorithms/autonomous/loop_user/1.json new file mode 100644 index 0000000000000000000000000000000000000000..43f7a57b22cfc5b4b94df6cbf93f27d1f37202e1 --- /dev/null +++ b/beat/backend/python/test/prefix/algorithms/autonomous/loop_user/1.json @@ -0,0 +1,21 @@ +{ + "schema_version": 2, + "language": "python", + "api_version": 2, + "type": "autonomous", + "splittable": false, + "groups": [ + { + "inputs": { + "in": { + "type": "user/single_integer/1" + } + }, + "outputs": { + "out": { + "type": "user/single_integer/1" + } + } + } + ] +} diff --git a/beat/backend/python/test/prefix/algorithms/autonomous/loop_user/1.py b/beat/backend/python/test/prefix/algorithms/autonomous/loop_user/1.py new file mode 100644 index 0000000000000000000000000000000000000000..56f50e13ebac3c706e934dbab14537759b4ec5e3 --- /dev/null +++ b/beat/backend/python/test/prefix/algorithms/autonomous/loop_user/1.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python +# vim: set fileencoding=utf-8 : + +############################################################################### +# # +# Copyright (c) 2018 Idiap Research Institute, http://www.idiap.ch/ # +# Contact: beat.support@idiap.ch # +# # +# This file is part of the beat.backend.python module of the BEAT platform. # +# # +# Commercial License Usage # +# Licensees holding valid commercial BEAT licenses may use this file in # +# accordance with the terms contained in a written agreement between you # +# and Idiap. For further information contact tto@idiap.ch # +# # +# Alternatively, this file may be used under the terms of the GNU Affero # +# Public License version 3 as published by the Free Software and appearing # +# in the file LICENSE.AGPL included in the packaging of this file. # +# The BEAT platform is distributed in the hope that it will be useful, but # +# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY # +# or FITNESS FOR A PARTICULAR PURPOSE. # +# # +# You should have received a copy of the GNU Affero Public License along # +# with the BEAT platform. If not, see http://www.gnu.org/licenses/. # +# # +############################################################################### + +class Algorithm: + + def process(self, data_loaders, outputs, loop_channel): + cnt = 100 + while not loop_channel.is_result_valid(cnt): + cnt = cnt - 1 + + data_loader = data_loaders.loaderOf('in') + + for i in range(data_loader.count()): + (data, start, end) = data_loader[i] + + outputs['out'].write({ + 'value': data['in'].value, + }, + end + ) + return True