Advertisement
calscks

script.py

Nov 14th, 2017
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.99 KB | None | 0 0
  1. import os
  2. import sys
  3. from xml.dom import minidom
  4.  
  5. tmpl = open("templates.ini", "ab+")
  6.  
  7. strmph = "All|Female|HumanRace="  # default human female race
  8. if os.path.isfile("morphs.ini"):
  9.     mph = open("morphs.ini", "ab+")
  10. else:
  11.     mph = open("morphs.ini", "wb+")
  12.     if len(sys.argv) >= 4:
  13.         strmph = str(sys.argv[3]) + "="
  14.     mph.write(strmph.encode())
  15.  
  16. if len(sys.argv) >= 2:
  17.     doc = minidom.parse(str(sys.argv[1]))
  18.     presetList = doc.getElementsByTagName('Preset')
  19.  
  20.     dev = 0
  21.     if len(sys.argv) >= 3:
  22.         dev = float(sys.argv[2])
  23.  
  24.     size = "big"
  25.     if len(sys.argv) >= 5:
  26.         size = str(sys.argv[4])
  27.     for preset in presetList:
  28.  
  29.         sys.stdout.write(preset.getAttribute('name') + "=")
  30.         tmpl.write(str(preset.getAttribute('name') + "=").encode())
  31.         mph.seek(-1, 2)
  32.         if mph.read().decode() != "=":
  33.             mph.write("|".encode())
  34.         mph.write(str(preset.getAttribute('name')).encode())
  35.         sliderList = preset.getElementsByTagName('SetSlider')
  36.  
  37.         for slider in sliderList:
  38.             if size != slider.getAttribute('size'):
  39.                 continue
  40.  
  41.             name = slider.getAttribute('name')
  42.             value = float(slider.getAttribute('value')) / 100
  43.  
  44.             v1 = value
  45.             v2 = value
  46.             if dev != 0:
  47.                 v1 = value - (value * dev) / 100
  48.                 v2 = value + (value * dev) / 100
  49.  
  50.             if v1 == v2:
  51.                 sys.stdout.write('{}@{}'.format(name, value))
  52.                 tmpl.write('{}@{}'.format(name, value).encode('utf-8'))
  53.             else:
  54.                 sys.stdout.write('{}@{}:{}'.format(name, v1, v2))
  55.                 tmpl.write('{}@{}:{}'.format(name, v1, v2).encode('utf-8'))
  56.  
  57.             if slider != sliderList[-1]:
  58.                 sys.stdout.write(', ')
  59.                 tmpl.write(', '.encode('utf-8'))
  60.             else:
  61.                 sys.stdout.write('\n')
  62.                 tmpl.write('\n'.encode('utf-8'))
  63. tmpl.close()
  64. mph.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement