66from ..config import API
77from ..session .box_session import BoxSession
88from ..network .default_network import DefaultNetwork
9- from ..object .user import User
10- from ..object .folder import Folder
119from ..object .search import Search
1210from ..object .events import Events
13- from ..object .file import File
14- from ..object .group import Group
15- from ..object .group_membership import GroupMembership
1611from ..util .shared_link import get_shared_link_header
1712from ..util .translator import Translator
1813
@@ -67,7 +62,7 @@ def folder(self, folder_id):
6762 :rtype:
6863 :class:`Folder`
6964 """
70- return Folder (session = self ._session , object_id = folder_id )
65+ return Translator (). translate ( 'folder' ) (session = self ._session , object_id = folder_id )
7166
7267 def file (self , file_id ):
7368 """
@@ -82,7 +77,7 @@ def file(self, file_id):
8277 :rtype:
8378 :class:`File`
8479 """
85- return File (session = self ._session , object_id = file_id )
80+ return Translator (). translate ( 'file' ) (session = self ._session , object_id = file_id )
8681
8782 def user (self , user_id = 'me' ):
8883 """
@@ -97,7 +92,7 @@ def user(self, user_id='me'):
9792 :rtype:
9893 :class:`User`
9994 """
100- return User (session = self ._session , object_id = user_id )
95+ return Translator (). translate ( 'user' ) (session = self ._session , object_id = user_id )
10196
10297 def group (self , group_id ):
10398 """
@@ -112,7 +107,7 @@ def group(self, group_id):
112107 :rtype:
113108 :class:`Group`
114109 """
115- return Group (session = self ._session , object_id = group_id )
110+ return Translator (). translate ( 'group' ) (session = self ._session , object_id = group_id )
116111
117112 def users (self , limit = None , offset = 0 , filter_term = None ):
118113 """
@@ -143,7 +138,12 @@ def users(self, limit=None, offset=0, filter_term=None):
143138 params ['filter_term' ] = filter_term
144139 box_response = self ._session .get (url , params = params )
145140 response = box_response .json ()
146- return [User (self ._session , item ['id' ], item ) for item in response ['entries' ]]
141+ user_class = Translator ().translate ('user' )
142+ return [user_class (
143+ session = self ._session ,
144+ object_id = item ['id' ],
145+ response_object = item ,
146+ ) for item in response ['entries' ]]
147147
148148 def search (
149149 self ,
@@ -226,7 +226,10 @@ def group_membership(self, group_membership_id):
226226 :rtype:
227227 :class:`GroupMembership`
228228 """
229- return GroupMembership (session = self ._session , object_id = group_membership_id )
229+ return Translator ().translate ('group_membership' )(
230+ session = self ._session ,
231+ object_id = group_membership_id ,
232+ )
230233
231234 def groups (self ):
232235 """
@@ -240,7 +243,12 @@ def groups(self):
240243 url = '{0}/groups' .format (API .BASE_API_URL )
241244 box_response = self ._session .get (url )
242245 response = box_response .json ()
243- return [Group (self ._session , item ['id' ], item ) for item in response ['entries' ]]
246+ group_class = Translator ().translate ('group' )
247+ return [group_class (
248+ session = self ._session ,
249+ object_id = item ['id' ],
250+ response_object = item ,
251+ ) for item in response ['entries' ]]
244252
245253 def create_group (self , name ):
246254 """
@@ -263,7 +271,11 @@ def create_group(self, name):
263271 }
264272 box_response = self ._session .post (url , data = json .dumps (body_attributes ))
265273 response = box_response .json ()
266- return Group (self ._session , response ['id' ], response )
274+ return Translator ().translate ('group' )(
275+ session = self ._session ,
276+ object_id = response ['id' ],
277+ response_object = response ,
278+ )
267279
268280 def get_shared_item (self , shared_link , password = None ):
269281 """
@@ -290,9 +302,9 @@ def get_shared_item(self, shared_link, password=None):
290302 headers = get_shared_link_header (shared_link , password ),
291303 ).json ()
292304 return Translator ().translate (response ['type' ])(
293- self ._session .with_shared_link (shared_link , password ),
294- response ['id' ],
295- response ,
305+ session = self ._session .with_shared_link (shared_link , password ),
306+ object_id = response ['id' ],
307+ response_object = response ,
296308 )
297309
298310 def make_request (self , method , url , ** kwargs ):
@@ -342,7 +354,11 @@ def create_user(self, name, login=None, **user_attributes):
342354 user_attributes ['is_platform_access_only' ] = True
343355 box_response = self ._session .post (url , data = json .dumps (user_attributes ))
344356 response = box_response .json ()
345- return User (self ._session , response ['id' ], response )
357+ return Translator ().translate ('user' )(
358+ session = self ._session ,
359+ object_id = response ['id' ],
360+ response_object = response ,
361+ )
346362
347363 def as_user (self , user ):
348364 """
0 commit comments