From b8499306ce329ca3881b1d1dfc3362a3a5c115d0 Mon Sep 17 00:00:00 2001 From: Thibaut Horel Date: Mon, 8 Nov 2010 00:57:46 +0100 Subject: Beginning of an ObjectHandler class to handle objects at user level (will be use with xmpp interaction) --- object.py | 34 +++++++++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/object.py b/object.py index 5b2e35d..de6335b 100644 --- a/object.py +++ b/object.py @@ -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 ) -- cgit v1.2.3-70-g09d2