Advertisement
Guest User

Untitled

a guest
Jan 5th, 2017
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.73 KB | None | 0 0
  1. from flask import Flask, jsonify, request, Response
  2. from flask_restful import Resource, Api
  3. from pymongo import MongoClient
  4. import json
  5.  
  6.  
  7. app = Flask(__name__)
  8. api = Api(app)
  9.  
  10.  
  11. USER = "user"
  12. PASS = "pw"
  13. MONGO_URI = 'mongodb://%s:%s@test.mlab.com/test' % (USER, PASS)
  14. PORT = 19788
  15.  
  16.  
  17. def db_conn():
  18. client = MongoClient(MONGO_URI, PORT)
  19. return client
  20.  
  21. def insert_record(args):
  22. client = db_conn()
  23. replycode = 0
  24. try:
  25. db = client['test']
  26. posts = db.users
  27. posts.insert(args)
  28. except:
  29. replycode = 1
  30.  
  31. return replycode
  32.  
  33. def select_record(args={}):
  34.  
  35. client = db_conn()
  36. db = client['test']
  37. result = db.users.find(args)
  38. return result
  39.  
  40. class CreatUser(Resource):
  41.  
  42. def post(self):
  43. try:
  44. content = request.get_json()
  45. if "Vehicle" not in content:
  46. return jsonify({"Result": "Vehicle number not in passed arguments"}), 400
  47.  
  48. else:
  49. vehicle = content['Vehicle']
  50.  
  51. reply = insert_record(content)
  52. if reply == 0:
  53. return jsonify({"Result" : "Successfully inserted user: " + vehicle}), 201
  54. else:
  55. return jsonify({"Result" : "Failed to insert data. Check logs for more details"}), 400
  56.  
  57. except Exception as e:
  58. return jsonify({'Error' : str(e)}), 500
  59.  
  60. class ViewUser(Resource):
  61. def get(self):
  62. from bson import json_util
  63.  
  64. results = select_record()
  65. final = []
  66. for result in results:
  67. result.pop("_id")
  68. final.append(result)
  69.  
  70. return jsonify(results=final), 200
  71.  
  72. api.add_resource(CreatUser, "/api/create")
  73. api.add_resource(ViewUser, "/api/view")
  74.  
  75. if __name__ == "__main__":
  76. app.run(debug=True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement