def verify_phone(self, number, **kw): p = plugin.ProjectRegistrationProvider.get() result = p.verify_phone(c.user, number) request_id = result.pop('request_id', None) if request_id: session['phone_verification.request_id'] = request_id number_hash = utils.phone_number_hash(number) session['phone_verification.number_hash'] = number_hash session.save() if 'error' in result: result['error'] = jinja2.Markup.escape(result['error']) result['error'] = h.really_unicode(result['error']) return result
def post(self, url, **params): if url[-1] != '/': url += '/' url = urljoin(url, 'json') headers = {'Content-Type': 'application/json'} params = self.add_common_params(params) log_params = dict(params, api_key='...', api_secret='...') if 'number' in log_params: log_params['number'] = phone_number_hash(log_params['number']) post_params = json.dumps(params, sort_keys=True) log.info('PhoneService (nexmo) request: %s %s', url, log_params) try: resp = requests.post(url, data=post_params, headers=headers) log.info('PhoneService (nexmo) response: %s', resp.content) resp = resp.json() except Exception: log.exception('Failed sending request to Nexmo') return self.error() if resp.get('status') == '0': return self.ok(request_id=resp.get('request_id')) return self.error(code=resp.get('status'), msg=resp.get('error_text'), number=params.get('number',''))
def post(self, url, **params): if url[-1] != '/': url += '/' url = urljoin(url, 'json') headers = {'Content-Type': 'application/json'} params = self.add_common_params(params) log_params = dict(params, api_key='...', api_secret='...') if 'number' in log_params: log_params['number'] = phone_number_hash(log_params['number']) post_params = json.dumps(params, sort_keys=True) log.info('PhoneService (nexmo) request: %s %s', url, log_params) try: resp = requests.post(url, data=post_params, headers=headers) log.info('PhoneService (nexmo) response: %s', resp.content) resp = resp.json() except Exception: log.exception('Failed sending request to Nexmo') return self.error() if resp.get('status') == '0': return self.ok(request_id=resp.get('request_id')) return self.error(code=resp.get('status'), msg=resp.get('error_text'), number=params.get('number', ''))