Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os, sys
- from random import randint
- import ctypes
- def decrypt_lf2(edata):
- key="odBearBecauseHeIsVeryGoodSiuHungIsAGo";pos=0;ddata=''
- for a in range(123, len(edata)-1):
- try:
- ddata+=chr(ord(edata[a])-ord(key[pos]))
- except ValueError:
- pass
- pos+=1
- if pos==len(key):
- pos=0
- return ddata
- def encrypt_lf2(ddata):
- key="odBearBecauseHeIsVeryGoodSiuHungIsAGo"
- pos=0
- edata=''
- for a in range(0, len(ddata)-1):
- edata+=chr(ord(ddata[a])+ord(key[pos]))
- pos+=1
- if pos==len(key):
- pos=0
- return (" "*123)+edata
- ctypes.windll.kernel32.SetConsoleTitleA("A-WAV Name Surgeon")
- fns=[]
- if "data" not in os.listdir(os.getcwd()):
- os.system("color 0C")
- raw_input("#Place this next to your LF2 exe. Could not locate the \'data\' folder!")
- else:
- os.system("color 0A")
- for a in os.listdir(os.getcwd()+"\\data"):
- if a.endswith(".dat"): fns.append("data\\"+a)
- x=lambda y: decrypt_lf2(open(y).read())
- mode = None
- while mode == None:
- a = raw_input("Enter 0 to have me generate new names for you. \nEnter 1 if you'd like to set new names yourself. >> ")
- if a in ["1", "0"]:
- mode = int(a)
- break
- sound_files = {}
- for datfile in fns:
- dft = x(datfile)
- last_pos = dft.find("sound:")
- print "###Currently operating on: " + datfile
- while last_pos != -1:
- wavname = dft[dft.find("sound:", last_pos+1)+6:dft.find("\n", dft.find("sound:", last_pos+1)+10)]
- wavname = wavname.rstrip(" ")
- wavname = wavname.rstrip("\"")
- wavname = wavname.lstrip(" ")
- wavname = wavname.lstrip("\"")
- loc = wavname[:wavname.rfind("\\") + 1]
- name = wavname[wavname.rfind("\\") + 1:]
- if len(wavname) > 20:
- print "#Checking " + wavname
- if wavname in sound_files.keys():
- new_name = sound_files[wavname]
- else:
- if mode == 0:
- while True:
- new_name = ["abcdefghijklmnopqrstuvwxyz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ"][randint(0,1)][randint(0,25)]+str(randint(0,9))+".wav"
- if loc+new_name not in sound_files.keys():
- break;
- else:
- new_name = raw_input(name + " name is too long. \nEnter a shorter name>> ")
- while True:
- if len(new_name + loc) > 20 and loc+new_name not in sound_files.keys():
- break
- elif len(new_name + loc) > 20:
- new_name = raw_input("Name is still too long. Please write another>> ")
- else:
- new_name = raw_input("Name conflict. Please write another>> ")
- try:
- os.rename(wavname, loc+new_name)
- except WindowsError:
- print "Warning: File " + wavname + " could not be located"
- sound_files[wavname] = new_name
- while dft.find(wavname) != -1:
- dft = dft.replace(wavname, loc+new_name)
- new_dft = encrypt_lf2(dft)
- #write to new data
- datfile_obj = open(datfile, "w")
- datfile_obj.write(new_dft)
- datfile_obj.close()
- last_pos = dft.find("sound:", last_pos+1)
- raw_input("\n----All is done and ready!----")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement