Browse Source
subgametest is a lightweight subgame for testing mods, with some extras for helping with development.master
poikilos
8 years ago
committed by
Jacob Gustafson
1 changed files with 172 additions and 0 deletions
@ -0,0 +1,172 @@ |
|||
#!/usr/bin/env python |
|||
|
|||
#region options |
|||
force_update_mtg_enable = False # first delete subgametest then remake |
|||
#endregion options |
|||
|
|||
try: |
|||
input = raw_input |
|||
except NameError: |
|||
pass |
|||
|
|||
try: |
|||
from git import Repo |
|||
except: |
|||
print("You do not have temperusb installed.\n" |
|||
"Please run the following commands in terminal\n" |
|||
" (if in Windows first cd C:\Python27 [or your Python folder],\n" |
|||
" but if in *nix-like environment first \"sudo su -\"\n" |
|||
" then if no pip, install python-pip/python2-pip/python3-pip" |
|||
"python -m pip install --upgrade pip\n" |
|||
"python -m pip install --upgrade pip wheel\n" |
|||
"python -m pip install gitpython\n") |
|||
#Possible commands: |
|||
# pkg install -y python3-pip python2-pip |
|||
# apt-get install -y python3-pip python2-pip |
|||
# pacman -Syuu python2-pip python-pip |
|||
#("Passing two --refresh or -y flags forces pacman to refresh |
|||
# all package lists even if they are considered to be up to |
|||
# date.") |
|||
print("") |
|||
input("press enter to close...") |
|||
exit(1) |
|||
|
|||
|
|||
import os |
|||
import shutil |
|||
import sys |
|||
from winclient.forwardfilesync import * |
|||
|
|||
profile_path = None |
|||
if 'HOME' in os.environ: # if os_name=="windows": |
|||
profile_path = os.environ['HOME'] |
|||
else: |
|||
profile_path = os.environ['USERPROFILE'] |
|||
|
|||
if not os.path.isdir(profile_path): |
|||
print("") |
|||
print("Failed to get existing home path--tried HOME & USERPROFILE") |
|||
print("") |
|||
input("press enter to close") |
|||
exit(2) |
|||
|
|||
USR_SHARE_MINETEST="/usr/share/games/minetest" |
|||
if not os.path.isdir(USR_SHARE_MINETEST): |
|||
if os.path.isdir("/usr/local/share/minetest"): |
|||
#IF git version is installed: |
|||
USR_SHARE_MINETEST="/usr/local/share/minetest" |
|||
if os.path.isdir("/usr/share/minetest"): |
|||
USR_SHARE_MINETEST="/usr/share/minetest" |
|||
|
|||
if not os.path.isdir(USR_SHARE_MINETEST): |
|||
print("Minetest could not be found in any known location. Try installing minetest or compiling from source or editing value of USR_SHARE_MINETEST in this script. Script ended early.") |
|||
input("press enter to close...") |
|||
exit(3) |
|||
|
|||
|
|||
MT_GAMES_DIR = os.path.join(USR_SHARE_MINETEST,"games") |
|||
MT_MYGAME_NAME = "subgametest" |
|||
MT_MYGAME_DIR=os.path.join(MT_GAMES_DIR,MT_MYGAME_NAME) |
|||
|
|||
folder_path = os.path.join(MT_GAMES_DIR, "minetest_game") |
|||
|
|||
if not os.path.isdir(folder_path): |
|||
print("Could not find \"" + folder_path + "\". Script ended early.") |
|||
input("press enter to close...") |
|||
exit(4) |
|||
|
|||
if force_update_mtg_enable: |
|||
shutil.rmtree(MT_MYGAME_DIR) |
|||
|
|||
#yes | cp -rf $MT_GAMES_DIR/minetest_game/* MT_MYGAME_DIR" |
|||
#sudo rsync -a $MT_GAMES_DIR/minetest_game/* MT_MYGAME_DIR" |
|||
|
|||
try: |
|||
#DOES update minetest_game, but does NOT delete extra mods: |
|||
update_tree(folder_path, MT_MYGAME_DIR) |
|||
print("Updated \"" + MT_MYGAME_DIR + "\"...") |
|||
except: |
|||
print(str(sys.exc_info())) |
|||
print("") |
|||
print("You must run " + __file__ + " as a user that can write to " |
|||
"\"" + MT_MYGAME_DIR + "\"") |
|||
print("") |
|||
input("press enter to close...") |
|||
exit(5) |
|||
|
|||
try: |
|||
#cd $HOME |
|||
#tmp_game_conf_path = os.path.join(profile_path, "game.conf") |
|||
outs = open(os.path.join(MT_MYGAME_DIR, "game.conf"), 'w') |
|||
outs.write("name = subgametest") |
|||
outs.close() |
|||
except: |
|||
print(str(sys.exc_info())) |
|||
print("") |
|||
print("You must run " + __file__ + " as a user that can write to " |
|||
"\"" + MT_MYGAME_DIR + "\"") |
|||
print("") |
|||
input("press enter to close...") |
|||
exit(6) |
|||
#cmd_string = "sudo mv -f game.conf \MT_MYGAME_DIR\"" |
|||
#shutil.move(tmp_game_conf_path, os.path.join(MT_MYGAME_DIR, "game.conf")) |
|||
|
|||
if os.path.isdir(os.path.join(MT_MYGAME_DIR,"mods")): |
|||
print("Copied subgame to " + MT_MYGAME_DIR) |
|||
else: |
|||
print("FAILED to copy subgame to " + MT_MYGAME_DIR) |
|||
input("press enter to close...") |
|||
exit(7) |
|||
|
|||
|
|||
MT_MYGAME_MODS_PATH = os.path.join(MT_MYGAME_DIR,"mods") |
|||
MTMOD_DEST_NAME = "minigamer" |
|||
MTMOD_DEST_PATH = os.path.join(MT_MYGAME_MODS_PATH, MTMOD_DEST_NAME) |
|||
|
|||
#if force_update_mtg_mods_enable: |
|||
# for sub_name in os.listdir(folder_path): |
|||
# sub_path = os.path.join(folder_path, sub_name) |
|||
# dst_path = os.path.join(MT_MYGAME_DIR, sub_name) |
|||
# if sub_name[:1]!="." and os.path.isdir(sub_path): |
|||
# if os.path.isdir(dst_path): |
|||
# shutil.rmtree(dst_path) |
|||
|
|||
|
|||
if not os.path.isdir(os.path.join(profile_path,"Downloads")): |
|||
os.makedirs(os.path.join(profile_path,"Downloads")) |
|||
|
|||
if not os.path.isdir(os.path.join(profile_path,"Downloads")): |
|||
print("Cannot create " + os.path.join(profile_path,"Downloads") + " so cannot continue.") |
|||
input("press enter to close...") |
|||
exit(8) |
|||
|
|||
mods_installed_list = list() |
|||
|
|||
TMP_DIR=os.path.join(os.path.join(profile_path,"Downloads"),"minetest-mods") |
|||
|
|||
if not os.path.isdir(TMP_DIR): |
|||
os.makedirs(TMP_DIR) |
|||
|
|||
if not os.path.isdir(TMP_DIR): |
|||
print("Cannot create " + TMP_DIR + " so cannot continue.") |
|||
input("press enter to close...") |
|||
exit(9) |
|||
|
|||
|
|||
print("") |
|||
print("") |
|||
print("Installed " + str(len(mods_installed_list)) + " mod(s).") |
|||
print("") |
|||
input("press enter to close...") |
|||
#cd $TMP_DIR |
|||
#git clone https://github.com/tenplus1/mobs_redo.git |
|||
#git clone https://github.com/tenplus1/mobs_animal.git |
|||
#git clone https://github.com/tenplus1/mobs_monster.git |
|||
#git clone https://github.com/tenplus1/mobs_npc.git |
|||
#but not: |
|||
#git clone https://github.com/expertmm/minetest-minigamer.git |
|||
#git clone https://github.com/expertmm/minetest-birthstones.git |
|||
|
|||
#Repo.clone_from(git_url, repo_dir) |
|||
|
|||
|
Loading…
Reference in new issue