i put this together to fix a bunch of files with wierd names, please
gimme feedback, i am a newbie
#!/usr/bin/env python
import os
import sys
import string
import platform
dir = sys.argv[1]
noworky = sys.argv[2]
if platform.system () == 'Linux':
uglychars = ''.join( set(string.punc tuation+' ') - set('/_.') )
else:
if platform.system () == 'Windows':#this is broken because windows
is gay with case
uglychars = ''.join( set(string.punc tuation+' ') -
set(':\\/_.') )
else:
print "wtf... what platform is this anyway?"
underscore = '_'
underscore = underscore * len(uglychars)
chars = string.maketran s(uglychars, underscore)
print "# PHASE I, DIRECTORIES"
for path, subdirs, files in os.walk(dir, topdown=True):
oldname = path
newname = oldname.transla te(chars)
newname = string.lower(ne wname)
while string.count(ne wname, "__") > 0:
newname = string.replace( newname,"__","_ ")
while string.count(ne wname, "..") > 0:
newname = string.replace( newname,"..",". ")
if oldname != newname:
if os.path.isfile( newname) or os.path.isdir(n ewname):
print oldname, "-->\n", newname, "\t\t\tERRO R: file/dir
exists\n"
else:
print oldname, "-->\n", newname, "\t\t\tYAY: file
renamed\n"
if noworky == "doit":
os.renames(oldn ame, newname)
print "# PHASE II, FILES"
for path, subdirs, files in os.walk(dir, topdown=True):
for oldname in files:
oldname = os.path.join(pa th, oldname)
newname = oldname.transla te(chars)
newname = string.lower(ne wname)
newname = string.replace( newname,".mpeg" ,".mpg")
newname = string.replace( newname,".ram", ".rm")
newname = string.replace( newname,".jpeg" ,".jpg")
newname = string.replace( newname,".qt"," .mov")
while string.count(ne wname, "__") > 0:
newname = string.replace( newname,"__","_ ")
while string.count(ne wname, "..") > 0:
newname = string.replace( newname,"..",". ")
newname = string.replace( newname,"._","_ ")
newname = string.replace( newname,"_.",". ")
if oldname != newname:
if os.path.isfile( newname) or os.path.isdir(n ewname):
print oldname, "-->\n", newname, "\t\t\tERRO R: file/dir
exists\n"
else:
print oldname, "-->\n", newname, "\t\t\tYAY: file
renamed\n"
if noworky == "doit":
os.renames(oldn ame, newname)
gimme feedback, i am a newbie
#!/usr/bin/env python
import os
import sys
import string
import platform
dir = sys.argv[1]
noworky = sys.argv[2]
if platform.system () == 'Linux':
uglychars = ''.join( set(string.punc tuation+' ') - set('/_.') )
else:
if platform.system () == 'Windows':#this is broken because windows
is gay with case
uglychars = ''.join( set(string.punc tuation+' ') -
set(':\\/_.') )
else:
print "wtf... what platform is this anyway?"
underscore = '_'
underscore = underscore * len(uglychars)
chars = string.maketran s(uglychars, underscore)
print "# PHASE I, DIRECTORIES"
for path, subdirs, files in os.walk(dir, topdown=True):
oldname = path
newname = oldname.transla te(chars)
newname = string.lower(ne wname)
while string.count(ne wname, "__") > 0:
newname = string.replace( newname,"__","_ ")
while string.count(ne wname, "..") > 0:
newname = string.replace( newname,"..",". ")
if oldname != newname:
if os.path.isfile( newname) or os.path.isdir(n ewname):
print oldname, "-->\n", newname, "\t\t\tERRO R: file/dir
exists\n"
else:
print oldname, "-->\n", newname, "\t\t\tYAY: file
renamed\n"
if noworky == "doit":
os.renames(oldn ame, newname)
print "# PHASE II, FILES"
for path, subdirs, files in os.walk(dir, topdown=True):
for oldname in files:
oldname = os.path.join(pa th, oldname)
newname = oldname.transla te(chars)
newname = string.lower(ne wname)
newname = string.replace( newname,".mpeg" ,".mpg")
newname = string.replace( newname,".ram", ".rm")
newname = string.replace( newname,".jpeg" ,".jpg")
newname = string.replace( newname,".qt"," .mov")
while string.count(ne wname, "__") > 0:
newname = string.replace( newname,"__","_ ")
while string.count(ne wname, "..") > 0:
newname = string.replace( newname,"..",". ")
newname = string.replace( newname,"._","_ ")
newname = string.replace( newname,"_.",". ")
if oldname != newname:
if os.path.isfile( newname) or os.path.isdir(n ewname):
print oldname, "-->\n", newname, "\t\t\tERRO R: file/dir
exists\n"
else:
print oldname, "-->\n", newname, "\t\t\tYAY: file
renamed\n"
if noworky == "doit":
os.renames(oldn ame, newname)
Comment