view profilemanager/main.py @ 4:35dc297efa25

adding listing function and other cleanup
author Jeff Hammel <jhammel@mozilla.com>
date Mon, 05 Apr 2010 13:53:22 -0700
parents 979315ed0816
children c77e9bef78d6
line wrap: on
line source

#!/usr/bin/env python

import os
import sys

from manager import ProfileManager
from command import CommandParser

def create_profilemanager(parser, options):
    """create the profile manager from parsed arguments"""
    if options.config is None:
        # XXX unix-specific
        options.config = os.path.join(os.environ['HOME'], '.mozilla/firefox/profiles.ini')
    if not os.path.exists(options.config):
        parser.error('%s does not exist' % options.config)
    return ProfileManager(options.config)

def main(args=sys.argv[1:]):

    # global option parsing
    commands = [ ProfileManager.backup,
                 ProfileManager.clone,
                 ProfileManager.list,
                 ProfileManager.restore,
                 ProfileManager.merge ]
    parser = CommandParser(commands, setup=create_profilemanager)
    parser.add_option('-c', '--config', dest='config',
                      help="specify a profile.ini [default: $HOME/.mozilla/firefox/profiles.ini]")
    parser.invoke(args)

if __name__ == '__main__':
    main()