witten
/
luminotes
Archived
1
0
Fork 0

New controller.Users.calculate_group_storage().

This commit is contained in:
Dan Helfman 2008-06-05 14:16:49 -07:00
parent f8efc2f178
commit a0ca8025d0
3 changed files with 20 additions and 0 deletions

View File

@ -548,6 +548,17 @@ class Users( object ):
"""
return sum( self.__database.select_one( tuple, user.sql_calculate_storage() ), 0 )
def calculate_group_storage( self, user ):
"""
Calculate total storage utilization for all groups that the given user is a member of.
@type user: User
@param user: user for which to calculate storage utilization
@rtype: int
@return: total bytes used for group storage
"""
return self.__database.select_one( int, user.sql_calculate_group_storage() )
def update_storage( self, user_id, commit = True ):
"""
Calculate and record total storage utilization for the given user.
@ -564,6 +575,7 @@ class Users( object ):
if user:
user.storage_bytes = self.calculate_storage( user )
self.__database.save( user, commit )
user.group_storage_bytes = self.calculate_group_storage( user )
return user

View File

@ -119,6 +119,12 @@ class Test_controller( object ):
User.sql_calculate_storage = lambda self: \
lambda database: sql_calculate_storage( self, database )
def sql_calculate_group_storage( self, database ):
return 0
User.sql_calculate_group_storage = lambda self: \
lambda database: sql_calculate_group_storage( self, database )
def sql_has_access( self, notebook_id, read_write, owner, database ):
for ( user_id, notebook_infos ) in database.user_notebook.items():
for notebook_info in notebook_infos:

View File

@ -679,6 +679,7 @@ class Test_users( Test_controller ):
user = self.database.load( User, self.user.object_id )
assert user.storage_bytes == expected_size
assert user.group_storage_bytes == 0
assert user.revision > previous_revision
def test_update_storage_with_unknown_user_id( self ):
@ -690,6 +691,7 @@ class Test_users( Test_controller ):
user = self.database.load( User, self.user.object_id )
assert self.user.storage_bytes == 0
assert self.user.group_storage_bytes == 0
assert self.user.revision == original_revision
def test_check_access( self ):