def login(): if request.method == 'POST': username_form = request.form['username'] password_form = request.form['password'] if db.get( "SELECT COUNT(*) FROM users WHERE username = %s AND password = %s", [username_form, password_form])[0][0] > 0: return ''' <!DOCTYPE html> <html lang="de" dir="ltr"> <head> <meta charset="utf-8"> </head> <body> <script type="text/javascript"> localStorage.setItem("username","''' + username_form + '''"); window.location.replace("http://facharbeit-app.ddns.net:5000/chat"); </script </body> </html> ''' else: return render_template('login.html') else: return render_template('login.html')
def register(): if request.method == 'POST': lastname_form = request.form['lastName'] firstname_form = request.form['firstName'] username_form = request.form['username'] password_form = request.form['password'] db.set( "INSERT INTO users (lastName, firstName,username, password) VALUES (%s,%s,%s,%s)", (lastname_form, firstname_form, username_form, password_form)) return render_template('login.html') else: return render_template('register.html')
def patna_route(): if not table_exists('patna_data'): session['city'] = 'patna' return redirect(url_for('form_shop')) if 'sd' in session: session.pop('sd', None) if 'ed' in session: session.pop('ed', None) if request.method == 'POST': if request.form['btn'] == 'add': session['city'] = 'patna' session['state'] = 'bihar' city_t = pd.read_sql_table('patna_data', con=db) session['date'] = '%s' % city_t.columns[1] return redirect(url_for('form_product')) if request.form['btn'] == 'delete': product_to_delete = request.form.get('delete_product') delete_product('patna', product_to_delete) city_t = pd.read_sql_table('patna_data', con=db) city_t.replace(to_replace=[None], value='0', inplace=True) city_t.replace(to_replace=np.nan, value='0', inplace=True) state_t = pd.read_sql_table('bihar_data', con=db) product_in_city = set(z[9:-6] for z in city_t['Shops and Units'][1:]) revenue = 0 city_t2 = total_revenue('patna', 'bihar') if request.method == 'POST': if request.form['btn'] == 'revenue': if 'sd' in session: session.pop('sd', None) if 'ed' in session: session.pop('ed', None) d1 = request.form.get('start_date') d2 = request.form.get('end_date') session['sd'] = d1 session['ed'] = d2 if not d1 or not d2: revenue = 'Illegal Date' elif pd.Timestamp(session['sd']) > pd.Timestamp(session['ed']): revenue = 'Illegal Date' else: revenue = calc_revenue(city_t2, d1, d2) return render_template('patna.html', tables=[ city_t.to_html(classes='table table-bordered', col_space=150, index=False, table_id='dataTable', justify='center'), city_t2.to_html(classes='table table-bordered', col_space=150, index=False, table_id='dataTable', justify='center') ], titles=city_t.columns.values, listOfPro=product_in_city, revenue=revenue, sd=session['sd'] if 'sd' in session else None, ed=session['ed'] if 'ed' in session else None)
def state_input_route(): if 'state_name' in session: state = session['state_name'] if not table_exists('%s_data' % state): cursor.execute( "CREATE TABLE %s_data (name VARCHAR(255) , cost DOUBLE)" % state) connection.commit() temp = pd.read_sql_table('%s_data' % state, con=db) if request.method == 'POST': product_name = request.form.get('product_name') product_cost = request.form.get('product_cost') if product_name and product_cost and product_name not in list( temp['name']): error = 'Invalid Values' cursor.execute('''INSERT into %s_data (name, cost) values ('%s', %s)''' % (state, product_name, product_cost)) connection.commit() print('''INSERT into %s_data (name, cost) values ('%s', %s)''' % (state, product_name, product_cost)) temp = pd.read_sql_table('%s_data' % state, con=db) return render_template('state_input.html', tables=[ temp.to_html(classes='table table-bordered', col_space=150, index=False, table_id='product_table', justify='center') ], titles=temp.columns.values, state=state.upper()) else: return redirect(url_for('home'))
def city_input_route(): if 'city_name' in session: city_data = None city = session['city_name'] if table_exists('%s_data' % city): city_data = pd.read_sql_table('%s_data' % city, con=db) city_data.replace(to_replace=[None], value='0', inplace=True) city_data.replace(to_replace=np.nan, value='0', inplace=True) else: session['city'] = city return redirect(url_for('form_shop')) # print(city_data) if request.method == 'POST': if request.form['btn'] == 'upload': f = request.files['city_data'] f.save( os.path.join(app.config['UPLOAD_FOLDER'], '%s_data' % city)) city_data = pd.read_excel( os.path.join(app.config['UPLOAD_FOLDER'], '%s_data' % city)) city_data.set_index('Shops and Units', inplace=True) city_data = update_data(city_data) city_data.to_sql(name='%s_data' % city, con=db, if_exists='replace', index_label='Shops and Units') city_data.reset_index(inplace=True) return render_template('city_input.html', tables=[ city_data.to_html( classes='table table-bordered', col_space=150, index=False, table_id='product_table', justify='center') ], titles=city_data.columns.values, city=city.upper()) else: return redirect(url_for('home'))
def form_shop(): if 'city' in session: if (request.method == 'POST'): sdate = request.form.get('launch_date') edate = request.form.get('end_date') initial = request.form.get('initial_shops') growth = request.form.get('growth_rate') max_shop = request.form.get('max_shop') q = request.form.get('quarterly') new_df = add_product('Shops', sdate, edate, int(initial), int(growth), int(max_shop), q) save_excel(new_df, session['city']) new_df.to_sql(con=db, name='%s_data' % session['city'], if_exists='append', index_label='Shops and Units') return redirect(url_for('city_input_route')) else: return redirect(url_for('home')) return render_template('form_shop.html')
def form_product(): if 'city_name' in session: if (request.method == 'POST'): sdate = request.form.get('launch_date') edate = request.form.get('end_date') initial = request.form.get('initial_units') growth = request.form.get('growth_rate') max_unit = request.form.get('max_units') q = request.form.get('quarterly') name = request.form.get('product_name') new_df = add_product(name, sdate, edate, int(initial), int(growth), int(max_unit), q) new_df.to_sql(con=db, name='%s_data' % session['city_name'], if_exists='append', index_label='Shops and Units') temp = pd.read_sql_table('%s_data' % session['city_name'], con=db) temp.set_index('Shops and Units', inplace=True) save_excel(temp, session['city_name']) return redirect(url_for('city_input_route')) return render_template('form_product.html', listOfPro=['X', 'Y', 'Z']) return redirect(url_for('home'))
def up_route(): if not table_exists('up_revenue'): cursor.execute( "CREATE TABLE up_revenue (parameter VARCHAR(255) , value VARCHAR(255))" ) connection.commit() cursor.execute( '''INSERT into up_revenue (parameter, value) values ('rps', NULL)''' ) cursor.execute( '''INSERT into up_revenue (parameter, value) values ('rpe', NULL)''' ) cursor.execute( '''INSERT into up_revenue (parameter, value) values ('rcs', NULL)''' ) cursor.execute( '''INSERT into up_revenue (parameter, value) values ('rce', NULL)''' ) cursor.execute( '''INSERT into up_revenue (parameter, value) values ('pwds', NULL)''' ) cursor.execute( '''INSERT into up_revenue (parameter, value) values ('pwse', NULL)''' ) cursor.execute( '''INSERT into up_revenue (parameter, value) values ('cwds', NULL)''' ) cursor.execute( '''INSERT into up_revenue (parameter, value) values ('cwde', NULL)''' ) connection.commit() up_revenue = pd.read_sql_table('up_revenue', con=db) up_revenue.set_index('paramater', inplace=True) if request.method == 'POST': if request.form['btn'] == 'product_revenue': up_revenue.loc['rps', 'value'] = request.form.get('rps') up_revenue.loc['rpe', 'value'] = request.form.get('rpe') return render_template('up.html')
def forgot_password(): if request.method == 'POST': lastname_form = request.form['email'] return render_template('login.html') else: return render_template('forgot-password.html')
def delhi_route(): return render_template('delhi.html')
def bihar_route(): if not table_exists('bihar_data'): cursor.execute( "CREATE TABLE bihar_data (name VARCHAR(255) , cost DOUBLE)") connection.commit() if request.method == 'GET': session.clear() list_city = ['patna'] temp = pd.read_sql_table('bihar_data', con=db) session['lp'] = list(temp['name']) if request.method == 'POST': if request.form['btn'] == 'add': product_name = request.form.get('product_name') product_cost = request.form.get('product_cost') if not product_name or not product_cost or product_name in str( temp['name']): error = 'Invalid Values' product_name = request.form.get('product_name') product_cost = request.form.get('product_cost') if product_name and product_cost and product_name not in session[ 'lp']: error = 'Invalid Values' cursor.execute( '''INSERT into up_data (name, cost) values (%s, %s)''', (product_name, product_cost)) connection.commit() session['lp'].append(product_name) elif request.form['btn'] == 'revenue_product': if 'ssd' in session: session.pop('ssd', None) if 'sed' in session: session.pop('sed', None) if 'set_p' in session: session.pop('set_p', None) session['set_p'] = request.form.get('product_revenue') session['ssd'] = request.form.get('start_date') session['sed'] = request.form.get('end_date') if pd.Timestamp(session['ssd']) > pd.Timestamp(session['sed']): session['revenue'] = 'Illegal Date' else: session['revenue'] = calc_state_revenue( 'bihar', list_city, session['set_p'], session['ssd'], session['sed']) print(session['revenue']) elif request.form['btn'] == 'revenue_product_p': if 'psd' in session: session.pop('psd', None) if 'ped' in session: session.pop('ped', None) temp = pd.read_sql_table('bihar_data', con=db) session['lp'] = list(temp['name']) print(session['lp']) session['psd'] = request.form.get('start_date_p') session['ped'] = request.form.get('end_date_p') session['list_revenue'] = [ calc_state_revenue('bihar', list_city, i, session['psd'], session['ped']) for i in session['lp'] ] print(session['list_revenue']) elif request.form['btn'] == 'revenue_product_c': if 'csd' in session: session.pop('csd', None) if 'ced' in session: session.pop('ced', None) session['csd'] = request.form.get('start_date_c') session['ced'] = request.form.get('end_date_c') session['city_wise_revenue'] = [ calc_city_wise_revenue(c, session['csd'], session['ced'], 'bihar') for c in list_city ] print(session['city_wise_revenue']) temp = pd.read_sql_table('bihar_data', con=db) return render_template( 'bihar.html', tables=[ temp.to_html(classes='table table-bordered', col_space=150, index=False, table_id='dataTable', justify='center') ], titles=temp.columns.values, listOfPro=(temp['name']), revenue=session['revenue'] if 'revenue' in session else 0, ssd=session['ssd'] if 'ssd' in session else None, sed=session['sed'] if 'sed' in session else None, psd=session['psd'] if 'psd' in session else None, ped=session['ped'] if 'ped' in session else None, csd=session['csd'] if 'csd' in session else None, ced=session['ced'] if 'ced' in session else None, set_product=session['set_p'] if 'set_p' in session else None, lp=session['lp'] if 'lp' in session else [], list_revenue_city=session['city_wise_revenue'] if 'city_wise_revenue' in session else [], list_city=list_city, list_revenue_product=session['list_revenue'] if 'list_revenue' in session else [], colors_state=colors, colors_city=colors[::-1], data_state=zip(session['lp'], colors[:len(session['lp'])]), data_city=zip(list_city, colors[::-1]))
def product_cost(): return render_template('product_cost.html')
def home(): if request.method == 'POST': if request.form['btn'] == 'chosen_city': session['city_name'] = request.form.get('city_list') return redirect(url_for('city_input_route')) return render_template('index.html')