def apisolr(): acsrf = request.forms.get('antiCSRF') ses_id = request.forms.get('session_id') if (not auth.is_valid_acsrf(ses_id)): dict = {0: {"status": "BadAuthentication"}} return dict; auth.update_acsrf(ses_id) portfolio = request.forms.get('portfolio') print "portfolio = "+portfolio r = requests.get(URL_TO_MORRIS_PORTFOLIOS_API+"/decoration/"+portfolio) content = r.text d = ast.literal_eval(r.text) p3ids = d['data'] payload = { 'username' : PricesPaidAPIUsername,\ 'password' : PricesPaidAPIPassword,\ 'p3ids' : pickle.dumps(p3ids) } r = requests.post(URLToPPSearchApiSolr+"/fromIds", data=payload, \ auth=(PricesPaidAPIBasicAuthUsername, PricesPaidAPIBasicAuthPassword), verify=False) LogActivity.logDebugInfo("Got Past Post to :"+URLToPPSearchApiSolr) content = r.text # This is inefficient, but I can't seem to get Bottle to # let me procure a correct JSON response with out using a dictionary. # I tried using BaseResponse. This could be my weakness # with Python or confusion in Bottle. d = ast.literal_eval(content) return d
def apisolr(): acsrf = request.query['antiCSRF'] ses_id = request.query['session_id'] if (not auth.is_valid_acsrf(ses_id)): dict = {0: {"status": "BadAuthentication"}} return dict; auth.update_acsrf(ses_id) portfolio = request.query['portfolio'] print "portfolio = "+portfolio r = requests.get(URL_TO_MORRIS_PORTFOLIOS_API+"/decoration/"+portfolio) content = r.text d = ast.literal_eval(r.text) p3ids = d['data'] payload = { 'username' : PricesPaidAPIUsername,\ 'password' : PricesPaidAPIPassword,\ 'p3ids' : pickle.dumps(p3ids) } r = requests.post(URLToPPSearchApiSolr+"/fromIds", data=payload, \ auth=(PricesPaidAPIBasicAuthUsername, PricesPaidAPIBasicAuthPassword), verify=False) LogActivity.logDebugInfo("Got Past Post to :"+URLToPPSearchApiSolr) content = r.text d = ast.literal_eval(content) html = "" for key, vdict in d.iteritems(): # Turn this into a function! html = html + produceHTML(vdict) # Actually, here we need to loop over a template, but I will try this first! return html
def feedback(): acsrf = request.forms.get('antiCSRF') ses_id = request.forms.get('session_id') LogActivity.logDebugInfo("acsrf ses_d :"+acsrf+ses_id) if (not auth.is_valid_acsrf(ses_id)): dict = {0: {"status": "BadAuthentication"}} return dict; LogActivity.logDebugInfo("authenticated !") LogActivity.logFeedback(ses_id) message = request.forms.get('message') name = request.forms.get('name') radio_list_value = request.forms.get('radio_list_value') LogFeedback.logFeedback(name,message,radio_list_value); return "true";
def is_valid_acsrf(session_id,acsrf): if (session_id in GLOBAL_SESSION_DICT): timestamp = GLOBAL_SESSION_DICT[session_id][1] timenow = datetime.datetime.now() timedelta = timenow - timestamp if (timedelta < datetime.timedelta(seconds=TokenTimeout)): if (acsrf != GLOBAL_SESSION_DICT[session_id][0]): LogActivity.logDebugInfo("ACSRF Mismatch provided vs. stored :"+acsrf+","+GLOBAL_SESSION_DICT[session_id][0]) return False else: return True else: LogActivity.logTimeout(session_id) return False else: LogActivity.logMissingSession(session_id) return False;
def apisolr(): acsrf = request.forms.get('antiCSRF') ses_id = request.forms.get('session_id') if (not auth.is_valid_acsrf(ses_id)): dict = {0: {"status": "BadAuthentication"}} return dict; auth.update_acsrf(ses_id) search_string = request.forms.get('search_string') psc_pattern = request.forms.get('psc_pattern') max_results = request.forms.get('numRows') LogActivity.logSearchBegun(ses_id,psc_pattern,search_string) payload = { 'username' : PricesPaidAPIUsername,\ 'password' : PricesPaidAPIPassword,\ 'search_string': search_string,\ 'psc_pattern': psc_pattern,\ 'numRows': max_results } r = requests.post(URLToPPSearchApiSolr, data=payload, \ auth=(PricesPaidAPIBasicAuthUsername, PricesPaidAPIBasicAuthPassword), verify=False) LogActivity.logDebugInfo("Got Past Post to :"+URLToPPSearchApiSolr) content = r.text # This is inefficient, but I can't seem to get Bottle to # let me procure a correct JSON response with out using a dictionary. # I tried using BaseResponse. This could be my weakness # with Python or confusion in Bottle. d = ast.literal_eval(content) LogActivity.logSearchDone(ses_id,psc_pattern,search_string) return d
def apisolr(): acsrf = request.forms.get('antiCSRF') ses_id = request.forms.get('session_id') if (not auth.is_valid_acsrf(ses_id)): dict = {0: {"status": "BadAuthentication"}} return dict; auth.update_acsrf(ses_id) search_string = request.forms.get('search_string') psc_pattern = request.forms.get('psc_pattern') LogActivity.logSearchBegun(ses_id,psc_pattern,search_string) payload = { 'username' : PricesPaidAPIUsername,\ 'password' : PricesPaidAPIPassword,\ 'search_string': search_string,\ 'psc_pattern': psc_pattern} r = requests.post(URLToPPSearchApiSolr, data=payload, \ auth=(PricesPaidAPIBasicAuthUsername, PricesPaidAPIBasicAuthPassword), verify=False) LogActivity.logDebugInfo("Got Past Post to :"+URLToPPSearchApiSolr) content = r.text # This is inefficient, but I can't seem to get Bottle to # let me procure a correct JSON response with out using a dictionary. # I tried using BaseResponse. This could be my weakness # with Python or confusion in Bottle. d = ast.literal_eval(content) LogActivity.logSearchDone(ses_id,psc_pattern,search_string) return d
def get_portfolios(): LogActivity.logDebugInfo("Begin Create Portfolios") r = requests.get(URL_TO_MORRIS_PORTFOLIOS_API+"/decoration") d = ast.literal_eval(r.text) return d
def update_new_acsrf(session_id,acsrf): timestamp = datetime.datetime.now(); GLOBAL_SESSION_DICT[session_id] = [acsrf,timestamp] LogActivity.logDebugInfo("SETTING ACSRF session, acsrf "+session_id+"."+GLOBAL_SESSION_DICT[session_id][0]) return session_id;