1111from ..object .search import Search
1212from ..object .events import Events
1313from ..util .shared_link import get_shared_link_header
14- from ..util .translator import Translator
1514
1615
1716class Client (Cloneable ):
@@ -62,6 +61,14 @@ def session(self):
6261 """
6362 return self ._session
6463
64+ @property
65+ def translator (self ):
66+ """The translator used for translating Box API JSON responses into `BaseAPIJSONObject` smart objects.
67+
68+ :rtype: :class:`Translator`
69+ """
70+ return self ._session .translator
71+
6572 def folder (self , folder_id ):
6673 """
6774 Initialize a :class:`Folder` object, whose box id is folder_id.
@@ -75,7 +82,7 @@ def folder(self, folder_id):
7582 :rtype:
7683 :class:`Folder`
7784 """
78- return Translator () .translate ('folder' )(session = self ._session , object_id = folder_id )
85+ return self . translator .translate ('folder' )(session = self ._session , object_id = folder_id )
7986
8087 def file (self , file_id ):
8188 """
@@ -90,7 +97,7 @@ def file(self, file_id):
9097 :rtype:
9198 :class:`File`
9299 """
93- return Translator () .translate ('file' )(session = self ._session , object_id = file_id )
100+ return self . translator .translate ('file' )(session = self ._session , object_id = file_id )
94101
95102 def user (self , user_id = 'me' ):
96103 """
@@ -105,7 +112,7 @@ def user(self, user_id='me'):
105112 :rtype:
106113 :class:`User`
107114 """
108- return Translator () .translate ('user' )(session = self ._session , object_id = user_id )
115+ return self . translator .translate ('user' )(session = self ._session , object_id = user_id )
109116
110117 def group (self , group_id ):
111118 """
@@ -120,7 +127,7 @@ def group(self, group_id):
120127 :rtype:
121128 :class:`Group`
122129 """
123- return Translator () .translate ('group' )(session = self ._session , object_id = group_id )
130+ return self . translator .translate ('group' )(session = self ._session , object_id = group_id )
124131
125132 def collaboration (self , collab_id ):
126133 """
@@ -135,7 +142,7 @@ def collaboration(self, collab_id):
135142 :rtype:
136143 :class:`Collaboration`
137144 """
138- return Translator () .translate ('collaboration' )(session = self ._session , object_id = collab_id )
145+ return self . translator .translate ('collaboration' )(session = self ._session , object_id = collab_id )
139146
140147 @api_call
141148 def users (self , limit = None , offset = 0 , filter_term = None ):
@@ -167,7 +174,7 @@ def users(self, limit=None, offset=0, filter_term=None):
167174 params ['filter_term' ] = filter_term
168175 box_response = self ._session .get (url , params = params )
169176 response = box_response .json ()
170- user_class = Translator () .translate ('user' )
177+ user_class = self . translator .translate ('user' )
171178 return [user_class (
172179 session = self ._session ,
173180 object_id = item ['id' ],
@@ -256,7 +263,7 @@ def group_membership(self, group_membership_id):
256263 :rtype:
257264 :class:`GroupMembership`
258265 """
259- return Translator () .translate ('group_membership' )(
266+ return self . translator .translate ('group_membership' )(
260267 session = self ._session ,
261268 object_id = group_membership_id ,
262269 )
@@ -274,7 +281,7 @@ def groups(self):
274281 url = '{0}/groups' .format (API .BASE_API_URL )
275282 box_response = self ._session .get (url )
276283 response = box_response .json ()
277- group_class = Translator () .translate ('group' )
284+ group_class = self . translator .translate ('group' )
278285 return [group_class (
279286 session = self ._session ,
280287 object_id = item ['id' ],
@@ -303,7 +310,7 @@ def create_group(self, name):
303310 }
304311 box_response = self ._session .post (url , data = json .dumps (body_attributes ))
305312 response = box_response .json ()
306- return Translator () .translate ('group' )(
313+ return self . translator .translate ('group' )(
307314 session = self ._session ,
308315 object_id = response ['id' ],
309316 response_object = response ,
@@ -334,7 +341,7 @@ def get_shared_item(self, shared_link, password=None):
334341 '{0}/shared_items' .format (API .BASE_API_URL ),
335342 headers = get_shared_link_header (shared_link , password ),
336343 ).json ()
337- return Translator () .translate (response ['type' ])(
344+ return self . translator .translate (response ['type' ])(
338345 session = self ._session .with_shared_link (shared_link , password ),
339346 object_id = response ['id' ],
340347 response_object = response ,
@@ -389,7 +396,7 @@ def create_user(self, name, login=None, **user_attributes):
389396 user_attributes ['is_platform_access_only' ] = True
390397 box_response = self ._session .post (url , data = json .dumps (user_attributes ))
391398 response = box_response .json ()
392- return Translator () .translate ('user' )(
399+ return self . translator .translate ('user' )(
393400 session = self ._session ,
394401 object_id = response ['id' ],
395402 response_object = response ,
0 commit comments