#!/usr/bin/python

import sys
import os
from optparse import OptionParser

VERSION="0.1"

class Parser(OptionParser):
    def __init__(self, *args, **kwargs):
        OptionParser.__init__(self, *args, **kwargs)

    def error(self, msg):
        sys.stderr.write("%s: error: %s\n\n" % (self.get_prog_name(), msg))
        self.print_help(sys.stderr)
        sys.exit(2)

parser = Parser(usage="usage: %prog [options] command [args...]",
                version="%prog "+ VERSION,
                description="perform common operations on a DB-ALLe database")
parser.add_option("--dsn", default="test", help="DSN to use to connect to the database (default: %default)")
parser.add_option("--user", default=os.environ['USER'], help="User name to use to connect to the database (default: %default)")
parser.add_option("--pass", default="", dest="password", help="Password to use to connect to the database (default: none)")
parser.add_option("--all", default=False, action="store_true", help="Export all the contents of the database")

(options, args) = parser.parse_args()

if not options.all and len(args) == 0:
    parser.print_help()
    sys.exit(0)

import dballe, dballe.dbacsv

# Parse the query
query = dballe.Record()
for q in args:
    query.setFromString(q)

query.dumpToStderr()

db = dballe.DB(options.dsn, options.user, options.password)

exporter = dballe.dbacsv.export(db, query, sys.stdout)

# vim:set ts=4 sw=4 expandtab:
