~ntt-pf-lab/nova/monkey_patch_notification

« back to all changes in this revision

Viewing changes to vendor/Twisted-10.0.0/doc/core/howto/tutorial/listings/finger/finger19c_changes.py

  • Committer: Jesse Andrews
  • Date: 2010-05-28 06:05:26 UTC
  • Revision ID: git-v1:bf6e6e718cdc7488e2da87b21e258ccc065fe499
initial commit

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
from twisted.internet import protocol, reactor, defer, utils
 
2
import pwd
 
3
import os
 
4
 
 
5
 
 
6
# Yet another back-end
 
7
 
 
8
class LocalFingerService(service.Service):
 
9
 
 
10
    implements(IFingerService)
 
11
 
 
12
    def getUser(self, user):
 
13
        user = user.strip()
 
14
        try:
 
15
            entry = pwd.getpwnam(user)
 
16
        except KeyError:
 
17
            return defer.succeed("No such user")
 
18
        try:
 
19
            f = file(os.path.join(entry[5],'.plan'))
 
20
        except (IOError, OSError):
 
21
            return defer.succeed("No such user")
 
22
        data = f.read()
 
23
        data = data.strip()
 
24
        f.close()
 
25
        return defer.succeed(data)
 
26
    
 
27
    def getUsers(self):
 
28
        return defer.succeed([])
 
29
 
 
30
 
 
31
 
 
32
f = LocalFingerService()