summaryrefslogtreecommitdiff
path: root/lib/thandy/SignerCLI.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/thandy/SignerCLI.py')
-rw-r--r--lib/thandy/SignerCLI.py41
1 files changed, 39 insertions, 2 deletions
diff --git a/lib/thandy/SignerCLI.py b/lib/thandy/SignerCLI.py
index 06536aa..ed573ad 100644
--- a/lib/thandy/SignerCLI.py
+++ b/lib/thandy/SignerCLI.py
@@ -3,6 +3,8 @@
import os
import getopt
import sys
+import tempfile
+import time
import thandy.keys
import thandy.formats
@@ -93,6 +95,39 @@ def makepackage(args):
f.write(metaFile)
f.close()
+def makethppackage(args):
+ options, args = getopt.getopt(args, "", "keyid=")
+ keyid = None
+ for o,v in options:
+ if o == "--keyid":
+ keyid = v
+
+ if len(args) < 2:
+ usage()
+
+ tmpPath = tempfile.mkdtemp(suffix=str(time.time()),
+ prefix="thp")
+
+ print "Using temporary directory: %s" % tmpPath
+
+ configFile = args[0]
+ dataPath = args[1]
+ print "Generating package metadata."
+ metadata = thandy.formats.makeThpPackageObj(configFile, dataPath)
+
+ try:
+ os.mkdir(os.path.join(tmpPath, "meta"));
+ except Exception as e:
+ print e
+ thandy.util.deltree(tmpPath)
+ sys.exit(1)
+
+ thandy.util.replaceFile(os.path.join(tmpPath, "meta", "package.json"),
+ json.dumps(metadata, indent=3))
+
+ thandy.util.deltree(tmpPath)
+ print metadata
+
def makebundle(args):
options, args = getopt.getopt(args, "", "keyid=")
keyid = None
@@ -307,6 +342,7 @@ def usage():
print " delrole keyid role path"
print " dumpkey [--include-secret] keyid"
print " makepackage config datafile"
+ print " makethppackage config datapath"
print " makebundle config packagefile ..."
print " signkeylist keylist"
print " makekeylist keylist"
@@ -319,8 +355,9 @@ def main():
cmd = sys.argv[1]
args = sys.argv[2:]
if cmd in [ "keygen", "listkeys", "addrole", "delrole", "chpass",
- "dumpkey", "makepackage", "makebundle", "signkeylist",
- "makekeylist", "signkeylist", "makemirrorlist", ]:
+ "dumpkey", "makepackage", "makebundle", "makethppackage",
+ "signkeylist", "makekeylist", "signkeylist",
+ "makemirrorlist", ]:
try:
globals()[cmd](args)
except thandy.BadPassword: