~c-e-pidcott/maus/devel

« back to all changes in this revision

Viewing changes to bin/utilities/delete_couchdb.py

  • Committer: Chris Rogers
  • Date: 2011-12-22 17:56:36 UTC
  • mfrom: (659.1.5 release-candidate)
  • Revision ID: chris.rogers@stfc.ac.uk-20111222175636-rw9uujiup42a7gnt
Tags: MAUS-v0.1.1
ReleaseĀ 0.1.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/env python
 
2
 
 
3
#pylint: disable = C0111
 
4
 
 
5
import argparse
 
6
import couchdb
 
7
import sys
 
8
 
 
9
DESCRIPTION = \
 
10
"""
 
11
Delete a database from CouchDB.
 
12
"""
 
13
 
 
14
# Dynamically set the docstring
 
15
__doc__ = DESCRIPTION #pylint: disable = W0622
 
16
 
 
17
def arg_parser():
 
18
    """
 
19
    Parse command line arguments.
 
20
 
 
21
    Use -h switch at the command line for information on command line
 
22
    args used. 
 
23
    """
 
24
    parser = argparse.ArgumentParser(description=DESCRIPTION)
 
25
    parser.add_argument('--url', dest='url', \
 
26
                        help='CouchDB URL',
 
27
                        default="http://localhost:5984")
 
28
    parser.add_argument('--database', dest='database', \
 
29
                        help='Database', required=True)
 
30
    return parser
 
31
 
 
32
def delete_database(url, database_name):
 
33
    """
 
34
    Delete the database. If it cannot be found then this is just a 
 
35
    no-op.
 
36
    @param url CouchDB URL.
 
37
    @param database_name Database name.
 
38
    """
 
39
    server = couchdb.Server(url)
 
40
    if database_name in server:
 
41
        server.delete(database_name)
 
42
 
 
43
def main(argv):
 
44
    """
 
45
    Main function. Parse any input arguments then delete the database.
 
46
    @param argv Command-line arguments.
 
47
    """
 
48
    args = arg_parser()
 
49
    args_in = args.parse_args(argv)
 
50
    delete_database(args_in.url, args_in.database)
 
51
 
 
52
if __name__ == "__main__":
 
53
    main(sys.argv[1:])