diff options
| author | Thibaut Horel <thibaut.horel@gmail.com> | 2010-11-08 00:57:46 +0100 |
|---|---|---|
| committer | Thibaut Horel <thibaut.horel@gmail.com> | 2010-11-08 00:57:46 +0100 |
| commit | b8499306ce329ca3881b1d1dfc3362a3a5c115d0 (patch) | |
| tree | 1435e50d242ac75af1b4e0edda61f25cf7bf82d9 /object.py | |
| parent | edde6c6fe4ea8953a80b5e7b60d49e14e8ee7938 (diff) | |
| download | alias-b8499306ce329ca3881b1d1dfc3362a3a5c115d0.tar.gz | |
Beginning of an ObjectHandler class to handle objects at user level (will be use with xmpp interaction)
Diffstat (limited to 'object.py')
| -rw-r--r-- | object.py | 34 |
1 files changed, 31 insertions, 3 deletions
@@ -9,6 +9,8 @@ import datetime import fileinput from permission import * +OBJECT_ROOT = 'objects/' + class Object : def _getPath( self ) : @@ -135,9 +137,35 @@ class Object : file = open( self.path + '/permissions', 'a' ) file.write( user + ' ' + str( permission ) + '\n' ) file.close() - - - + +class ObjectHandler : + + def __init__( self, user ) : + self.user = user + self.root = OBJECT_ROOT + user + '/' + + def getDirectory( self, hash ) : + directory = self.root + hash[:2] + '/' + hash[2:] + if ( os.path.exists( directory ) ) : + return directory + else : + return None + + #return a list of hash,permission pairs + def getChildList( self, hash, user) : + directory = self.getDirectory( hash ) + if ( directory ) : + result = [] + file = open( directory + "/childs", 'r' ) + for line in file : + name, sep, perm = line.rstrip('\n').partition(' ') + if name == user : + result.append( ( name, int(perm) ) ) + file.close() + return result + else : + return None + if __name__== '__main__' : x = Object({'parent' : 'toto', 'author' : 'Zaran'}) x.setPermission("test", READ ) |
