1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
#!/usr/bin/env python3
import sys
import json
def find_module(submodules, name):
for item in submodules:
if item["name"] == name:
return item
print("Not found")
sys.exit(1)
if len(sys.argv) < 3:
print("Usage: versions.py <path to SUBMODULES.json> <command>")
sys.exit(1)
CONFIG_FILE = sys.argv[1]
command = sys.argv[2]
submodules = json.load(open(CONFIG_FILE))
if command == "get-rev":
mod = find_module(submodules, sys.argv[3])
print(mod["rev"])
elif command == "get-url":
mod = find_module(submodules, sys.argv[3])
print(mod["url"])
elif command == "get-dir":
mod = find_module(submodules, sys.argv[3])
print(mod["directory"])
elif command == "get-remote-branch":
mod = find_module(submodules, sys.argv[3])
print(mod["remote-branch"])
elif command == "set-rev":
mod = find_module(submodules, sys.argv[3])
mod["rev"] = sys.argv[4]
json.dump(submodules, open(CONFIG_FILE, "w"), indent = 2)
elif command == "set-branch":
mod = find_module(submodules, sys.argv[3])
mod["branch"] = sys.argv[4]
json.dump(submodules, open(CONFIG_FILE, "w"), indent = 2)
elif command == "set-remote-branch":
mod = find_module(submodules, sys.argv[3])
mod["remote-branch"] = sys.argv[4]
json.dump(submodules, open(CONFIG_FILE, "w"), indent = 2)
elif command == "cat":
print(json.dumps(submodules, indent = 2))
else:
print("Unknown command "" + command + "".")
sys.exit(1)
|