lchloride / NeteaseMusicCacheDecode

This project is used to decode music cache file from Netease Music.
24 stars 10 forks source link

A rename python function for Ubuntu #9

Closed leondgarse closed 5 years ago

leondgarse commented 5 years ago

Hi,

很不错的程序,尤其是解密的部分 :D

写了一个小程序,用于将 Ubuntu 上网易云音乐的缓存文件重命名成真实的名字,看看能不能用上

From: source path/<song id>-<bite size>-<random number>.mp3
To: dist path/<artist name> - <song title>.mp3

在 Ubuntu 上使用网易云音乐的客户端,其缓存直接是 mp3 文件,缓存在 ~/.cache/netease-cloud-music/CachedSongs/

$ ls ~/.cache/netease-cloud-music/CachedSongs/ -1
1609689-320-b70d1d38edd3f443bc503f592fc440ed.mp3
25638306-320-3d42ddad5384518bbbf8bc68fff4cdfa.mp3
4254253-128-1fb4ae7055ea4ceb36862f6228e61aa4.mp3
441116287-128-0d15579de47acbe4c8177e54ba43bf4b.mp3

因此主要需要的是重命名,使用如下

$ python netease_rename.py 
source = /home/leondgarse/.cache/netease-cloud-music/CachedSongs, dist = /home/leondgarse/output_music
song_id = 25638306, tt.tag title = ありがとう…, artist = KOKIA, album = ありがとう…, album_artist = KOKIA
song_id = 441116287, tt.tag title = 茜さす, artist = Aimer, album = 茜さす/everlasting snow, album_artist = Aimer
song_id = 4254253, tt.tag title = Mustang cabriolet, artist = Paris Brune, album = L’œil du cyclone, album_artist = Paris Brune
song_id = 1609689, tt.tag title = Vale Of Tears, artist = Jay Clifford, album = Silver Tomb For The Kingfisher, album_artist = Jay Clifford

输出

$ ls ~/output_music/ -1
'Aimer - 茜さす.mp3'
'Jay Clifford - Vale Of Tears.mp3'
'KOKIA - ありがとう….mp3'
'Paris Brune - Mustang cabriolet.mp3'

参数

依赖

lchloride commented 5 years ago

Hi,

很高兴您对这样一个小项目感兴趣。

我看了您的代码,实现上没有什么大问题。只是有两点改进想和您沟通一下:

  1. 如果用户指定的文件不是按照标准命名的(也就是使用‘-’对字符串无法拆分的或者是musicID中包含奇怪的字符的),显示一个提示。这样提示比现在抛出异常要友好些;

  2. 使用os.rename()会将原始缓存文件“删除”,个人觉得保留原文件,复制一个副本出来比较好。

另外,文档中最后的依赖部分除了eyed3还有requests,需要注明。音乐格式中的“bite size“改为”bit rate“更好。

如果可能的话,您可以在cmd目录下新建一个目录来放您的程序和说明文档。您的程序可以作为一个独立的部分出来。

无论您是否修改,请记得回复我一下,我会将它merge进来。

leondgarse commented 5 years ago

Hi,

很好的改进建议,重新上传了一个版本

脚本文件的改动

具体怎么用,要不要使用还是取决于项目的需要 :)

lchloride commented 5 years ago

嗯,挺好的,我会在主文档中添加相应的说明,感谢您的支持。