def send_letter_image(self, image_data, image_type, base64encoded=True): """ Sends an image of a Letter to Onramp U.S. Image Upload Service. See http://developer.compassion.com/docs/read/compassion_connect2/ service_catalog/Image_Submission Returns the uploaded image URL. """ content_type = "" if image_type == "pdf": content_type = "application" else: content_type = "image" headers = {f"Content-type": f"{content_type}/{image_type}"} params = {"doctype": "s2bletter"} url = self._connect_url + "images/documents" OnrampConnector.log_message("POST", url, headers, message="{image binary data not shown}") if base64encoded: data = base64.b64decode(image_data) else: data = image_data r = self._session.post(url, params=params, headers=headers, data=data) status = r.status_code if status == 201: letter_url = r.text else: raise UserError(_("[%s] %s") % (str(r.status_code), r.text)) return letter_url
def send_letter_image(self, image_data, image_type, base64encoded=True): """ Sends an image of a Letter to Onramp U.S. Image Upload Service. See http://developer.compassion.com/docs/read/compassion_connect2/ service_catalog/Image_Submission Returns the uploaded image URL. """ headers = {'Content-type': 'image/{0}'.format(image_type)} params = {'doctype': 's2bletter'} url = self._connect_url + 'images/documents' OnrampConnector.log_message('POST', url, headers, message='{image binary data not shown}') if base64encoded: data = base64.b64decode(image_data) else: data = image_data r = self._session.post(url, params=params, headers=headers, data=data) status = r.status_code if status == 201: letter_url = r.text else: raise UserError(_('[%s] %s') % (r.status_code, r.text)) return letter_url
def get_letter_image(self, letter_url, img_type='jpeg', pages=0, dpi=96): """ Calls Letter Image Service from Onramp U.S. and get the data http://developer.compassion.com/docs/read/compassion_connect2/ service_catalog/Image_Retrieval """ params = {'format': img_type, 'pg': pages, 'dpi': dpi} OnrampConnector.log_message('GET', letter_url) r = self._session.get(letter_url, params=params) letter_data = None if r.status_code == 200: letter_data = base64.b64encode(r.content) return letter_data
def test_message(self, test_message): """ Sends a message to any onramp. :param test_message (onramp.simulator record): the message to send """ headers = { "Content-type": "application/json", "x-cim-MessageType": test_message.message_type_url, "x-cim-FromAddress": "CHTest", "x-cim-ToAddress": "CH", } url = test_message.server_url body = test_message.body_json OnrampConnector.log_message("POST", url, headers, body) r = self._session.post(url, headers=headers, json=simplejson.loads(body)) status = r.status_code OnrampConnector.log_message(status, "RESULT", message=r.text) test_message.write({"result": r.text, "result_code": r.status_code})
def test_message(self, test_message): """ Sends a message to any onramp. :param test_message (onramp.simulator record): the message to send """ headers = { 'Content-type': 'application/json', 'x-cim-MessageType': test_message.message_type_url, 'x-cim-FromAddress': 'CHTest', 'x-cim-ToAddress': 'CH' } url = test_message.server_url body = test_message.body_json OnrampConnector.log_message('POST', url, headers, body) r = self._session.post(url, headers=headers, json=simplejson.loads(body)) status = r.status_code OnrampConnector.log_message(status, 'RESULT', message=r.text) test_message.write({ 'result': r.text, 'result_code': r.status_code })