Mercurial > parpg-core
changeset 49:3024ded5ae61
Added functions for Lockable
author | KarstenBock@gmx.net |
---|---|
date | Fri, 02 Sep 2011 15:57:27 +0200 |
parents | c017773e8443 |
children | 79cb7a659414 |
files | src/parpg/components/lockable.py |
diffstat | 1 files changed, 28 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/parpg/components/lockable.py Fri Sep 02 15:56:35 2011 +0200 +++ b/src/parpg/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