Exemple #1
0
import sys
import argparse
from couch_lib import get_databases, replicate


parser = argparse.ArgumentParser(description="back up couch databases, default back up all databases except for _replicator and _users")
parser.add_argument("-b", "--databases", nargs="+", help="the databases to be backed up")
parser.add_argument("-p", "--push", help="push (from source), by default using pull (from destination)", action="store_true")
parser.add_argument("source", help="source couchdb url, specify credentials if authentication is required, e.g http://admin:[email protected]:5984")
parser.add_argument("destination", help="destination couchdb url, specify credentials if authentication is required, e.g http://admin:[email protected]:5984")

args = parser.parse_args()
src = args.source
dst = args.destination
dbs = args.databases or get_databases(src)
push = args.push

print("The following databases will be replicated from {0} to {1}:".format(src, dst))
print(" ".join(dbs))
answer = input("Do you want to continue? [y/N] ")

if answer == "y" or answer == "Y":
    for db in dbs:
        try:
            replicate(db, src, dst, push)
        except Exception as e:
            print(e)
        except KeyboardInterrupt:
            print()
            sys.exit(1)
else:
Exemple #2
0
import sys
import argparse
from couch_lib import get_databases, delete_database


parser = argparse.ArgumentParser(description="Delete couch databases, default delete all databases except for _replicator and _user")
parser.add_argument("-b", "--databases", nargs="+", help="the databases to be deleted")
parser.add_argument("base_url", help="couchdb base url, specify credentials if authentication is required, e.g http://admin:[email protected]:5984")
args = parser.parse_args()
base_url = args.base_url
dbs = args.databases or get_databases(base_url)

print("The following databases will be deleted, make sure back up first if needed:")
print(" ".join(dbs))
answer = input("Do you want to continue? [y/N] ")

if answer == 'y' or answer == 'Y':
    for db in dbs:
        delete_database(base_url, db)
else:
    sys.exit(0)