diff --git a/test/algorithms/username/shared_datasets/1.json b/test/algorithms/username/shared_datasets/1.json new file mode 100644 index 0000000000000000000000000000000000000000..33287700e2290662af32ddcb696c9f32798660a5 --- /dev/null +++ b/test/algorithms/username/shared_datasets/1.json @@ -0,0 +1,22 @@ +{ + "language": "python", + "splittable": true, + "groups": [ + { + "name": "main", + "inputs": { + "in_data": { + "type": "{{ system_user.username }}/integer/1" + } + }, + "outputs": { + "out_data": { + "type": "{{ system_user.username }}/integer/1" + } + } + } + ], + "uses": { + "lib": "{{ user.username }}/thelib/1" + } +} diff --git a/test/algorithms/username/shared_datasets/1.py b/test/algorithms/username/shared_datasets/1.py new file mode 100644 index 0000000000000000000000000000000000000000..0d1cf0d2b4543a50dadecff946d2a66f1c4c78f6 --- /dev/null +++ b/test/algorithms/username/shared_datasets/1.py @@ -0,0 +1,44 @@ +############################################################################### +# # +# Copyright (c) 2020 Idiap Research Institute, http://www.idiap.ch/ # +# Contact: beat.support@idiap.ch # +# # +# This file is part of the beat.examples 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/. # +# # +############################################################################### + +import os +import numpy + +class Algorithm: + + def __init__(self): + self.offset = 1 + + def setup(self, parameters): + with open("/databases/simple/1/datafile.txt", "rt") as shared_data: + value = shared_data.read() + self.offset = int(value) + return True + + def process(self, inputs, outputs): + outputs['out_data'].write({ + 'value': numpy.int32(lib.another_sum(inputs['in_data'].data.value, self.offset)), + }) + + return True diff --git a/test/experiments/username/username/single/1/single_database_sharing.json b/test/experiments/username/username/single/1/single_database_sharing.json new file mode 100644 index 0000000000000000000000000000000000000000..641d77bfb8371fb8d05c964f9e67f00d01a7caef --- /dev/null +++ b/test/experiments/username/username/single/1/single_database_sharing.json @@ -0,0 +1,35 @@ +{ + "analyzers": { + "analysis": { + "algorithm": "{{ user.username }}/integers_echo_analyzer/1", + "inputs": { + "in_data": "in" + } + } + }, + "blocks": { + "echo": { + "algorithm": "{{ user.username }}/shared_datasets/1", + "inputs": { + "in_data": "in" + }, + "outputs": { + "out_data": "out" + } + } + }, + "datasets": { + "set": { + "database": "simple/1", + "protocol": "10_numbers", + "set": "numbers" + } + }, + "globals": { + "queue": "{{ queue }}", + "environment": { + "name": "{{ environment.name }}", + "version": "{{ environment.version }}" + } + } +}