def refresh_from(self, values, api_key=None, partial=False, last_response=None): self.api_key = api_key or getattr(values, 'api_key', None) self._last_response = last_response # Wipe old state before setting new. This is useful for e.g. # updating a customer, where there is no persistent card # parameter. Mark those values which don't persist as transient if partial: self._unsaved_values = (self._unsaved_values - set(values)) else: removed = set(self.keys()) - set(values) self._transient_values = self._transient_values | removed self._unsaved_values = set() self.clear() self._transient_values = self._transient_values - set(values) for k, v in six.iteritems(values): super(PingppObject, self).__setitem__(k, util.convert_to_pingpp_object(v, api_key)) self._previous = values
def retrieve_refund(cls, id, refund_id, api_key=None, **params): requestor = api_requestor.APIRequestor(api_key) url = "%s/%s/order_refunds/%s" % (cls.class_url(), quote_plus(util.utf8(id)), quote_plus(util.utf8(refund_id))) response, api_key = requestor.request('get', url, params) return util.convert_to_pingpp_object(response, api_key)
def list(cls, api_key=None, **params): requestor = api_requestor.APIRequestor(api_key, api_base=cls.api_base()) url = cls.class_url() response, api_key = requestor.request('get', url, params) pingpp_object = util.convert_to_pingpp_object(response, api_key) pingpp_object._retrieve_params = params return pingpp_object
def request(self, method, url, params=None, headers=None): if params is None: params = self._retrieve_params requestor = api_requestor.APIRequestor(key=self.api_key, api_base=self.api_base()) response, api_key = requestor.request(method, url, params, headers) return util.convert_to_pingpp_object(response, api_key)
def create_transfer_channel(cls, sub_app, api_key=None, app=None, **params): requestor = api_requestor.APIRequestor(api_key) url = "%s/%s/transfer_channels" % (cls.class_url(app), quote_plus(util.utf8(sub_app))) response, api_key = requestor.request('post', url, params) return util.convert_to_pingpp_object(response, api_key)
def delete_channel(cls, sub_app, channel, api_key=None, app=None, **params): requestor = api_requestor.APIRequestor(api_key) url = "%s/%s/channels/%s" % (cls.class_url(app), quote_plus(util.utf8(sub_app)), quote_plus(util.utf8(channel))) response, api_key = requestor.request('delete', url, params) return util.convert_to_pingpp_object(response, api_key)
def delete(cls, user, id, app=None, api_key=None, **params): requestor = api_requestor.APIRequestor(api_key) url = "%s/%s" % (cls.class_url(app, user), quote_plus(util.utf8(id))) response, api_key = requestor.request('delete', url, params) return util.convert_to_pingpp_object(response, api_key)
def list_charges(cls, id, api_key=None, **params): requestor = api_requestor.APIRequestor(api_key) url = "%s/%s/charges" % (cls.class_url(), quote_plus(util.utf8(id))) response, api_key = requestor.request('get', url, params) return util.convert_to_pingpp_object(response, api_key)
def create(cls, api_key=None, app=None, **params): requestor = api_requestor.APIRequestor(api_key) url = cls.class_url(app) response, api_key = requestor.request('post', url, params) return util.convert_to_pingpp_object(response, api_key)
def reverse(cls, id, api_key=None, **params): url = cls.class_url() + '/%s/reverse' % quote_plus(util.utf8(id)) requestor = api_requestor.APIRequestor(api_key) response, api_key = requestor.request('post', url, params) return util.convert_to_pingpp_object(response, api_key)
def _modify(cls, url, api_key=None, app=None, **params): requestor = api_requestor.APIRequestor(api_key) response, api_key = requestor.request('put', url, params) return util.convert_to_pingpp_object(response, api_key)
def refund(cls, id, api_key=None, app=None, **params): requestor = api_requestor.APIRequestor(api_key) url = "%s/%s/refunds" % (cls.class_url(app), quote_plus(util.utf8(id))) response, api_key = requestor.request('post', url, params) return util.convert_to_pingpp_object(response, api_key)