     .option('--keyspace [string]', 'Database name to use (default: "smc")', String, 'smc')
     .option('--passwd [email_address]', 'Reset password of given user', String, '')
     .option('--stripe_sync', 'Sync stripe subscriptions to database for all users with stripe id', String, 'yes')
+    .option('--stripe_dump', 'Dump stripe subscriptions info to ~/stripe/', String, 'yes')
     .option('--add_user_to_project [email_address,project_id]', 'Add user with given email address to project with given ID', String, '')
     .option('--base_url [string]', 'Base url, so https://sitenamebase_url/', String, '')  # '' or string that starts with /
     .option('--local', 'If option is specified, then *all* projects run locally as the same user as the server and store state in .sagemathcloud-local instead of .sagemathcloud; also do not kill all processes on project restart -- for development use (default: false, since not given)', Boolean, false)

            init_stripe(cb)
        (cb) ->
            dbg("get all customers from the database with stripe -- this is a full scan of the database and will take a while")
            q = database.table('accounts').filter((r)->r.hasFields('stripe_customer_id'))
            q = q.pluck('account_id', 'stripe_customer_id')
            q.run (err, x) ->
                users = x; cb(err)
        (cb) ->
            dbg("got #{users.length} users with stripe info")
            f = (x, cb) ->
                dbg("updating customer #{x.account_id} data to our local database")

        reset_password(program.passwd, (err) -> process.exit())
    else if program.stripe_sync
        console.log("Stripe sync")
        stripe_sync(false, (err) -> winston.debug("DONE", err); process.exit())
    else if program.stripe_dump
        console.log("Stripe dump")
        stripe_sync(true, (err) -> winston.debug("DONE", err); process.exit())
    else if program.add_user_to_project
        console.log("Adding user to project")
        v = program.add_user_to_project.split(',')
