Don't like ads? PRO users don't see any ads ;-)
Guest

Filename sanitizer snippet 1

By: waterapple on Aug 23rd, 2012  |  syntax: Python  |  size: 0.94 KB  |  hits: 16  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. def sanitizefilename(unsanitizedfn,debug=False):
  2.         #make safe for a filename
  3.         if debug:
  4.                 print unsanitizedfn
  5.         #remove disallowed characters
  6.         filenamesubbed = re.sub('[^A-Za-z0-9 \.]+', '-', unsanitizedfn)
  7.         if debug:
  8.                 print filenamesubbed
  9.         #remove duplicate underscores and spaces
  10.         filenamesubbed = re.sub("_+", "_", filenamesubbed)
  11.         if debug:
  12.                 print filenamesubbed
  13.         #make sure first and last char arent spacees
  14.         filenametrim = filenamesubbed
  15.         while True:
  16.                 if debug:
  17.                         print filenametrim
  18.                 #remove last char if its a space
  19.                 if filenametrim[-1] == ' ':
  20.                         filenametrim = filenametrim[:-1]
  21.                 #remove first char if its a space
  22.                 if filenametrim[0] == ' ':
  23.                         filenametrim = filenametrim[1:]
  24.                 #if first and last chars arent spaces, continue
  25.                 if filenametrim[0] != ' ' and filenametrim[-1] != ' ':
  26.                         fnout = filenametrim
  27.                 c += 1#increment counter
  28.                 if c >= 100:#if we fucked up, ignote trimming
  29.                         fnout = filenamesubbed
  30.         return fnout