mcimport.py: make get-mods.sh executable (#9)

Also use the python 'with' statements for file-io.
This commit is contained in:
Stefan Sauer 2016-08-22 19:47:36 +02:00 committed by Auke Kok
parent f3803b29c1
commit bcc6a7809c

View File

@ -1,6 +1,7 @@
#!/bin/env python
import os
import stat
import sys
import logging
from block import *
@ -24,17 +25,16 @@ if os.path.exists(sys.argv[2] + "map.sqlite"):
exit(1)
if not os.path.exists(sys.argv[2] + "/world.mt"):
wo = open(sys.argv[2] + "/world.mt", "w")
with open(sys.argv[2] + "/world.mt", "w") as wo:
wo.write("backend = sqlite3\n")
wo.write("gameid = minetest\n")
wo.close()
if not os.path.exists(sys.argv[2] + "/worldmods"):
os.makedirs(sys.argv[2]+"/worldmods")
if not os.path.exists(sys.argv[2] + "/worldmods/mcimport"):
os.makedirs(sys.argv[2]+"/worldmods/mcimport")
if not os.path.exists(sys.argv[2]+"/worldmods/mcimport/init.lua"):
sn = open(sys.argv[2]+"/worldmods/mcimport/init.lua", "w")
with open(sys.argv[2]+"/worldmods/mcimport/init.lua", "w") as sn:
sn.write("-- map conversion requires a special water level\n")
sn.write("minetest.set_mapgen_params({water_level = -2})\n\n")
sn.write("-- prevent overgeneration in incomplete chunks, and allow lbms to work\n")
@ -50,10 +50,9 @@ if not os.path.exists(sys.argv[2]+"/worldmods/mcimport/init.lua"):
sn.write(" vm:update_map()\n")
sn.write("end)\n\n")
sn.close()
if not os.path.exists(sys.argv[2]+"/get-mods.sh"):
md = open(sys.argv[2]+"/get-mods.sh", "w")
path = sys.argv[2]+"/get-mods.sh"
with open(path, "w") as md:
md.write("#!/bin/sh\n")
md.write("# run this script to automatically get all the required mods\n")
md.write("cd worldmods\n")
@ -69,7 +68,8 @@ if not os.path.exists(sys.argv[2]+"/get-mods.sh"):
md.write(" echo \"Pruning: $ex\"\n")
md.write(" rm -rf $ex\n")
md.write("done\n")
md.close()
st = os.stat(path)
os.chmod(path, st.st_mode | stat.S_IXUSR)
mcmap = MCMap(sys.argv[1])
mtmap = MTMap(sys.argv[2])