Example #1
0
 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
Example #2
0
 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
Example #3
0
 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',''))
Example #4
0
 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', ''))