Source code for boxsdk.object.base_endpoint

# coding: utf-8

from __future__ import unicode_literals, absolute_import

from .cloneable import Cloneable


[docs]class BaseEndpoint(Cloneable): """A Box API endpoint.""" def __init__(self, session, **kwargs): """ :param session: The Box session used to make requests. :type session: :class:`BoxSession` :param kwargs: Keyword arguments for base class constructors. :type kwargs: `dict` """ super(BaseEndpoint, self).__init__(**kwargs) self._session = session @property def session(self): """ Get the :class:`BoxSession` instance the object is using. :rtype: :class:`BoxSession` """ return self._session @property def translator(self): """The translator used for translating Box API JSON responses into `BaseAPIJSONObject` smart objects. :rtype: :class:`Translator` """ return self._session.translator
[docs] def get_url(self, endpoint, *args): """ Return the URL used to access the endpoint. :param endpoint: The name of the endpoint. :type endpoint: `url` :param args: Additional parts of the endpoint URL. :type args: `Iterable` :rtype: `unicode` """ # pylint:disable=no-self-use return self._session.get_url(endpoint, *args)
[docs] def clone(self, session=None): """ Returns a copy of this cloneable object using the specified session. :param session: The Box session used to make requests. :type session: :class:`BoxSession` """ return self.__class__(session or self._session)