
Filename sanitizer snippet 1
By:
waterapple on
Aug 23rd, 2012 | syntax:
Python | size: 0.94 KB | hits: 16 | expires: Never
def sanitizefilename(unsanitizedfn,debug=False):
#make safe for a filename
if debug:
print unsanitizedfn
#remove disallowed characters
filenamesubbed = re.sub('[^A-Za-z0-9 \.]+', '-', unsanitizedfn)
if debug:
print filenamesubbed
#remove duplicate underscores and spaces
filenamesubbed = re.sub("_+", "_", filenamesubbed)
if debug:
print filenamesubbed
#make sure first and last char arent spacees
filenametrim = filenamesubbed
while True:
if debug:
print filenametrim
#remove last char if its a space
if filenametrim[-1] == ' ':
filenametrim = filenametrim[:-1]
#remove first char if its a space
if filenametrim[0] == ' ':
filenametrim = filenametrim[1:]
#if first and last chars arent spaces, continue
if filenametrim[0] != ' ' and filenametrim[-1] != ' ':
fnout = filenametrim
c += 1#increment counter
if c >= 100:#if we fucked up, ignote trimming
fnout = filenamesubbed
return fnout