# HG changeset patch # User KarstenBock@gmx.net # Date 1314971847 -7200 # Node ID d13924109572114a0cd049751ccf954efce6332e # Parent eab8af30dfc7974792b80912c492bce2933fd7de Added functions for Lockable diff -r eab8af30dfc7 -r d13924109572 components/lockable.py --- a/components/lockable.py Fri Sep 02 12:54:43 2011 +0200 +++ b/components/lockable.py Fri Sep 02 15:57:27 2011 +0200 @@ -15,7 +15,33 @@ class Lockable(Component): """Component that stores the data of a lock""" - + def __init__(self): """Constructor""" - Component.__init__(self, locked=bool) + Component.__init__(self, closed=bool, locked=bool) + +class LockedError(Exception): + + def __str__(self): + return "Is locked" + +class OpenError(Exception): + + def __str__(self): + return "Is open" + +def lock(lock): + if not lock.closed: + raise OpenError + lock.locked = True + +def unlock(lock): + lock.locked = False + +def open(lock): + if lock.locked: + raise LockedError + lock.closed = False + +def close(lock): + lock.closed = True \ No newline at end of file