Advertisement
Guest User

Untitled

a guest
Apr 4th, 2016
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.27 KB | None | 0 0
  1. from flask_sqlalchemy import SQLAlchemy
  2. from flask import Flask
  3. import time
  4.  
  5. app = Flask(__name__)
  6. app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///database.db'
  7.  
  8. db = SQLAlchemy(app)
  9.  
  10.  
  11. class User(db.Model):
  12. id = db.Column(db.Integer, primary_key=True)
  13. username = db.Column(db.String(80), unique=True)
  14. password = db.Column(db.String(120))
  15. door_1 = db.Column(db.Integer)
  16. door_2 = db.Column(db.Integer)
  17. door_3 = db.Column(db.Integer)
  18.  
  19. def __init__(self, username, password, door_1, door_2, door_3):
  20. self.username = username
  21. self.password = password
  22. self.door_1 = door_1
  23. self.door_2 = door_2
  24. self.door_3 = door_3
  25.  
  26. def __repr__(self):
  27. return '<User %r>' % self.username
  28.  
  29.  
  30. class Log(db.Model):
  31. id = db.Column(db.Integer, primary_key=True)
  32. log = db.Column(db.String(200), unique=True)
  33.  
  34. def __init__(self, log):
  35. self.log = log
  36.  
  37. def __repr__(self):
  38. return '<User %r>' % self.username
  39.  
  40.  
  41. @app.route('/')
  42. def index():
  43. return "hey"
  44.  
  45.  
  46. @app.route('/adduser/<username>/<password>')
  47. def add_user(username, password):
  48. if (username is not None) and (password is not None):
  49. db.session.add(User(username, password, 0, 0, 0))
  50. db.session.commit()
  51. return "Done!!"
  52. else:
  53. return 'Error'
  54.  
  55.  
  56. @app.route('/login/<username>/<password>')
  57. def log_in(username, password):
  58. if username is None or password is None:
  59. return "Please enter Username and Password"
  60. else:
  61. user = User.query.filter_by(username=username).first()
  62. if user is None:
  63. return "incorrect Username"
  64. elif user.password != password:
  65. return "incorrect password"
  66. else:
  67. if username is not "ahmed":
  68. return "User"
  69. return "Pass"
  70.  
  71.  
  72. @app.route("/access")
  73. def accesslog():
  74. s = ""
  75. for log in Log.query.all():
  76. s=s + log.log+"\n"
  77. return s
  78.  
  79.  
  80. @app.route('/open/<username>/<password>/<door>')
  81. def openDoor(username, password, door):
  82. if username is None or password is None:
  83. return "Please enter Username and Password"
  84. else:
  85. user = User.query.filter_by(username=username).first()
  86. if user is None:
  87. return "incorrect Username"
  88. elif user.password != password:
  89. return "incorrect password"
  90. else:
  91. if door == "1":
  92. if user.door_1 == 1:
  93. return "blocked"
  94. # opendoor(1)
  95. elif door == "2":
  96. if user.door_2 == 1:
  97. return "blocked"
  98. # opendoor(2)
  99.  
  100. elif door == "3":
  101. if user.door_3 == 1:
  102. return "blocked"
  103. # opendoor(3)
  104. db.session.add(Log(username + " opened door number " + door + " at time "+time.strftime("%d/%m/%Y %I:%M:%S %p")))
  105. db.session.commit()
  106. return "opened"
  107.  
  108.  
  109. @app.route('/close/<username>/<password>/<door>')
  110. def closeDoor(username, password, door):
  111. if username is None or password is None:
  112. return "Please enter Username and Password"
  113. else:
  114. user = User.query.filter_by(username=username).first()
  115. if user is None:
  116. return "incorrect Username"
  117. elif user.password != password:
  118. return "incorrect password"
  119. else:
  120. if door == "1":
  121. if user.door_1 == 1:
  122. return "blocked"
  123. # closedoor(1)
  124. elif door == "2":
  125. if user.door_2 == 1:
  126. return "blocked"
  127. # closedoor(2)
  128.  
  129. elif door == "3":
  130. if user.door_3 == 1:
  131. return "blocked"
  132. # closedoor(3)
  133.  
  134. db.session.add(Log(username + " closed door number " + door + " at time "+time.strftime("%d/%m/%Y %I:%M:%S %p")))
  135. db.session.commit()
  136. return "closed"
  137.  
  138.  
  139.  
  140. @app.route('/access/<username>/<door>/<access>')
  141. def access(username, door, access):
  142. if username is None or door is None or access is None:
  143. return "Please enter door and access"
  144. else:
  145. # find the user
  146. user = User.query.filter_by(username=username).first()
  147. if user is None:
  148. return "incorrect Username"
  149. else:
  150. if access == "yes":
  151. if door == "1":
  152. user.door_2 = 0
  153. if door == "2":
  154. user.door_3 = 0
  155. if door == "3":
  156. user.door_3 = 0
  157. elif access == "no":
  158. if door == "1":
  159. user.door_2 = 1
  160. if door == "2":
  161. user.door_3 = 1
  162. if door == "3":
  163. user.door_3 = 1
  164. else:
  165. return "Error"
  166.  
  167. db.session.commit()
  168. return "Pass"
  169.  
  170.  
  171. if __name__ == '__main__':
  172. try:
  173. db.create_all()
  174. except Exception, e:
  175. pass
  176. app.run(debug=True, host="0.0.0.0")
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188. Flask==0.10.1
  189. Flask-SQLAlchemy==2.1
  190. Jinja2==2.8
  191. MarkupSafe==0.23
  192. SQLAlchemy==1.0.12
  193. Werkzeug==0.11.5
  194. itsdangerous==0.24
  195. wsgiref==0.1.2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement