def second(): # need refactor dbwrapper calls dbwrapper = db_queries.DBWrapper(DEFFAULT_DEVICE_TYPE) # getting computers id: if "type" in request.args.keys(): session["type"] = request.args["type"] dbwrapper = db_queries.DBWrapper(request.args["type"]) devices_id, devices_dss, dss_dict = filtered_devices_id(FILTERS[dbwrapper.device], request.args, dbwrapper) if "user_id" in session: db_queries.delete_user(session["user_id"]) del session["user_id"] user_id = db_queries.add_user(devices_id, devices_dss) session["user_id"] = user_id else: # first page (without_question) devices_id, devices_dss, dss_dict = None, None, {} # nothing to return return render_template( "QandA.html", computers=[], filters=FILTERS[u"all"], pagination_pages=[], dss_dict=dss_dict, tooltips=TOOLTIPS_DICT, without_question=True, prom=PROM, ) if devices_id: last_page = int(round(float(len(devices_id)) / COMPUTERS_ON_PAGE + 0.49)) first_comp_index = 0 last_comp_index = min(COMPUTERS_ON_PAGE, len(devices_id)) devices_id_on_page = devices_id[first_comp_index:last_comp_index] devices_dss_on_page = devices_dss[first_comp_index:last_comp_index] pretty_devices = pretty_data.small_devices(devices_id_on_page, devices_dss_on_page, dbwrapper) return render_template( "QandA.html", computers=pretty_devices, filters=FILTERS[u"all"], pagination_pages=pretty_data.pagination_pages(last_page), dss_dict=dss_dict, tooltips=TOOLTIPS_DICT, without_question=False, prom=PROM, ) else: return render_template( "QandA.html", computers=[], filters=FILTERS[u"all"], pagination_pages=[], dss_dict=dss_dict, tooltips=TOOLTIPS_DICT, without_question=False, prom=PROM, )
def second(): #need refactor dbwrapper calls dbwrapper = db_queries.DBWrapper(DEFFAULT_DEVICE_TYPE) #getting computers id: if 'type' in request.args.keys(): session['type'] = request.args['type'] dbwrapper = db_queries.DBWrapper(request.args['type']) devices_id, devices_dss, dss_dict = filtered_devices_id( FILTERS[dbwrapper.device], request.args, dbwrapper) if 'user_id' in session: db_queries.delete_user(session['user_id']) del session['user_id'] user_id = db_queries.add_user(devices_id, devices_dss) session['user_id'] = user_id else: # first page (without_question) devices_id, devices_dss, dss_dict = None, None, {} # nothing to return return render_template('QandA.html', computers=[], filters=FILTERS[u'all'], pagination_pages=[], dss_dict=dss_dict, tooltips=TOOLTIPS_DICT, without_question=True, prom=PROM) if devices_id: last_page = int( round(float(len(devices_id)) / COMPUTERS_ON_PAGE + 0.49)) first_comp_index = 0 last_comp_index = min(COMPUTERS_ON_PAGE, len(devices_id)) devices_id_on_page = devices_id[first_comp_index:last_comp_index] devices_dss_on_page = devices_dss[first_comp_index:last_comp_index] pretty_devices = pretty_data.small_devices(devices_id_on_page, devices_dss_on_page, dbwrapper) return render_template( 'QandA.html', computers=pretty_devices, filters=FILTERS[u'all'], pagination_pages=pretty_data.pagination_pages(last_page), dss_dict=dss_dict, tooltips=TOOLTIPS_DICT, without_question=False, prom=PROM) else: return render_template('QandA.html', computers=[], filters=FILTERS[u'all'], pagination_pages=[], dss_dict=dss_dict, tooltips=TOOLTIPS_DICT, without_question=False, prom=PROM)
def second(): #need refactor dbwrapper calls dbwrapper = db_queries.DBWrapper(DEFFAULT_DEVICE_TYPE) #getting computers id: print request.args if 'type' in request.args.keys(): session['type'] = request.args['type'] dbwrapper = db_queries.DBWrapper(request.args['type']) devices_id, devices_dss, dss_dict = filtered_devices_id(FILTERS[dbwrapper.device], request.args, dbwrapper) if 'user_id' in session: dbwrapper.delete_user(session['user_id']) del session['user_id'] user_id = dbwrapper.add_user(devices_id, devices_dss) session['user_id'] = user_id else: if 'user_id' in session: dbwrapper = db_queries.DBWrapper(session['type']) user = dbwrapper.get_user(session['user_id']) if user: devices_id, devices_dss = user.devices_id, user.devices_dss dss_dict = {} # ???? else: # there is no such user in our db del session['user_id'] devices_id, devices_dss, dss_dict = [], [], {} # nothing to return else: devices_id, devices_dss, dss_dict = [], [], {} # nothing to return last_page = int(round(float(len(devices_id)) / COMPUTERS_ON_PAGE + 0.49)) # pagination test(if bad or wrong page) - REWRITE!!! try: page = int(request.args.get('page', '')) if 'page' in request.args else 1 except ValueError: abort(404) # if page > last_page or page < 1: # abort(404) first_comp_index = (page - 1) * COMPUTERS_ON_PAGE last_comp_index = min(page * COMPUTERS_ON_PAGE, len(devices_id)) devices_id_on_page = devices_id[first_comp_index: last_comp_index] devices_dss_on_page = devices_dss[first_comp_index: last_comp_index] pretty_devices = pretty_data.small_devices(devices_id_on_page, devices_dss_on_page, dbwrapper) return render_template('QandA.html', computers=pretty_devices, filters=FILTERS[u'all'], current_page=page, pagination_pages=pretty_data.pagination_pages(page, last_page), dss_dict=dss_dict)