def return_challenge(request): """ :param request: request :return: perform signed challenge check """ # get request data data = json.loads(request.body) challenge = data.get('challenge', None) signature = data.get('signature', None) public_key = data.get('publicKey', None) ripple_address = data.get('ripple_address', None) username = data.get('username', None) challenge_sign_params = os.path.join( os.path.dirname(__file__), 'static/js/verify_challenge/challenge_sign_params.js' ) verify_challenge = os.path.join( os.path.dirname(__file__), 'static/js/verify_challenge/verify_challenge.js' ) # Write received sign params to js file logger.info('Writing sign params to js') f = open(challenge_sign_params, 'w+b') f.write(SIGN_PARAMS % (challenge, signature, public_key)) f.close() stderr, stdout = node_run(verify_challenge) if stdout.strip() != 'true': logger.warning('Challenge not verified') return HttpResponseForbidden(stderr) if not stdout or stderr: logger.error( 'An error occurred while verifying challenge: %s' % stderr ) return HttpResponseForbidden(stderr) # clear js file f = open(challenge_sign_params, 'w+b') f.close() logger.info('Challenge successfully verified') # authenticate user user = authenticate(username=username, ripple_address=ripple_address) if user and user.is_active: login(request, user) return HttpResponseRedirect('/') else: return HttpResponseForbidden('User was not found')
def get_image_link(self, cid, page): node_script = '' while node_script is '': node_script = self.get_data(self.general_formula % (cid, cid, page), 'http://www.dm5.com/m%d/' % cid).decode('utf-8') if node_script is '': webbrowser.open_new('http://www.dm5.com/m%d/' % cid) time.sleep(3) refined_script = 'process.stdout.write(' + node_script.strip() + ')\n' with open('towards_direct_link.js', 'w') as file: file.write(refined_script) stderr, stdout = node_run('towards_direct_link.js') return stdout.split(',')[0]
def return_challenge(request): """ :param request: request :return: perform signed challenge check """ # get request data data = json.loads(request.body) challenge = data.get('challenge', None) signature = data.get('signature', None) public_key = data.get('publicKey', None) ripple_address = data.get('ripple_address', None) username = data.get('username', None) challenge_sign_params = os.path.join( os.path.dirname(__file__), 'static/js/verify_challenge/challenge_sign_params.js') verify_challenge = os.path.join( os.path.dirname(__file__), 'static/js/verify_challenge/verify_challenge.js') # Write received sign params to js file logger.info('Writing sign params to js') f = open(challenge_sign_params, 'w+b') f.write(SIGN_PARAMS % (challenge, signature, public_key)) f.close() stderr, stdout = node_run(verify_challenge) if stdout.strip() != 'true': logger.warning('Challenge not verified') return HttpResponseForbidden(stderr) if not stdout or stderr: logger.error('An error occurred while verifying challenge: %s' % stderr) return HttpResponseForbidden(stderr) # clear js file f = open(challenge_sign_params, 'w+b') f.close() logger.info('Challenge successfully verified') # authenticate user user = authenticate(username=username, ripple_address=ripple_address) if user and user.is_active: login(request, user) return HttpResponseRedirect('/') else: return HttpResponseForbidden('User was not found')
def test_node_run_returns_output_from_script(self): stderr, stdout = node_run(os.path.join(os.path.dirname(__file__), 'test.js',)) self.assertEqual(stdout, 'python-nodejs test\n')
def test_node_run_returns_output(self): stderr, stdout = node_run('--version',) stdout = stdout.strip() self.assertEqual(stdout, node_version_raw)