Ejemplo n.º 1
0
    def test_parse_database(self):
        """checks that the correct dictionary tree is generated"""
        inventory = \
            {
                'romans': {
                    '233': {
                        'de': ['roemischerhelm.mp3', 'roemischerhelm.tex'],
                        'en': ['romanhelmet.mp3', 'romanhelmet.tex']
                    },
                    '10': {
                        'de': ['becher_rom.mp3', 'becher_rom.tex'],
                        'en': ['cup_rome.mp3', 'cup_rome.tex']
                    },

                },
                'middle_ages': {
                    '15': {
                        'de': ['mittelalterlicher_schaedel.mp3', 'mittelalterlicher_schaedel.tex'],
                        'en': ['skull_medieval.mp3', 'skull_medieval.tex']
                    },
                    '11': {
                        'de': ['morgenstern.mp3', 'morgenstern.tex'],
                        'en': ['primitive_weapon.mp3', 'primitive_weapon.tex']
                    }
                }
            }
        self.assertEqual(
            inventory,
            database.parse_inventory(
                database.read_database('../test_database/data_inventory.txt')))
Ejemplo n.º 2
0
 def test_package_maker(self):
     """checks if dictionary tree contains correct values form test inventory file"""
     compiled_inventory = ['233', '10']
     compiled_package = ['romanhelmet.mp3', 'cup_rome.mp3']
     self.assertEqual((compiled_inventory, compiled_package),
                      database.compile_inventory_package(
                          ['romans'], ['en'],
                          database.parse_inventory(
                              database.read_database(
                                  '../test_database/data_inventory.txt'))))
     compiled_inventory = ['233', '10']
     compiled_package = [
         'roemischerhelm.mp3', 'romanhelmet.mp3', 'becher_rom.mp3',
         'cup_rome.mp3'
     ]
     self.assertEqual((compiled_inventory, compiled_package),
                      database.compile_inventory_package(
                          ['romans'], ['de', 'en'],
                          database.parse_inventory(
                              database.read_database(
                                  '../test_database/data_inventory.txt'))))
     compiled_inventory = ['233', '10', '15', '11']
     compiled_package = [
         'roemischerhelm.mp3', 'romanhelmet.mp3', 'becher_rom.mp3',
         'cup_rome.mp3', 'mittelalterlicher_schaedel.mp3',
         'skull_medieval.mp3', 'morgenstern.mp3', 'primitive_weapon.mp3'
     ]
     self.assertEqual((compiled_inventory, compiled_package),
                      database.compile_inventory_package(
                          ['romans', 'middle_ages'], ['de', 'en'],
                          database.parse_inventory(
                              database.read_database(
                                  '../test_database/data_inventory.txt'))))
     self.assertEqual((compiled_inventory, compiled_package),
                      database.compile_inventory_package(
                          ['romans', 'middle_ages'], ['de', 'en'],
                          database.parse_inventory(
                              database.read_database(
                                  '../test_database/data_inventory.txt'))))
     self.assertEqual(
         (compiled_inventory, compiled_package),
         database.compile_inventory_package(
             database.read_preset('../test_database/test_preset.txt')[1],
             database.read_preset('../test_database/test_preset.txt')[0],
             database.parse_inventory(
                 database.read_database(
                     '../test_database/data_inventory.txt'))))
Ejemplo n.º 3
0
 def test_compiled_package(self):
     total_inventory = database.parse_inventory(
         database.read_database('../test_database/data_inventory.txt'))
     preset = database.read_preset('../test_database/test_preset.txt')
     compiled_inventory, compiled_package = database.compile_inventory_package(
         preset[1], preset[0], total_inventory)
     database.compile_package(compiled_package,
                              '../test_database',
                              '../test_database/test_package',
                              audio_format='.ad4')
Ejemplo n.º 4
0
 def test_compiled_eeprom(self):
     """tests if eeprom ticket contains correct values"""
     total_inventory = database.parse_inventory(
         database.read_database('../test_database/data_inventory.txt'))
     language = 'de'
     payed_exhibitions = ['romans']
     expected_eeprom = (0, [233, 10, 15, 11], [2, 2, 0, 0])
     compiled_inventory, compiled_package = database.compile_inventory_package(
         ['romans', 'middle_ages'], ['de', 'en'], total_inventory)
     compiled_test_eeprom = database.compile_eeprom(payed_exhibitions, 'de',
                                                    compiled_inventory,
                                                    total_inventory)
     self.assertEqual(expected_eeprom, compiled_test_eeprom)
Ejemplo n.º 5
0
def load_eeprom(inventory_file, preset_file, exhibitions, language):
    """writes a ticket to eeprom
    :param inventory_file: file specifying which audio files belong to which exhibiton and language
    :param preset_file: file specifying which exhibitions are to be written to sd
    :param exhibitions: paid exhibitions
    :param language: language chosen by visitor"""
    presets = database.read_preset(preset_file)
    complete_inventory = database.parse_inventory(
        database.read_database(inventory_file))
    compiled_inventory, compiled_package = database.compile_inventory_package(
        presets[1], presets[0], complete_inventory)
    eeprom_conents = database.compile_eeprom(exhibitions, language,
                                             compiled_inventory,
                                             complete_inventory)
    device = eeprom.init_serial()
    eeprom.write_inventory(eeprom_conents[1], eeprom_conents[2],
                           eeprom_conents[0], device)
Ejemplo n.º 6
0
def make_package(inventory_file, preset_file, package_path, format):
    """generates a audio package from audio file found in current directory\n
    :param inventory_file: file specifying which audio files belong to which exhibiton and language\n
    :param preset_file: file specifying which exhibitions are to be written to sd\n
    :param package_path: folder to which all files in package are copied
    :param format: audio file format"""
    if not os.path.isdir(package_path):
        os.makedirs(package_path)
    total_inventory = database.parse_inventory(
        database.read_database(inventory_file))
    preset = database.read_preset(preset_file)
    compiled_inventory, compiled_package = database.compile_inventory_package(
        preset[1], preset[0], total_inventory)
    database.compile_package(compiled_package,
                             '.',
                             package_path,
                             audio_format=format)