diff options
Diffstat (limited to 'doc/core/howto/tutorial/listings/finger/finger19a_changes.py')
-rw-r--r-- | doc/core/howto/tutorial/listings/finger/finger19a_changes.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/doc/core/howto/tutorial/listings/finger/finger19a_changes.py b/doc/core/howto/tutorial/listings/finger/finger19a_changes.py new file mode 100644 index 0000000..cbb3623 --- /dev/null +++ b/doc/core/howto/tutorial/listings/finger/finger19a_changes.py @@ -0,0 +1,29 @@ + +class IFingerSetterService(Interface): + + def setUser(user, status): + """Set the user's status to something""" + +# Advantages of latest version + +class MemoryFingerService(service.Service): + + implements([IFingerService, IFingerSetterService]) + + def __init__(self, **kwargs): + self.users = kwargs + + def getUser(self, user): + return defer.succeed(self.users.get(user, "No such user")) + + def getUsers(self): + return defer.succeed(self.users.keys()) + + def setUser(self, user, status): + self.users[user] = status + + +f = MemoryFingerService(moshez='Happy and well') +serviceCollection = service.IServiceCollection(application) +internet.TCPServer(1079, IFingerSetterFactory(f), interface='127.0.0.1' + ).setServiceParent(serviceCollection) |