Mercurial > repos > shellac > guppy_basecaller
diff env/bin/cfadmin @ 5:9b1c78e6ba9c draft default tip
"planemo upload commit 6c0a8142489327ece472c84e558c47da711a9142"
author | shellac |
---|---|
date | Mon, 01 Jun 2020 08:59:25 -0400 |
parents | 79f47841a781 |
children |
line wrap: on
line diff
--- a/env/bin/cfadmin Thu May 14 16:47:39 2020 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,108 +0,0 @@ -#!/Users/pldms/Development/Projects/2020/david-matthews-galaxy/guppy_basecaller/env/bin/python3 -# Author: Chris Moyer -# -# cfadmin is similar to sdbadmin for CloudFront, it's a simple -# console utility to perform the most frequent tasks with CloudFront -# -def _print_distributions(dists): - """Internal function to print out all the distributions provided""" - print "%-12s %-50s %s" % ("Status", "Domain Name", "Origin") - print "-"*80 - for d in dists: - print "%-12s %-50s %-30s" % (d.status, d.domain_name, d.origin) - for cname in d.cnames: - print " "*12, "CNAME => %s" % cname - print "" - -def help(cf, fnc=None): - """Print help message, optionally about a specific function""" - import inspect - self = sys.modules['__main__'] - if fnc: - try: - cmd = getattr(self, fnc) - except: - cmd = None - if not inspect.isfunction(cmd): - print "No function named: %s found" % fnc - sys.exit(2) - (args, varargs, varkw, defaults) = inspect.getargspec(cmd) - print cmd.__doc__ - print "Usage: %s %s" % (fnc, " ".join([ "[%s]" % a for a in args[1:]])) - else: - print "Usage: cfadmin [command]" - for cname in dir(self): - if not cname.startswith("_"): - cmd = getattr(self, cname) - if inspect.isfunction(cmd): - doc = cmd.__doc__ - print "\t%s - %s" % (cname, doc) - sys.exit(1) - -def ls(cf): - """List all distributions and streaming distributions""" - print "Standard Distributions" - _print_distributions(cf.get_all_distributions()) - print "Streaming Distributions" - _print_distributions(cf.get_all_streaming_distributions()) - -def invalidate(cf, origin_or_id, *paths): - """Create a cloudfront invalidation request""" - # Allow paths to be passed using stdin - if not paths: - paths = [] - for path in sys.stdin.readlines(): - path = path.strip() - if path: - paths.append(path) - dist = None - for d in cf.get_all_distributions(): - if d.id == origin_or_id or d.origin.dns_name == origin_or_id: - dist = d - break - if not dist: - print "Distribution not found: %s" % origin_or_id - sys.exit(1) - cf.create_invalidation_request(dist.id, paths) - -def listinvalidations(cf, origin_or_id): - """List invalidation requests for a given origin""" - dist = None - for d in cf.get_all_distributions(): - if d.id == origin_or_id or d.origin.dns_name == origin_or_id: - dist = d - break - if not dist: - print "Distribution not found: %s" % origin_or_id - sys.exit(1) - results = cf.get_invalidation_requests(dist.id) - if results: - for result in results: - if result.status == "InProgress": - result = result.get_invalidation_request() - print result.id, result.status, result.paths - else: - print result.id, result.status - - -if __name__ == "__main__": - import boto - import sys - cf = boto.connect_cloudfront() - self = sys.modules['__main__'] - if len(sys.argv) >= 2: - try: - cmd = getattr(self, sys.argv[1]) - except: - cmd = None - args = sys.argv[2:] - else: - cmd = help - args = [] - if not cmd: - cmd = help - try: - cmd(cf, *args) - except TypeError as e: - print e - help(cf, cmd.__name__)