11# coding: utf-8
22
3- from __future__ import unicode_literals
3+ from __future__ import unicode_literals , absolute_import
44import json
55
6- from .auth import DeveloperTokenAuth
7- from .config import API
8- from .session .box_session import BoxSession
9- from .network .default_network import DefaultNetwork
10- from .object .user import User
11- from .object .folder import Folder
12- from .object .search import Search
13- from .object .events import Events
14- from .object .file import File
15- from .object .group import Group
16- from .object .group_membership import GroupMembership
17- from .util .shared_link import get_shared_link_header
18- from .util .translator import Translator
6+ from ..config import API
7+ from ..session .box_session import BoxSession
8+ from ..network .default_network import DefaultNetwork
9+ from ..object .user import User
10+ from ..object .folder import Folder
11+ from ..object .search import Search
12+ from ..object .events import Events
13+ from ..object .file import File
14+ from ..object .group import Group
15+ from ..object .group_membership import GroupMembership
16+ from ..util .shared_link import get_shared_link_header
17+ from ..util .translator import Translator
1918
2019
2120class Client (object ):
2221
23- def __init__ (self , oauth , network_layer = None , session = None ):
22+ def __init__ (
23+ self ,
24+ oauth = None ,
25+ network_layer = None ,
26+ session = None ,
27+ ):
2428 """
2529 :param oauth:
2630 OAuth2 object used by the session to authorize requests.
@@ -40,6 +44,16 @@ def __init__(self, oauth, network_layer=None, session=None):
4044 self ._network = network_layer
4145 self ._session = session or BoxSession (oauth = oauth , network_layer = network_layer )
4246
47+ @property
48+ def auth (self ):
49+ """
50+ Get the :class:`OAuth2` instance the client is using for auth to Box.
51+
52+ :rtype:
53+ :class:`OAuth2`
54+ """
55+ return self ._oauth
56+
4357 def folder (self , folder_id ):
4458 """
4559 Initialize a :class:`Folder` object, whose box id is folder_id.
@@ -360,10 +374,20 @@ def with_shared_link(self, shared_link, shared_link_password):
360374 self ._session .with_shared_link (shared_link , shared_link_password ),
361375 )
362376
377+ def get_url (self , endpoint , * args ):
378+ """
379+ Return the URL for the given Box API endpoint.
363380
364- class DeveloperTokenClient (Client ):
365- """
366- Box client subclass which authorizes with a developer token.
367- """
368- def __init__ (self , oauth = None , network_layer = None , session = None ):
369- super (DeveloperTokenClient , self ).__init__ (oauth or DeveloperTokenAuth (), network_layer , session )
381+ :param endpoint:
382+ The name of the endpoint.
383+ :type endpoint:
384+ `url`
385+ :param args:
386+ Additional parts of the endpoint URL.
387+ :type args:
388+ `Iterable`
389+ :rtype:
390+ `unicode`
391+ """
392+ # pylint:disable=no-self-use
393+ return self ._session .get_url (endpoint , * args )
0 commit comments