Guest User

Untitled

a guest
Nov 12th, 2018
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.31 KB | None | 0 0
  1. import flask
  2. import sqlite3
  3. from flask import render_template
  4.  
  5. app = flask.Flask(__name__)
  6. app.secret_key = 'super secret string' # Change this!
  7.  
  8. import flask_login
  9.  
  10. login_manager = flask_login.LoginManager()
  11.  
  12. login_manager.init_app(app)
  13.  
  14. # Our mock database for login.
  15. users = {'foo@bar.tld': {'password': 'secret'}}
  16.  
  17. class User(flask_login.UserMixin):
  18. pass
  19.  
  20.  
  21. @login_manager.user_loader
  22. def user_loader(email):
  23. if email not in users:
  24. return
  25.  
  26. user = User()
  27. user.id = email
  28. return user
  29.  
  30.  
  31. @login_manager.request_loader
  32. def request_loader(request):
  33. email = request.form.get('email')
  34. if email not in users:
  35. return
  36.  
  37. user = User()
  38. user.id = email
  39.  
  40. # DO NOT ever store passwords in plaintext and always compare password
  41. # hashes using constant-time comparison!
  42. user.is_authenticated = request.form['password'] == users[email]['password']
  43.  
  44. return user
  45.  
  46. @app.route('/')
  47. def home():
  48. return flask.redirect('/login')
  49.  
  50. @app.route('/login', methods=['GET', 'POST'])
  51. def login():
  52. if flask.request.method == 'GET':
  53. return render_template('login.html')
  54. # return '''
  55. # <form action='login' method='POST'>
  56. # <input type='text' name='email' id='email' placeholder='email'/>
  57. # <input type='password' name='password' id='password' placeholder='password'/>
  58. # <input type='submit' name='submit'/>
  59. # </form>
  60. # '''
  61.  
  62. email = flask.request.form['email']
  63. if flask.request.form['password'] == users[email]['password']:
  64. user = User()
  65. user.id = email
  66. flask_login.login_user(user)
  67. return flask.redirect(flask.url_for('protected'))
  68.  
  69. return 'Bad login'
  70.  
  71.  
  72. @app.route('/protected')
  73. @flask_login.login_required
  74. def protected():
  75. return flask.redirect('/dash')
  76.  
  77. @app.route('/logout')
  78. def logout():
  79. flask_login.logout_user()
  80. return 'Logged out'
  81.  
  82. @login_manager.unauthorized_handler
  83. def unauthorized_handler():
  84. return 'Unauthorized'
  85.  
  86. # @app.route('/dashboard', methods=['GET', 'POST'])
  87. # def dashboard():
  88. # if flask.request.method == 'GET':
  89. # conn = sqlite3.connect("med.db")
  90. # c=conn.cursor()
  91. # x1=c.execute("SELECT * from record where admitted='Y'")
  92.  
  93. # conn.commit()
  94. # conn.close()
  95. # return render_template('dash.html',x=x1)
  96.  
  97. @app.route('/dash', methods=['GET','POST'])
  98. def dash():
  99. if flask.request.method =='GET':
  100. conn = sqlite3.connect("med.db")
  101. c=conn.cursor()
  102. x=c.execute("SELECT * from record where admitted='Y'")
  103. return render_template('dash.html',x=x)
  104.  
  105.  
  106. id=flask.request.form['id']
  107. return flask.redirect('/patient/'+id)
  108.  
  109. @app.route('/create')
  110. def create():
  111.  
  112. conn = sqlite3.connect("med.db")
  113. c=conn.cursor()
  114. x=c.execute("SELECT * from record ORDER BY patientid")
  115. for row in x:
  116. y=row[0]
  117. y=y+1
  118. x=c.execute("INSERT into record values("+str(y)+",'','','M','','','','','','','','','','')")
  119. conn.commit()
  120. conn.close()
  121. return flask.redirect('/edit/'+str(y))
  122.  
  123.  
  124. @app.route('/patient/<id>')
  125. def profile(id):
  126.  
  127. conn = sqlite3.connect("med.db")
  128. c=conn.cursor()
  129. flag=False
  130. x = c.execute("SELECT * FROM record where patientid="+id)
  131. for row in x:
  132. id=row[0]
  133. name=row[1]
  134. age=row[2]
  135. gender=row[3]
  136. loc=row[4]
  137. his=row[5]
  138. alle=row[6]
  139. sym=row[7]
  140. bg=row[8]
  141. hb=row[9]
  142. ins=row[10]
  143. adm=row[11]
  144. dan=row[12]
  145. med=row[13]
  146. flag=True
  147. conn.commit()
  148. conn.close()
  149. if flag:
  150. return render_template('profile.html',id=id,name=name,age=age,gender=gender,loc=loc,his=his,alle=alle,sym=sym,bg=bg,hb=hb,ins=ins,adm=adm,dan=dan,med=med)
  151. else:
  152. return "patient id not in database"
  153.  
  154. @app.route('/edit/<id>', methods=['GET', 'POST'])
  155. @flask_login.login_required
  156. def edit(id):
  157. if flask.request.method == 'GET':
  158.  
  159. conn = sqlite3.connect("med.db")
  160. c=conn.cursor()
  161. flag=False
  162. x = c.execute("SELECT * FROM record where patientid="+id)
  163. for row in x:
  164. id=row[0]
  165. name=row[1]
  166. age=row[2]
  167. gender=row[3]
  168. loc=row[4]
  169. his=row[5]
  170. alle=row[6]
  171. sym=row[7]
  172. bg=row[8]
  173. hb=row[9]
  174. ins=row[10]
  175. adm=row[11]
  176. dan=row[12]
  177. med=row[13]
  178. flag=True
  179. conn.commit()
  180. conn.close()
  181. if flag:
  182. return render_template('edit.html',id=id,name=name,age=age,gender=gender,loc=loc,his=his,alle=alle,sym=sym,bg=bg,hb=hb,ins=ins,adm=adm,dan=dan,med=med)
  183. else:
  184. return "id not found"
  185.  
  186. id=flask.request.form['id']
  187. name=flask.request.form['name']
  188. age=flask.request.form['age']
  189. gender=flask.request.form['gender']
  190. loc=flask.request.form['loc']
  191. his=flask.request.form['his']
  192. alle=flask.request.form['alle']
  193. sym=flask.request.form['sym']
  194. bg=flask.request.form['bg']
  195. hb=flask.request.form['hb']
  196. ins=flask.request.form['ins']
  197. adm=flask.request.form['adm']
  198. dan=flask.request.form['dan']
  199. med=flask.request.form['med']
  200.  
  201. conn = sqlite3.connect("med.db")
  202. c=conn.cursor()
  203. x = c.execute("update record set name='"+name+"', age ='"+age+"' ,gender ='"+gender+"', location = '"+loc+"' ,history ='"+his+"', allergies='"+alle+"' ,symptoms ='"+sym+"', bloodgroup='"+bg+"', haemoglobin="+hb+" ,insurance='"+ins+"' ,admitted ='"+adm+"' ,danger ='"+dan+"', medication ='"+med+"' where patientid='"+id+"'" )
  204. x=c.execute("UPDATE record set danger='Y' where haemoglobin<'10.0'");
  205. conn.commit()
  206. conn.close()
  207. return flask.redirect('/patient/'+id)
Add Comment
Please, Sign In to add comment