diff options
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 ) |
