forked from public/pyceo
parent
9d3119274b
commit
5778d003c2
@ -1,3 +1,3 @@ |
||||
#!/usr/bin/python |
||||
import ceo.urwid.main |
||||
ceo.urwid.main.start() |
||||
import ceo.main |
||||
ceo.main.start() |
||||
|
@ -0,0 +1 @@ |
||||
"""Console Interface""" |
@ -0,0 +1,26 @@ |
||||
import sys |
||||
from getopt import getopt |
||||
from ceo import members, terms |
||||
|
||||
shortopts = [ |
||||
] |
||||
|
||||
longopts = [ |
||||
] |
||||
|
||||
def start(): |
||||
(opts, args) = getopt(sys.argv[1:], shortopts, longopts) |
||||
if len(args) == 1: |
||||
if args[0] == 'memberlist': |
||||
mlist = members.list_term(terms.current()).values() |
||||
for member in mlist: |
||||
print '%s %s %s' % ( |
||||
member['uid'][0].ljust(12), |
||||
member['cn'][0].ljust(30), |
||||
member.get('program', [''])[0] |
||||
) |
||||
else: |
||||
print "Invalid argument '%s'" % args[0] |
||||
|
||||
def help(): |
||||
print 'ceo memberlist' |
@ -0,0 +1,33 @@ |
||||
import sys, ldap |
||||
from getpass import getpass |
||||
import ceo.urwid.main |
||||
import ceo.console.main |
||||
from ceo import ldapi, members |
||||
|
||||
def start(): |
||||
try: |
||||
if len(sys.argv) >= 2 and sys.argv[1] == '--help': |
||||
ceo.console.main.help() |
||||
sys.exit(0) |
||||
|
||||
members.connect(AuthCallback()) |
||||
|
||||
if len(sys.argv) == 1: |
||||
ceo.urwid.main.start() |
||||
else: |
||||
ceo.console.main.start() |
||||
except ldap.LOCAL_ERROR, e: |
||||
print ldapi.format_ldaperror(e) |
||||
except ldap.INSUFFICIENT_ACCESS, e: |
||||
print ldapi.format_ldaperror(e) |
||||
print "You probably aren't permitted to do whatever you just tried." |
||||
print "Admittedly, ceo probably shouldn't have crashed either." |
||||
|
||||
class AuthCallback: |
||||
def callback(self, error): |
||||
try: |
||||
sys.stderr.write("Password: ") |
||||
return getpass("") |
||||
except KeyboardInterrupt: |
||||
print "" |
||||
sys.exit(1) |
Loading…
Reference in new issue