Esempio n. 1
0
 def album_distance(self, items, album_info, mapping):
     """Returns the album distance.
     """
     dist = Distance()
     if album_info.data_source == 'VGMdb':
         dist.add('source', self.source_weight)
     return dist
Esempio n. 2
0
 def album_distance(self, items, album_info, mapping):
     """Returns the album distance.
     """
     dist = Distance()
     if album_info.data_source == 'Amazon':
         dist.add('source', self.config['source_weight'].as_number())
     return dist
Esempio n. 3
0
 def album_distance(self, items, album_info, mapping):
     """Returns the album distance.
     """
     dist = Distance()
     if hasattr(album_info, 'data_source') and album_info.data_source == 'bandcamp':
         dist.add('source', self.config['source_weight'].as_number())
     return dist
Esempio n. 4
0
 def track_distance(self, item, track_info):
     """Returns the beatport source weight and the maximum source weight
     for individual tracks.
     """
     dist = Distance()
     if track_info.data_source == 'Beatport':
         dist.add('source', self.config['source_weight'].as_number())
     return dist
Esempio n. 5
0
 def album_distance(self, items, album_info, mapping):
     """Returns the beatport source weight and the maximum source weight
     for albums.
     """
     dist = Distance()
     if album_info.data_source == 'Beatport':
         dist.add('source', self.config['source_weight'].as_number())
     return dist
Esempio n. 6
0
 def test_max_distance(self):
     config['match']['distance_weights']['album'] = 3.0
     config['match']['distance_weights']['medium'] = 1.0
     dist = Distance()
     dist.add('album', 0.5)
     dist.add('medium', 0.0)
     dist.add('medium', 0.0)
     self.assertEqual(dist.max_distance, 5.0)
Esempio n. 7
0
 def track_distance(self, item, track_info):
     """Returns the beatport source weight and the maximum source weight
     for individual tracks.
     """
     dist = Distance()
     if track_info.data_source == 'Beatport':
         dist.add('source', self.config['source_weight'].as_number())
     return dist
Esempio n. 8
0
 def test_max_distance(self):
     config['match']['distance_weights']['album'] = 3.0
     config['match']['distance_weights']['medium'] = 1.0
     dist = Distance()
     dist.add('album', 0.5)
     dist.add('medium', 0.0)
     dist.add('medium', 0.0)
     self.assertEqual(dist.max_distance, 5.0)
Esempio n. 9
0
 def album_distance(self, items, album_info, mapping):
     """Returns the beatport source weight and the maximum source weight
     for albums.
     """
     dist = Distance()
     if album_info.data_source == 'Beatport':
         dist.add('source', self.config['source_weight'].as_number())
     return dist
Esempio n. 10
0
    def test_distance(self):
        config['match']['distance_weights']['album'] = 2.0
        config['match']['distance_weights']['medium'] = 1.0
        dist = Distance()
        dist.add('album', 0.5)
        dist.add('media', 0.25)
        dist.add('media', 0.75)
        self.assertEqual(dist.distance, 0.5)

        # __getitem__()
        self.assertEqual(dist['album'], 0.25)
        self.assertEqual(dist['media'], 0.25)
Esempio n. 11
0
    def test_distance(self):
        config['match']['distance_weights']['album'] = 2.0
        config['match']['distance_weights']['medium'] = 1.0
        dist = Distance()
        dist.add('album', 0.5)
        dist.add('media', 0.25)
        dist.add('media', 0.75)
        self.assertEqual(dist.distance, 0.5)

        # __getitem__()
        self.assertEqual(dist['album'], 0.25)
        self.assertEqual(dist['media'], 0.25)
Esempio n. 12
0
 def test_raw_distance(self):
     config['match']['distance_weights']['album'] = 3.0
     config['match']['distance_weights']['medium'] = 1.0
     dist = Distance()
     dist.add('album', 0.5)
     dist.add('medium', 0.25)
     dist.add('medium', 0.5)
     self.assertEqual(dist.raw_distance, 2.25)
Esempio n. 13
0
 def test_raw_distance(self):
     config['match']['distance_weights']['album'] = 3.0
     config['match']['distance_weights']['medium'] = 1.0
     dist = Distance()
     dist.add('album', 0.5)
     dist.add('medium', 0.25)
     dist.add('medium', 0.5)
     self.assertEqual(dist.raw_distance, 2.25)
Esempio n. 14
0
    def test_items(self):
        config['match']['distance_weights']['album'] = 4.0
        config['match']['distance_weights']['medium'] = 2.0
        dist = Distance()
        dist.add('album', 0.1875)
        dist.add('medium', 0.75)
        self.assertEqual(dist.items(), [('medium', 0.25), ('album', 0.125)])

        # Sort by key if distance is equal.
        dist = Distance()
        dist.add('album', 0.375)
        dist.add('medium', 0.75)
        self.assertEqual(dist.items(), [('album', 0.25), ('medium', 0.25)])
Esempio n. 15
0
    def test_items(self):
        config['match']['distance_weights']['album'] = 4.0
        config['match']['distance_weights']['medium'] = 2.0
        dist = Distance()
        dist.add('album', 0.1875)
        dist.add('medium', 0.75)
        self.assertEqual(dist.items(), [('medium', 0.25), ('album', 0.125)])

        # Sort by key if distance is equal.
        dist = Distance()
        dist.add('album', 0.375)
        dist.add('medium', 0.75)
        self.assertEqual(dist.items(), [('album', 0.25), ('medium', 0.25)])
Esempio n. 16
0
    def test_update(self):
        dist1 = Distance()
        dist1.add('album', 0.5)
        dist1.add('media', 1.0)

        dist2 = Distance()
        dist2.add('album', 0.75)
        dist2.add('album', 0.25)
        dist2.add('media', 0.05)

        dist1.update(dist2)

        self.assertEqual(dist1._penalties, {'album': [0.5, 0.75, 0.25],
                                            'media': [1.0, 0.05]})
Esempio n. 17
0
 def test_operators(self):
     config['match']['distance_weights']['source'] = 1.0
     config['match']['distance_weights']['album'] = 2.0
     config['match']['distance_weights']['medium'] = 1.0
     dist = Distance()
     dist.add('source', 0.0)
     dist.add('album', 0.5)
     dist.add('medium', 0.25)
     dist.add('medium', 0.75)
     self.assertEqual(len(dist), 2)
     self.assertEqual(list(dist), [('album', 0.2), ('medium', 0.2)])
     self.assertTrue(dist == 0.4)
     self.assertTrue(dist < 1.0)
     self.assertTrue(dist > 0.0)
     self.assertEqual(dist - 0.4, 0.0)
     self.assertEqual(0.4 - dist, 0.0)
     self.assertEqual(float(dist), 0.4)
Esempio n. 18
0
 def test_operators(self):
     config['match']['distance_weights']['source'] = 1.0
     config['match']['distance_weights']['album'] = 2.0
     config['match']['distance_weights']['medium'] = 1.0
     dist = Distance()
     dist.add('source', 0.0)
     dist.add('album', 0.5)
     dist.add('medium', 0.25)
     dist.add('medium', 0.75)
     self.assertEqual(len(dist), 2)
     self.assertEqual(list(dist), [('album', 0.2), ('medium', 0.2)])
     self.assertTrue(dist == 0.4)
     self.assertTrue(dist < 1.0)
     self.assertTrue(dist > 0.0)
     self.assertEqual(dist - 0.4, 0.0)
     self.assertEqual(0.4 - dist, 0.0)
     self.assertEqual(float(dist), 0.4)
Esempio n. 19
0
 def test_add(self):
     dist = Distance()
     dist.add('add', 1.0)
     self.assertEqual(dist._penalties, {'add': [1.0]})