rewrote to work based on command line arguments [Sorry, @Jakob.]
parent
474136551f
commit
0f09f9571a
|
@ -1,41 +1,29 @@
|
|||
#!/usr/bin/python2
|
||||
|
||||
print """
|
||||
Variable Grabbler - version 1.9
|
||||
Variable Grabbler - version 2.0
|
||||
-------------------------------"""
|
||||
|
||||
# definitions
|
||||
import os, json, fnmatch
|
||||
import os, json, sys
|
||||
|
||||
dir = os.path.dirname(os.path.abspath(__file__))
|
||||
file_name_pattern = "*.{php,html}"
|
||||
if not len(sys.argv)==3:
|
||||
print >> sys.stderr, "Error: Exactly two arguments required: \"python variable_grabbler.py <file to be rewritten> <config file>\""
|
||||
sys.exit(1)
|
||||
|
||||
print "Reading config file...",
|
||||
config = open("variable_grabbler.cfg","r")
|
||||
config = open(sys.argv[2],"r")
|
||||
parsed = json.loads(config.read().decode("utf-8"))
|
||||
config.close()
|
||||
print "Done."
|
||||
|
||||
print "Working on files:",
|
||||
print "Working on file: "+sys.argv[1]
|
||||
for x in parsed:
|
||||
print "\n["+x+"]:",
|
||||
for path, dirs, files in os.walk(dir):
|
||||
printed_path = False
|
||||
for file_name in fnmatch.filter(files, file_name_pattern):
|
||||
file_path = os.path.join(path, file_name)
|
||||
|
||||
if not printed_path:
|
||||
print "\n"+path+" >",
|
||||
printed_path = True
|
||||
print file_name,
|
||||
|
||||
file_in = open(file_path, "r")
|
||||
file_content = file_in.read()
|
||||
file_in.close()
|
||||
|
||||
file_content = file_content.decode('utf-8').replace("%" + x + "%", parsed[x]).encode('utf-8')
|
||||
|
||||
file_out = open(file_path, "w")
|
||||
file_out.write(file_content)
|
||||
file_out.close()
|
||||
print x,
|
||||
file_in = open(sys.argv[1], "r")
|
||||
file_content = file_in.read()
|
||||
file_in.close()
|
||||
file_out = open(file_path, "w")
|
||||
file_out.write(file_content.decode('utf-8').replace("%" + x + "%", parsed[x]).encode('utf-8'))
|
||||
file_out.close()
|
||||
print "\nDone."
|
||||
|
|
Loading…
Reference in New Issue