diff options
Diffstat (limited to 'lib/thandy/SignerCLI.py')
-rw-r--r-- | lib/thandy/SignerCLI.py | 41 |
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: |