Mercurial > repos > cathywise > truststore_import
view TrustStoreGalaxyImport.py @ 5:159d2159e745
Add list files.
author | Catherine Wise <catherine.wise@csiro.au> |
---|---|
date | Thu, 12 Dec 2013 16:17:43 +1100 |
parents | 32d9b3343955 |
children | b94a8f55b1da |
line wrap: on
line source
import sys import shutil from py_ts import TrustStoreClient, ts_utils def printNice(elem, f, depth): try: f.write('\t'*depth + elem.name + " (" + str(len(elem.fragments)) + " parts)\n") except AttributeError: f.write('\t'*depth + elem.name + "\n") for child in elem.children: printNice(child, f, depth+1) if __name__ == '__main__': kms_url = sys.argv[1] ims_url = sys.argv[2] username = sys.argv[3] password = sys.argv[4] client_key = sys.argv[5] client_secret = sys.argv[6] storename = sys.argv[7] path = sys.argv[8] filename = "" outputFile = "" if len(sys.argv) > 10: filename = sys.argv[9] outputFile = sys.argv[10] else: outputFile = sys.argv[9] config = TrustStoreClient.Config(ims_url, kms_url, client_key, client_secret) ts = TrustStoreClient.TrustStoreClient(headless=True, config=config) try: ts.authenticate(username, password) except TrustStoreClient.TrustStoreClientAuthenticationException as e: print e sys.exit(5) ts.getPrivateKey('privkey.pem') listing = ts.listStores() found = False for store in listing: if store.friendly_name == storename: found = True root = ts.listDirectory(store) location = None if path != "/": location = ts_utils.ts_utils.dirAtPath(root, path) if not location: print "Path not found" sys.exit(3) else: location = root if filename and filename != "": downloadMe = ts_utils.ts_utils.recurseToChildNamed(location, filename) if downloadMe: download = ts.getFile(store, downloadMe) shutil.copy(download, outputFile) else: print "File not found" sys.exit(4) else: with open(outputFile, 'w+') as f: try: for child in root.children: printNice(child, f, 0) except AttributeError as e: print e print root if not found: print "Store not found" sys.exit(2)