This is a script for moving one set dirs into another, be very careful you can make mistakes very easily with it!
git-svn-id: svn+ssh://svn.code.sf.net/p/crossfire/code/trunk/arch@1483 282e977c-c81d-0410-88c4-b93c2d0d6712master
parent
0221ad86c4
commit
e3b2b86922
|
@ -0,0 +1,84 @@
|
|||
import os.path,sys,re,string
|
||||
|
||||
reverse_map = {}
|
||||
filenames = []
|
||||
reverse_map2 = {}
|
||||
filenames2 = []
|
||||
|
||||
|
||||
matcher = re.compile("\..*")
|
||||
|
||||
def foreachimage(arg, dirname, names):
|
||||
#print dirname, ":"
|
||||
global filenames
|
||||
|
||||
for n in names[:]: # don't touch dot files
|
||||
if matcher.match(n):
|
||||
names.remove(n)
|
||||
|
||||
kill_list = ['CVS', 'README', 'dev', 'unused', 'obsolete', 'retired']
|
||||
for i in kill_list:
|
||||
try: names.remove(i)
|
||||
except: pass
|
||||
|
||||
#print names
|
||||
for n in names:
|
||||
fname = os.path.join(dirname,n)
|
||||
#print "'%s'" % fname
|
||||
if os.path.isfile(fname) and re.match(".*\.png", fname):
|
||||
global reverse_map
|
||||
#if(reverse_map.has_key(n)):
|
||||
#print "duplicate: ", fname
|
||||
reverse_map[n] = dirname
|
||||
#print "\t", fname
|
||||
filenames.append(n)
|
||||
|
||||
|
||||
os.path.walk(sys.argv[1], foreachimage, "")
|
||||
|
||||
def foreachotherimage(arg, dirname, names2):
|
||||
#print dirname, ":"
|
||||
global filenames2
|
||||
|
||||
for n in names2[:]: # don't touch dot files
|
||||
if matcher.match(n):
|
||||
names2.remove(n)
|
||||
|
||||
kill_list = ['CVS', 'README', 'dev', 'unused', 'obsolete', 'retired']
|
||||
for i in kill_list:
|
||||
try: names2.remove(i)
|
||||
except: pass
|
||||
|
||||
#print names2
|
||||
for n in names2:
|
||||
fname = os.path.join(dirname,n)
|
||||
#print "'%s'" % fname
|
||||
if os.path.isfile(fname) and re.match(".*\.png", fname):
|
||||
global reverse_map2
|
||||
#if(reverse_map2.has_key(n)):
|
||||
#print "duplicate: ", fname
|
||||
reverse_map2[n] = dirname
|
||||
filenames2.append(n)
|
||||
#print "\t", fname
|
||||
|
||||
os.path.walk(sys.argv[2], foreachotherimage, "")
|
||||
for n in filenames:
|
||||
if(reverse_map2.has_key(n)):
|
||||
newname = re.match("(^.*\.)(.*\.)(png)", n)
|
||||
if not newname:
|
||||
print "error: n doesn't match"
|
||||
if newname:
|
||||
#print newname.group(1)
|
||||
#print newname.group(0)
|
||||
newname = newname.group(1) + sys.argv[3] + "." + newname.group(2) + newname.group(3)
|
||||
#print newname
|
||||
#newname = n[:-8]
|
||||
#newname = newname +sys.argv[3]+n[-8:-4]+".png"
|
||||
command = "mv %s %s" % (os.path.join(reverse_map2[n], n)
|
||||
, os.path.join(reverse_map[n], newname))
|
||||
print command
|
||||
#os.system(command)
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue