Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """Fixes blur and distance issues for Kurst SWF Renderer in all XML files exported by JPEXS in the current directory, or specific XML files."""
- # Usage: python rescale.py [-s scale] [files...]
- __author__ = "nagi123"
- __version__ = "1.0"
- __date__ = "November 10, 2017"
- import os
- import re
- import sys
- from glob import glob
- def rescale(filename, scale):
- if not os.path.exists(filename):
- return False
- with open(filename) as file:
- lines = file.readlines()
- affected = False
- with open(filename, "w") as file:
- for line in lines:
- blur = 'blurX="(\d+\.\d+)" blurY="(\d+\.\d+)"'
- distance = 'distance="(\d+\.\d+)"'
- if re.search(blur, line) or re.search(distance, line):
- affected = True
- line = re.sub(blur, lambda m: 'blurX="' + str(float(m.group(1)) * scale) + '" blurY="' + str(float(m.group(2)) * scale) + '"', line)
- line = re.sub(distance, lambda m: 'distance="' + str(float(m.group(1)) * scale) + '"', line)
- file.write(line)
- return affected
- if __name__ == "__main__":
- i = 1
- if len(sys.argv) > 1:
- if sys.argv[1] == "-s":
- if len(sys.argv) > 2:
- try:
- scale = float(sys.argv[2])
- except ValueError:
- print "Invalid scale argument - must be floating-point number."
- sys.exit(1)
- i = 3
- else:
- print "Invalid usage."
- print "Usage: python rescale.py [-s scale] [files...]"
- sys.exit(1)
- else:
- scale = raw_input("Enter scale value: ")
- try:
- scale = float(scale)
- except ValueError:
- print "Invalid scale value - must be floating-point number."
- sys.exit(1)
- filenames = sys.argv[i:] or glob("*.xml")
- affected = []
- for filename in filenames:
- if rescale(filename, scale):
- affected.append(filename)
- if affected:
- if len(affected) == 1:
- print "1 file affected."
- else:
- print str(len(affected)) + " files affected."
- else:
- print "No files affected."
- sys.exit(0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement