12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- #This was written for the 501st Starsim unit in Arma3
- #For faster mission integration with mission scripts
- #Written by CC Klein copyright 2018
- #Authors email: ethan.leas@gmail.com
- import os
- import subprocess
- from distutils.dir_util import *
- from distutils.file_util import *
- def isDir(dir):
- return os.path.isdir(dir)
- def pathName(dir, rPath):
- return os.path.join(dir, rPath)
- def listDir(dir):
- return os.listdir(dir)
- #Creating String values for Directory Structure
- dir = os.path.dirname(__file__)
- root_dir = pathName(dir, '../../')
- filename = pathName(dir, '../../Missions/')
- tmp_file = filename+"Temp/"
- script_files = pathName(dir, '../../Scripts/')
- mission_files = listDir(filename)
- pbo_tool_files = pathName(dir, '../../Util/Tools/')
- pbo_tool = pbo_tool_files+"MakePbo.exe"
- #For each mission folder in mission_files copy them to
- #tmp dir then copy scripts into mission tmp dir
- for name in mission_files:
- if name.endswith('.txt') == False and name != 'Temp' and name.endswith('.pbo') == False:
- print(name)
- src_dir = filename+name
- tmp_dir = tmp_file+name
- mkpath(tmp_dir)
- copy_tree(src_dir, tmp_dir)
- copy_tree(script_files, tmp_dir)
- subprocess.call([pbo_tool, "-PN",tmp_dir])
- #Get list of tmp dir after being populated
- pbo_files = listDir(tmp_file)
- pbo_dir = root_dir+"Pbo Files/"
- #If pbo dir does not exist create it
- #else delete it then create it
- if isDir(pbo_dir) == False:
- mkpath(pbo_dir)
- else:
- remove_tree(pbo_dir)
- mkpath(pbo_dir)
-
- #For each listing in tmp dir filter out .pbo files for copy
- for name in pbo_files:
- if name.endswith('.pbo') == True:
- src_file = tmp_file+name
- move_file(src_file, pbo_dir)
-
- #Cleanup
- #If temp dir exists delete
- if isDir(tmp_file) == True:
- remove_tree(tmp_file)
|