Advertisement
here2share

Grip_MP3_Renamer.py

May 4th, 2015
406
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.24 KB | None | 0 0
  1. # Grip_MP3_Renamer.py >>> I may soon write a similar version even easier to understand while creating a temp folder so we can select which mp3 files, by reference, not edit much faster.
  2.  
  3. """
  4.  Grips MP3 Renamer (GMR)
  5.  
  6.  Author: Daniel P. Clark.
  7.  
  8.  2-11-2002
  9.  STABLE 0.0.1
  10. """
  11.  
  12. # I wrote this because I had already copied a bunch of cds to my computer with grip
  13. # and the files were all just the song name, in lower case, without spaces, and in directories
  14. # for the band name, then the albumn
  15. #
  16. # this script right here will take the band name directory (which is 2 levels up from mp3)
  17. # and put it on the front of the mp3, replacing all underscores with spaces, and capitalizing each word
  18.  
  19. import os, sys, string
  20.  
  21.  
  22. # USER MUST DEFINE BASE OF MP3 TREE, EXACTLY 2 DIRECTORIES DOWN FROM MP3 DIRS
  23. # e.g. /usr/media/mp3/cd/artist/albumn/mp3s.mp3
  24. #    you would use for base dir /usr/media/mp3/cd/
  25.  
  26. BASE = "/usr/media/mp3/cd/"
  27. FILEEXT = ".mp3"
  28.  
  29. def main():
  30.         AUTORENAME = 0
  31.         if "-a" in sys.argv[1:] or "-auto" in sys.argv[1:]:
  32.                 AUTORENAME = 1
  33.         os.system("clear")
  34.         print "Grips MP3 Renamer (ver 0.0.1)"
  35.         print "Author: Daniel P. Clark"
  36.         print
  37.         os.chdir(BASE)
  38.         LSTDIR2 = os.listdir(".")
  39.         for x in range(len(LSTDIR2)):
  40.                 if os.path.isdir(os.path.abspath(".")+os.sep+LSTDIR2[x]):
  41.                         os.chdir(os.path.abspath(".")+os.sep+LSTDIR2[x])
  42.                         LSTDIR3 = os.listdir(".")
  43.                         for y in range(len(LSTDIR3)): # gets to the mp3s here
  44.                                 if os.path.isdir(os.path.abspath(".")+os.sep+LSTDIR3[y]):
  45.                                         os.chdir(os.path.abspath(".")+os.sep+LSTDIR3[y])
  46.                                         CDL = os.listdir(".") # Current Directory List
  47.                                         OCDL = CDL[:] # for old file name
  48.                                         ABSP = os.path.abspath(".") # Absolute Path
  49.                                         ABSPL = string.split(ABSP, os.sep)[1:] # list of path dir names
  50.                                         ABSPL[-2] = string.replace(ABSPL[-2], "_", " ") # for band name (replaces underscore with space)
  51.                                         for z in range(len(CDL)):
  52.                                                 NR = 0
  53.                                                 if string.find(CDL[z], " ") == -1 and string.lower(CDL[z][-4:]) == FILEEXT: # if the file does not have a space in its name, and is FILE wanted
  54.                                                         CDL[z] = string.replace(CDL[z], "_", " ") # replace all underscores with spaces
  55.                                                         NFN = ABSPL[-2] + " - " + CDL[z] # new file name
  56.                                                         NFN = string.capwords(NFN)
  57.                                                         print string.center("***Renaming***",79)
  58.                                                         print "From:\t| "+OCDL[z]+" |\n  To:\t| "+NFN+" |\n(y/n a/auto q/quit t/type)\nContinue? ",
  59.                                                         if not AUTORENAME:
  60.                                                                 Prompt = raw_input()
  61.                                                         else:
  62.                                                                 Prompt = "y"
  63.                                                         if string.lower(Prompt) in ("t", "type"): # type the full file name manually
  64.                                                                 NFN = raw_input("Please enter full file name: ")
  65.                                                                 Prompt = "y"
  66.                                                         if string.lower(Prompt) in ("y", "yes"):
  67.                                                                 os.rename(OCDL[z],NFN) # rename original file to new file name
  68.                                                                 print "DONE!\n"
  69.                                                         elif string.lower(Prompt) in ("n", "no"):
  70.                                                                 pass
  71.                                                                 NR = 1
  72.                                                         elif string.lower(Prompt) in ("a", "auto"):
  73.                                                                 AUTORENAME = 1
  74.                                                         elif string.lower(Prompt) in ("q", "quit"):
  75.                                                                 sys.exit()
  76.                                                         else:
  77.                                                                 NR = 1
  78.                                                         if not NR:
  79.                                                                 print "\""+OCDL[z]+"\" was succesfully renamed to\n", NFN
  80.                                                         else:
  81.                                                                 print OCDL[z], "was NOT renamed!"
  82.                                                         print
  83.                                         os.chdir("..")
  84.                         os.chdir("..")
  85.  
  86.  
  87. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement