예제 #1
0
파일: echonest.py 프로젝트: ShriramK/miro
    def _parse_seven_digital_callback(self, seven_digital_reply):
        doc = minidom.parseString(seven_digital_reply)
        def find_text_for_tag(elt, tag_name):
            return elt.getElementsByTagName(tag_name)[0].firstChild.data
        result = {}

        if len(doc.getElementsByTagName('error')) != 0:
            error = doc.getElementsByTagName('error')[0]
            code = error.getAttribute("code"),
            msg = find_text_for_tag(doc, 'errorMessage')
            logging.warn("7digital returned an error: %s -- %s", code, msg)
            return None

        release = doc.getElementsByTagName('release')[0]
        result['id'] = release.getAttribute('id')
        result['album'] = album = find_text_for_tag(doc, 'title')
        result['cover_art_url'] = find_text_for_tag(doc, 'image')
        result['cover_art_filename'] = filetags.calc_cover_art_filename(album)
        artist = doc.getElementsByTagName('artist')[0]
        result['album_artist'] = find_text_for_tag(artist, 'name')
        return result
예제 #2
0
    def _parse_seven_digital_callback(self, seven_digital_reply):
        doc = minidom.parseString(seven_digital_reply)

        def find_text_for_tag(elt, tag_name):
            return elt.getElementsByTagName(tag_name)[0].firstChild.data

        result = {}

        if len(doc.getElementsByTagName('error')) != 0:
            error = doc.getElementsByTagName('error')[0]
            code = error.getAttribute("code"),
            msg = find_text_for_tag(doc, 'errorMessage')
            logging.warn("7digital returned an error: %s -- %s", code, msg)
            return None

        release = doc.getElementsByTagName('release')[0]
        result['id'] = release.getAttribute('id')
        result['album'] = album = find_text_for_tag(doc, 'title')
        result['cover_art_url'] = find_text_for_tag(doc, 'image')
        result['cover_art_filename'] = filetags.calc_cover_art_filename(album)
        artist = doc.getElementsByTagName('artist')[0]
        result['album_artist'] = find_text_for_tag(artist, 'name')
        return result
예제 #3
0
 def dynamic_test_case(self, album_name, correct_filename):
     self.assertEquals(calc_cover_art_filename(album_name),
                       correct_filename)
     self.assert_(
         isinstance(calc_cover_art_filename(album_name),
                    PlatformFilenameType))
예제 #4
0
 def dynamic_test_case(self, album_name, correct_filename):
     self.assertEquals(calc_cover_art_filename(album_name),
                       correct_filename)
     self.assert_(isinstance(calc_cover_art_filename(album_name),
                  PlatformFilenameType))