You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

43 lines
1019 B

import ssl
from flask import Flask
from flask_restful import Resource, Api, reqparse, abort
from pymongo import MongoClient
from bson.objectid import ObjectId
app = Flask(__name__)
api = Api(app)
client = MongoClient("mongodb+srv://mycity:mycity123@mycity-3v9y3.mongodb.net/test?retryWrites=true", ssl_cert_reqs=ssl.CERT_NONE)
db = client.voting_system
collection = db.votings
class Votings(Resource):
def get(self):
votings = [
{
'id' : str(doc['_id']),
'name': doc['name'],
'desc': doc['desc'],
'img' : doc['img']
}
for doc in collection.find({})
]
return votings
class Vote(Resource):
def get(self, voting_id):
try:
doc = collection.find_one({'_id': ObjectId(voting_id)})
doc['_id'] = str(doc['_id'])
return doc
except:
abort(404, error="Voting {} doesn't exist".format(voting_id))
api.add_resource(Votings, '/votings')
api.add_resource(Vote, '/votings/<voting_id>')
if __name__ == '__main__':
app.run(debug=True)