Merge branch 'master' of /users/git/public/pyceo

This commit is contained in:
David Bartley 2008-06-09 23:45:04 -04:00
commit e97203c36b
4 changed files with 38 additions and 20 deletions

View File

@ -6,10 +6,15 @@ from ceo import ldapi, members, library
def start(): def start():
try: try:
print "Connecting to LDAP...", print "Reading config file...",
#XXX this should really all be done through one big config file
members.configure()
library.configure() library.configure()
print "read."
print "Connecting to LDAP...",
members.connect(AuthCallback()) members.connect(AuthCallback())
print "connected" print "connected."
if len(sys.argv) == 1: if len(sys.argv) == 1:
ceo.urwid.main.start() ceo.urwid.main.start()

View File

@ -87,7 +87,6 @@ ld = None
def connect(auth_callback): def connect(auth_callback):
"""Connect to LDAP.""" """Connect to LDAP."""
configure()
global ld global ld
password = None password = None

View File

@ -213,30 +213,25 @@ def do_delete(book):
if Confirm("Do you wish to delete %r?" % book): if Confirm("Do you wish to delete %r?" % book):
lib.delete(book) lib.delete(book)
class BookPage(urwid.WidgetWrap): class BookPageBase(urwid.WidgetWrap):
def __init__(self, book): def __init__(self):
self._book = book
self.author = SingleEdit("Author: ") self.author = SingleEdit("Author: ")
self.title = SingleEdit("Title: ") self.title = SingleEdit("Title: ")
self.year = SingleIntEdit("Year: ") self.year = SingleIntEdit("Year: ")
self.ISBN = urwid.Text("ISBN: ") self.ISBN = urwid.Text("ISBN: ")
self.description = urwid.Edit("Description: ", multiline=True) self.description = urwid.Edit("Description: ", multiline=True)
self.checkout_label = urwid.Text("")
save = urwid.Button("Save", self.save) buttons = urwid.GridFlow(self._init_buttons(), 13, 2, 1, 'center')
self.checkout_button = urwid.Button("", self.checkout) display = urwid.Pile([self.author, self.title, self.year, self.ISBN, self.description,] +
back = urwid.Button("Back", raise_back) self._init_widgets() +
remove = urwid.Button("Delete", self.delete) [urwid.Divider(), buttons])
buttons = urwid.GridFlow([back, self.checkout_button, save, remove], 13, 2, 1, 'center')
display = urwid.Pile([self.author, self.title, self.year, self.ISBN,
self.description,
urwid.Divider(), buttons])
urwid.WidgetWrap.__init__(self, display) urwid.WidgetWrap.__init__(self, display)
self.refresh() self.refresh()
#all these *senders are to allow these to be used as event handlers or just on their own def _init_widgets(self):
return []
def _init_buttons(self):
return []
def refresh(self, *sender): def refresh(self, *sender):
"""update the widgets from the data model""" """update the widgets from the data model"""
self.author.set_edit_text(self._book.author) self.author.set_edit_text(self._book.author)
@ -244,6 +239,25 @@ class BookPage(urwid.WidgetWrap):
self.year.set_edit_text(str(self._book.year)) self.year.set_edit_text(str(self._book.year))
self.ISBN.set_text("ISBN: " + self._book.ISBN) self.ISBN.set_text("ISBN: " + self._book.ISBN)
self.description.set_edit_text(self._book.description) self.description.set_edit_text(self._book.description)
class BookPage(BookPageBase):
def __init__(self, book):
self._book = book
BookPageBase.__init__(self)
def _init_widgets(self):
self.checkout_label = urwid.Text("")
return [self.checkout_label]
def _init_buttons(self):
save = urwid.Button("Save", self.save)
self.checkout_button = urwid.Button("", self.checkout)
back = urwid.Button("Back", raise_back)
remove = urwid.Button("Delete", self.delete)
return [back, self.checkout_button, save, remove]
#all these *senders are to allow these to be used as event handlers or just on their own
def refresh(self, *sender):
BookPageBase.refresh(self, *sender)
if self._book.signout is None: if self._book.signout is None:
self.checkout_label.set_text("Checked In") self.checkout_label.set_text("Checked In")
self.checkout_button.set_label("Check Out") self.checkout_button.set_label("Check Out")

2
debian/control vendored
View File

@ -1,7 +1,7 @@
Source: ceo Source: ceo
Section: admin Section: admin
Priority: optional Priority: optional
Maintainer: Michael Spang <mspang@uwaterloo.ca> Maintainer: Systems Committee <syscom@csclub.uwaterloo.ca>
Build-Depends: debhelper (>= 5.0.0), python-dev (>= 2.4), python-support (>= 0.3), libkrb5-dev, libldap2-dev, libsasl2-dev Build-Depends: debhelper (>= 5.0.0), python-dev (>= 2.4), python-support (>= 0.3), libkrb5-dev, libldap2-dev, libsasl2-dev
Standards-Version: 3.7.2 Standards-Version: 3.7.2