diff env/bin/sdbadmin @ 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/sdbadmin	Thu May 14 16:47:39 2020 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,194 +0,0 @@
-#!/Users/pldms/Development/Projects/2020/david-matthews-galaxy/guppy_basecaller/env/bin/python3
-# Copyright (c) 2009 Chris Moyer http://kopertop.blogspot.com/
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish, dis-
-# tribute, sublicense, and/or sell copies of the Software, and to permit
-# persons to whom the Software is furnished to do so, subject to the fol-
-# lowing conditions:
-#
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
-# ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
-# SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 
-# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-
-#
-# Tools to dump and recover an SDB domain
-#
-VERSION = "%prog version 1.0"
-import boto
-import time
-from boto import sdb
-from boto.compat import json
-
-def choice_input(options, default=None, title=None):
-    """
-    Choice input
-    """
-    if title == None:
-        title = "Please choose"
-    print title
-    objects = []
-    for n, obj in enumerate(options):
-        print "%s: %s" % (n, obj)
-        objects.append(obj)
-    choice = int(raw_input(">>> "))
-    try:
-        choice = objects[choice]
-    except:
-        choice = default
-    return choice
-
-def confirm(message="Are you sure?"):
-    choice = raw_input("%s [yN] " % message)
-    return choice and len(choice) > 0 and choice[0].lower() == "y"
-
-
-def dump_db(domain, file_name, use_json=False, sort_attributes=False):
-    """
-    Dump SDB domain to file
-    """
-    f = open(file_name, "w")
-    if use_json:
-        for item in domain:
-            data = {"name": item.name, "attributes": item}
-            print >> f, json.dumps(data, sort_keys=sort_attributes)
-    else:
-        doc = domain.to_xml(f)
-
-def empty_db(domain):
-    """
-    Remove all entries from domain
-    """
-    for item in domain:
-        item.delete()
-
-def load_db(domain, file, use_json=False):
-    """
-    Load a domain from a file, this doesn't overwrite any existing
-    data in the file so if you want to do a full recovery and restore
-    you need to call empty_db before calling this
-
-    :param domain: The SDB Domain object to load to
-    :param file: The File to load the DB from
-    """
-    if use_json:
-        for line in file.readlines():
-            if line:
-                data = json.loads(line)
-                item = domain.new_item(data['name'])
-                item.update(data['attributes'])
-                item.save()
-                
-    else:
-        domain.from_xml(file)
-
-def check_valid_region(conn, region):
-    if conn is None:
-        print 'Invalid region (%s)' % region
-        sys.exit(1)
-
-def create_db(domain_name, region_name):
-    """Create a new DB
-
-    :param domain: Name of the domain to create
-    :type domain: str
-    """
-    sdb = boto.sdb.connect_to_region(region_name)
-    check_valid_region(sdb, region_name)
-    return sdb.create_domain(domain_name)
-
-if __name__ == "__main__":
-    from optparse import OptionParser
-    parser = OptionParser(version=VERSION, usage="Usage: %prog [--dump|--load|--empty|--list|-l] [options]")
-
-    # Commands
-    parser.add_option("--dump", help="Dump domain to file", dest="dump", default=False, action="store_true")
-    parser.add_option("--load", help="Load domain contents from file", dest="load", default=False, action="store_true")
-    parser.add_option("--empty", help="Empty all contents of domain", dest="empty", default=False, action="store_true")
-    parser.add_option("-l", "--list", help="List All domains", dest="list", default=False, action="store_true")
-    parser.add_option("-c", "--create", help="Create domain", dest="create", default=False, action="store_true")
-
-    parser.add_option("-a", "--all-domains", help="Operate on all domains", action="store_true", default=False, dest="all_domains")
-    if json:
-        parser.add_option("-j", "--use-json", help="Load/Store as JSON instead of XML", action="store_true", default=False, dest="json")
-    parser.add_option("-s", "--sort-attibutes", help="Sort the element attributes", action="store_true", default=False, dest="sort_attributes")
-    parser.add_option("-d", "--domain", help="Do functions on domain (may be more then one)", action="append", dest="domains")
-    parser.add_option("-f", "--file", help="Input/Output file we're operating on", dest="file_name")
-    parser.add_option("-r", "--region", help="Region (e.g. us-east-1[default] or eu-west-1)", default="us-east-1", dest="region_name")
-    (options, args) = parser.parse_args()
-
-    if options.create:
-        for domain_name in options.domains:
-            create_db(domain_name, options.region_name)
-        exit()
-
-    sdb = boto.sdb.connect_to_region(options.region_name)
-    check_valid_region(sdb, options.region_name)
-    if options.list:
-        for db in sdb.get_all_domains():
-            print db
-        exit()
-
-    if not options.dump and not options.load and not options.empty:
-            parser.print_help()
-            exit()
-
-
-
-
-    #
-    # Setup
-    #
-    if options.domains:
-        domains = []
-        for domain_name in options.domains:
-            domains.append(sdb.get_domain(domain_name))
-    elif options.all_domains:
-        domains = sdb.get_all_domains()
-    else:
-        domains = [choice_input(options=sdb.get_all_domains(), title="No domain specified, please choose one")]
-
-
-    #
-    # Execute the commands
-    #
-    stime = time.time()
-    if options.empty:
-        if confirm("WARNING!!! Are you sure you want to empty the following domains?: %s" % domains):
-            stime = time.time()
-            for domain in domains:
-                print "--------> Emptying %s <--------" % domain.name
-                empty_db(domain)
-        else:
-            print "Canceling operations"
-            exit()
-
-    if options.dump:
-        for domain in domains:
-            print "--------> Dumping %s <---------" % domain.name
-            if options.file_name:
-                file_name = options.file_name
-            else:
-                file_name = "%s.db" % domain.name
-            dump_db(domain, file_name, options.json, options.sort_attributes)
-
-    if options.load:
-        for domain in domains:
-            print "---------> Loading %s <----------" % domain.name
-            if options.file_name:
-                file_name = options.file_name
-            else:
-                file_name = "%s.db" % domain.name
-            load_db(domain, open(file_name, "rb"), options.json)
-
-
-    total_time = round(time.time() - stime, 2)
-    print "--------> Finished in %s <--------" % total_time