def test_read(self): util = PersistenceDecoder(self.system_effect) bank = self.bank() bank_readed = util.read(bank.json) self.maxDiff = None self.assertEqual(bank.json, bank_readed.json)
def test_read(self): system_effect = SystemEffect('system', ('capture_1', 'capture_2'), ('playback_1', 'playback_2')) util = PersistenceDecoder(system_effect) bank = self.bank bank_readed = util.read(bank.json) self.maxDiff = None self.assertEqual(bank.json, bank_readed.json)
class BankHandler(AbstractRequestHandler): _decoder = None _manager = None def initialize(self, app, webservice): super(BankHandler, self).initialize(app, webservice) self._manager = self.app.manager sys_effect = self.app.controller(DeviceController).sys_effect self._decoder = PersistenceDecoder(sys_effect) @exception(Exception, 500) @exception(IndexError, 400, message='Invalid index') @integer('bank_index') def get(self, bank_index): bank = self._manager.banks[bank_index] self.write(bank.json) @exception(Exception, 500) def post(self): json = self.request_data bank = self._decoder.read(json) with self.observer: self._manager.append(bank) self.created({"index": bank.index}) @exception(Exception, 500) @exception(IndexError, 400, message='Invalid index') @integer('bank_index') def put(self, bank_index): json = self.request_data bank = self._decoder.read(json) with self.observer: self._manager.banks[bank_index] = bank self.success() @exception(Exception, 500) @exception(IndexError, 400, message='Invalid index') @integer('bank_index') def delete(self, bank_index): bank_index = int(bank_index) with self.observer: del self._manager.banks[bank_index] self.success()
def test_read_system_builder(self): from pluginsmanager.model.system.system_effect_builder import SystemEffectBuilder from pluginsmanager.jack.jack_client import JackClient client = JackClient(no_start_server=False) system_effect = SystemEffectBuilder(client).build() util = PersistenceDecoder(system_effect) bank = self.bank(midi=False) bank_readed = util.read(bank.json) self.assertEqual(bank.json, bank_readed.json) client.close()
def load(self, system_effect): """ Return a bank list present in data_path :param SystemEffect system_effect: SystemEffect used in pedalboards :return list[bank]: Banks list in data_path """ persistence = PersistenceDecoder(system_effect) banks = [] for file in glob(self.data_path + "*.json"): bank = persistence.read(self._read(file)) bank._uuid = file.split('/')[-1].split('.json')[0] banks.append(bank) return sorted(banks, key=lambda b: b.index)
def load(self, system_effect): """ Return a list if banks presents in data_path :param SystemEffect system_effect: SystemEffect used in pedalboards :return list[Bank]: List with Banks persisted in :attr:`~pluginsmanager.observer.autosaver.banks_files.BanksFiles.data_path` """ persistence = PersistenceDecoder(system_effect) banks = [] for file in glob(str(self.data_path) + "/*.json"): bank = persistence.read(Persistence.read(file)) bank._uuid = file.split('/')[-1].split('.json')[0] banks.append(bank) return banks
def test_read_unknown_technology(self): system_effect = SystemEffect('system', ('capture_1', 'capture_2'), ('playback_1', 'playback_2')) bank_data = { "index": 3, "name": "Bank 1", "pedalboards": [{ "effects": [{"params": [{"index": 7, "symbol": "decay_time", "value": 1.5}, {"index": 8, "symbol": "hf_damp", "value": 5000}, {"index": 9, "symbol": "room_size", "value": 2}, {"index": 10, "symbol": "diffusion", "value": 0.5}, {"index": 11, "symbol": "amount", "value": 0.25}, {"index": 12, "symbol": "dry", "value": 1}, {"index": 13, "symbol": "predelay", "value": 0}, {"index": 14, "symbol": "bass_cut", "value": 300}, {"index": 15, "symbol": "treble_cut", "value": 5000}], "active": True, "technology": "ladspa", "plugin": "http://calf.sourceforge.net/plugins/Reverb"}], "name": "Pedalboard 1", "connections": []}]} with self.assertRaises(PersistenceDecoderError): PersistenceDecoder(system_effect).read(bank_data)
def initialize(self, app, webservice): super(BankHandler, self).initialize(app, webservice) self._manager = self.app.manager sys_effect = self.app.controller(DeviceController).sys_effect self._decoder = PersistenceDecoder(sys_effect)