pyceo/ceo/console/main.py

50 lines
1.3 KiB
Python
Raw Permalink Normal View History

import sys, ldap, termios
2008-01-25 20:24:00 -05:00
from ceo import members, terms, uwldap, ldapi
from ceo.console.memberlist import MemberList
from ceo.console.updateprograms import UpdatePrograms
from ceo.console.expiredaccounts import ExpiredAccounts
2008-03-10 00:25:08 -04:00
from ceo.console.inactive import Inactive
2009-11-02 15:18:55 -05:00
from ceo.console.mysql import MySQL
2008-01-25 20:24:00 -05:00
commands = {
'memberlist' : MemberList(),
'updateprograms' : UpdatePrograms(),
'expiredaccounts' : ExpiredAccounts(),
2008-03-10 00:25:08 -04:00
'inactive': Inactive(),
2009-11-02 15:18:55 -05:00
'mysql': MySQL(),
2008-01-25 20:24:00 -05:00
}
2008-04-01 22:09:03 -04:00
help_opts = [ '--help', '-h' ]
def start():
2008-04-01 22:09:03 -04:00
args = sys.argv[1:]
if args[0] in help_opts:
help()
elif args[0] in commands:
command = commands[args[0]]
if len(args) >= 2 and args[1] in help_opts:
print command.help
else:
2008-04-01 22:09:03 -04:00
command.main(args[1:])
else:
print "Invalid command '%s'" % args[0]
def help():
2008-03-28 15:46:32 -04:00
args = sys.argv[2:]
if len(args) == 1:
if args[0] in commands:
print commands[args[0]].help
else:
print 'Unknown command %s.' % args[0]
else:
print ''
2008-04-01 22:11:17 -04:00
print 'To run the ceo GUI, type \'ceo\''
print ''
print 'To run a ceo console command, type \'ceo command\''
print ''
print 'Available console commands:'
2008-03-28 15:46:32 -04:00
for c in commands:
print ' %s' % c
print ''
print 'Run \'ceo command --help\' for help on a specific command.'
print ''