Esempio n. 1
0
    def init_album(self):
        #album json
        js = self.m163.read_link(url_album % self.album_id).json()['album']
        #name
        self.album_name = util.decode_html(js['name'])
        #album logo
        self.logo = js['picUrl']
        # artist_name
        self.artist_name = js['artists'][0]['name']
        #handle songs
        for jsong in js['songs']:
            song = NeteaseSong(self.m163, song_json=jsong)
            song.group_dir = self.artist_name + u'_' + self.album_name
            song.post_set()
            self.songs.append(song)

        d = path.dirname(self.songs[-1].abs_path)
        #creating the dir
        LOG.debug(u'创建专辑目录[%s]' % d)
        util.create_dir(d)

        #download album logo images
        LOG.debug(u'下载专辑[%s]封面' % self.album_name)
        downloader.download_by_url(
            self.logo, path.join(d, 'cover.' + self.logo.split('.')[-1]))
Esempio n. 2
0
    def init_album(self):
        j = self.xm.read_link(url_album % self.album_id).json()['album']
        #name
        self.album_name = j['title']
        #album logo
        self.logo = j['album_logo']
        # artist_name
        self.artist_name = j['artist_name']

        #description
        self.album_desc = j['description']

        #handle songs
        for jsong in j['songs']:
            song = Song(self.xm, song_json=jsong)
            song.group_dir = song.artist_name + u'_' + song.album_name
            song.abs_path = path.join(config.DOWNLOAD_DIR, song.group_dir,
                                      song.filename)
            self.songs.append(song)

        d = path.dirname(self.songs[-1].abs_path)
        #creating the dir
        LOG.debug(u'创建专辑目录[%s]' % d)
        util.create_dir(d)

        #download album logo images
        LOG.debug(u'下载专辑[%s]封面' % self.album_name)
        downloader.download_by_url(
            self.logo, path.join(d, 'cover.' + self.logo.split('.')[-1]))

        LOG.debug(u'保存专辑[%s]介绍' % self.album_name)
        if self.album_desc:
            self.album_desc = re.sub(r'<\s*[bB][rR]\s*/>', '\n',
                                     self.album_desc)
            self.album_desc = re.sub(r'<.*?>', '', self.album_desc)
            self.album_desc = util.decode_html(self.album_desc)
            import codecs
            with codecs.open(path.join(d, 'album_description.txt'), 'w',
                             'utf-8') as f:
                f.write(self.album_desc)
Esempio n. 3
0
    def init_album(self):
        j = self.handler.read_link(url_album % self.album_id).json()['data']['trackList']
        j_first_song = j[0]
        #name
        self.album_name = util.decode_html(j_first_song['album_name'])
        #album logo
        self.logo = j_first_song['album_pic']
        # artist_name
        self.artist_name = j_first_song['artist']

        #description
        html = self.handler.read_link(self.url).text
        soup = BeautifulSoup(html)
        self.album_desc = soup.find('span', property="v:summary").text

        #handle songs
        for jsong in j:
            song = XiamiSong(self.handler, song_json=jsong)
            song.group_dir = self.artist_name + u'_' + self.album_name
            song.post_set()
            self.songs.append(song)

        d = path.dirname(self.songs[-1].abs_path)
        #creating the dir
        LOG.debug(msg.head_xm + msg.fmt_create_album_dir % d)
        util.create_dir(d)

        #download album logo images
        LOG.debug(msg.head_xm + msg.fmt_dl_album_cover % self.album_name)
        downloader.download_by_url(self.logo, path.join(d,'cover.' +self.logo.split('.')[-1]))

        LOG.debug(msg.head_xm + msg.fmt_save_album_desc % self.album_name)
        if self.album_desc:
            self.album_desc = re.sub(r'<\s*[bB][rR]\s*/>','\n',self.album_desc)
            self.album_desc = re.sub(r'<.*?>','',self.album_desc)
            self.album_desc = util.decode_html(self.album_desc)
            import codecs
            with codecs.open(path.join(d,'album_description.txt'), 'w', 'utf-8') as f:
                f.write(self.album_desc)
Esempio n. 4
0
    def init_album(self):
        j = self.handler.read_link(url_album % self.album_id).json()['data']['trackList']
        j_first_song = j[0]
        #name
        self.album_name = util.decode_html(j_first_song['album_name'])
        #album logo
        self.logo = j_first_song['album_pic']
        # artist_name
        self.artist_name = j_first_song['artist']

        #description
        html = self.handler.read_link(self.url).text
        soup = BeautifulSoup(html)
        self.album_desc = soup.find('span', property="v:summary").text

        #handle songs
        for jsong in j:
            song = XiamiSong(self.handler, song_json=jsong)
            song.group_dir = self.artist_name + u'_' + self.album_name
            song.post_set()
            self.songs.append(song)

        d = path.dirname(self.songs[-1].abs_path)
        #creating the dir
        LOG.debug(u'[虾]创建专辑目录[%s]' % d)
        util.create_dir(d)

        #download album logo images
        LOG.debug(u'[虾]下载专辑[%s]封面'% self.album_name)
        downloader.download_by_url(self.logo, path.join(d,'cover.' +self.logo.split('.')[-1]))

        LOG.debug(u'[虾]保存专辑[%s]介绍'% self.album_name)
        if self.album_desc:
            self.album_desc = re.sub(r'<\s*[bB][rR]\s*/>','\n',self.album_desc)
            self.album_desc = re.sub(r'<.*?>','',self.album_desc)
            self.album_desc = util.decode_html(self.album_desc)
            import codecs
            with codecs.open(path.join(d,'album_description.txt'), 'w', 'utf-8') as f:
                f.write(self.album_desc)
Esempio n. 5
0
    def init_album(self):
        j = self.xm.read_link(url_album % self.album_id).json()['album']
        # name
        self.album_name = util.decode_html(j['title'])
        # album logo
        self.logo = j['album_logo']
        # artist_name
        self.artist_name = j['artist_name']

        # description
        self.album_desc = j['description']

        # handle songs
        for jsong in j['songs']:
            song = XiamiSong(self.xm, song_json=jsong)
            song.group_dir = self.artist_name + u'_' + self.album_name
            song.post_set()
            self.songs.append(song)

        d = path.dirname(self.songs[-1].abs_path)
        # creating the dir
        LOG.debug(u'创建专辑目录[%s]' % d)
        util.create_dir(d)

        # download album logo images
        LOG.debug(u'下载专辑[%s]封面' % self.album_name)
        downloader.download_by_url(
            self.logo, path.join(d, 'cover.' + self.logo.split('.')[-1]))

        LOG.debug(u'保存专辑[%s]介绍' % self.album_name)
        if self.album_desc:
            self.album_desc = re.sub(
                r'<\s*[bB][rR]\s*/>', '\n', self.album_desc)
            self.album_desc = re.sub(r'<.*?>', '', self.album_desc)
            self.album_desc = util.decode_html(self.album_desc)
            import codecs
            with codecs.open(path.join(d, 'album_description.txt'), 'w', 'utf-8') as f:
                f.write(self.album_desc)
Esempio n. 6
0
    def init_album(self):
        #album json
        js = self.handler.read_link(url_album % self.album_id).json()['album']
        #name
        self.album_name = util.decode_html(js['name'])
        #album logo
        self.logo = js['picUrl']
        # artist_name
        self.artist_name = js['artists'][0]['name']
        #handle songs
        for jsong in js['songs']:
            song = NeteaseSong(self.handler, song_json=jsong)
            song.group_dir = self.artist_name + u'_' + self.album_name
            song.post_set()
            self.songs.append(song)

        d = path.dirname(self.songs[-1].abs_path)
        #creating the dir
        LOG.debug(u'[易]创建专辑目录[%s]' % d)
        util.create_dir(d)

        #download album logo images
        LOG.debug(u'[易]下载专辑[%s]封面'% self.album_name)
        downloader.download_by_url(self.logo, path.join(d,'cover.' +self.logo.split('.')[-1]))
Esempio n. 7
0
    def init_album(self):
        # album json
        js = self.handler.read_link(url_album % self.album_id).json()["album"]
        # name
        self.album_name = util.decode_html(js["name"])
        # album logo
        self.logo = js["picUrl"]
        # artist_name
        self.artist_name = js["artists"][0]["name"]
        # handle songs
        for jsong in js["songs"]:
            song = NeteaseSong(self.handler, song_json=jsong)
            song.group_dir = self.artist_name + u"_" + self.album_name
            song.post_set()
            self.songs.append(song)

        d = path.dirname(self.songs[-1].abs_path)
        # creating the dir
        LOG.debug(msg.head_163 + msg.fmt_create_album_dir % d)
        util.create_dir(d)

        # download album logo images
        LOG.debug(msg.head_163 + msg.fmt_dl_album_cover % self.album_name)
        downloader.download_by_url(self.logo, path.join(d, "cover." + self.logo.split(".")[-1]))