Advertisement
Guest User

Untitled

a guest
May 20th, 2014
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.97 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. import MyMusic32
  4. import MyMusic46
  5.  
  6.  
  7. mm32_songsWithRating             = MyMusic32.Song.select().where(MyMusic32.Song.rating << ["1","2","3","4","5"])
  8. mm32_songsWithMusicBrainzTrackID = mm32_songsWithRating.where(MyMusic32.Song.strmusicbrainztrackid != "")
  9. mm32_songsWithNoID               = mm32_songsWithRating.where(MyMusic32.Song.strmusicbrainztrackid == "")
  10.  
  11. mm46_songsWithRating             = MyMusic46.Song.select().where(MyMusic46.Song.rating << ["1","2","3","4","5"])
  12. mm46_songsWithMusicBrainzTrackID = mm46_songsWithRating.where(MyMusic46.Song.strmusicbrainztrackid != "")
  13. mm46_songsWithNoID               = mm46_songsWithRating.where(MyMusic46.Song.strmusicbrainztrackid >> None)
  14.  
  15. duplicateIds = list()
  16. duplicateFilenames = list()
  17.  
  18. # print a summary
  19. print("MyMusic32")
  20. print("|- Songs with ratings:\t\t\t%d" % mm32_songsWithRating.count())
  21. print("   |- Songs with MusicBrainz ID:\t%d\t(will be converted automatically)" % mm32_songsWithMusicBrainzTrackID.count())
  22. print("   |- Songs with no MusicBrainz ID:\t%d\t(will only be converted if the filename is unique in the database)" % mm32_songsWithNoID.count())
  23. print()
  24.  
  25. print("MyMusic46")
  26. print("|- Songs with ratings:\t\t\t%d" % mm46_songsWithRating.count())
  27. print("   |- Songs with MusicBrainz ID:\t%d" % mm46_songsWithMusicBrainzTrackID.count())
  28. print("   |- Songs with no MusicBrainz ID:\t%d" % mm46_songsWithNoID.count())
  29. print()
  30.  
  31. #convert musicBrainz ID files
  32. for song in mm32_songsWithMusicBrainzTrackID:
  33.     toupdate = MyMusic46.Song.select().where(MyMusic46.Song.strmusicbrainztrackid == song.strmusicbrainztrackid)
  34.     if toupdate.count() > 1:
  35.         print("The MusicBrainz ID '%s' was found more than once, I will skip these songs completely..." % song.strmusicbrainztrackid)
  36.         duplicateIds.append(song.strmusicbrainztrackid)
  37.         continue
  38.  
  39.     # set ratings in new database
  40.     toupdate = toupdate.get()
  41.     if (song.rating != toupdate.rating):
  42.         print("The song '%s (%s)' will be converted..." % (song.strmusicbrainztrackid, song.strfilename))
  43.         toupdate.rating = song.rating
  44.         toupdate.save()
  45.  
  46.  
  47. #convert by filename only if the name is unique
  48. for song in mm32_songsWithNoID:
  49.     toupdate = MyMusic46.Song.select().where(MyMusic46.Song.strfilename == song.strfilename)
  50.     if toupdate.count() > 1:
  51.         print("The filename '%s' is not unique, I will skip these songs completely..." % song.strfilename)
  52.         duplicateFilenames.append(song.strfilename)
  53.         continue
  54.  
  55.     # set ratings in new database
  56.     toupdate = toupdate.get()
  57.     if (song.rating != toupdate.rating):
  58.         print("The song '%s' will be converted..." % (song.strfilename))
  59.         toupdate.rating = song.rating
  60.         toupdate.save()
  61.  
  62. print()
  63. print()
  64. print("=======")
  65. print("SUMMARY")
  66. print("=======")
  67. if (len(duplicateIds) > 0):
  68.     print("Duplicate MusicBrainz IDs, please check them manually:")
  69.     print("\n".join(duplicateIds))
  70.     print()
  71. if (len(duplicateFilenames) > 0):
  72.     print("Duplicate filenames, please check them manually:")
  73.     print("\n".join(duplicateFilenames))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement