Browse Source

Merge remote-tracking branch 'origin/efe' into yigit

old
Yiğit Çolakoğlu 6 years ago
parent
commit
ef0bcc9a75
3 changed files with 72 additions and 35 deletions
  1. +2
    -1
      server_side/api/app.py
  2. +11
    -0
      server_side/api/modules/databases/denunciations.json
  3. +59
    -34
      server_side/api/modules/denunciation.py

+ 2
- 1
server_side/api/app.py View File

@ -1,7 +1,7 @@
from flask import Flask, send_from_directory
from flask_restful import Api
from api.modules import user_info, voting_system, rating_system, utility,denunciation,navigation
from api.modules import user_info, voting_system, rating_system, utility, denunciation, navigation
app = Flask(__name__)
api = Api(app)
@ -29,6 +29,7 @@ if __name__ == '__main__':
api.add_resource(denunciation.Alert, '/denunciation', '/denunciation/')
api.add_resource(denunciation.Denounce, '/denounce', '/denounce/')
api.add_resource(denunciation.Denunciations, '/denunciations', '/denunciations/')
api.add_resource(navigation.Transit, '/transit', '/transit/')


+ 11
- 0
server_side/api/modules/databases/denunciations.json View File

@ -1,5 +1,6 @@
[
{
"id": 1,
"reporter": "9vard12ty0ad2yvwp3q53rsf3h43r2vq",
"info": "There is a fire",
"priority": 8,
@ -7,5 +8,15 @@
"latitude": 39.9404,
"longitude": 32.9101
}
},
{
"id": 2,
"reporter": "9vard12ty0ad2yvwp3q53rsf3h43r2vq",
"info": "Vandalism",
"priority": "3",
"location": {
"latitude": "35.3",
"longitude": "37.7"
}
}
]

+ 59
- 34
server_side/api/modules/denunciation.py View File

@ -1,3 +1,5 @@
from api.modules import utils
from flask import Flask, request
from flask_restful import Resource, Api, abort
@ -7,47 +9,70 @@ import os
app = Flask(__name__)
api = Api(app)
db_path = os.path.join(app.root_path, 'databases', 'users.json')
db_path = os.path.join(app.root_path, 'databases', 'denunciations.json')
with open(db_path, 'r') as f:
users = json.load(f)
denunciations = json.load(f)
users_path = os.path.join(app.root_path, 'databases', 'users.json')
with open(users_path, 'r') as f:
users = json.load(f)
class Alert(Resource):
def post(self):
args = request.form
username= ""
for user in users:
if users[user]["id"] == args["id"]:
username=user
break
trust = int(users[username]["trustability"])
if trust > 20 or args["accepted"] == "true":
return {"success":True}
else:
return {"success":False,"penalty":"{}".format(100*(20-trust))}
def post(self):
args = request.form
username= ""
for user in users:
if users[user]["id"] == args["id"]:
username=user
break
trust = int(users[username]["trustability"])
if trust > 20 or args["accepted"] == "true":
return {"success":True}
else:
return {"success":False,"penalty":"{}".format(100*(20-trust))}
class Denunciations(Resource):
def get(self):
return [
{
'id' : v['id'],
'info': v['info'],
'priority': v['priority'],
'location' : v['location']
}
for v in denunciations
]
class Denounce(Resource):
def post(self):
args = request.form
reporter = args['id']
denunciation_info = args['info']
denunciation_priority = args['priority']
denunciation_location = {
"latitude": args['latitude'],
"longitude": args['longitude']
}
denunciation = {
'reporter': reporter,
'info': denunciation_info,
'priority': denunciation_priority,
'location': denunciation_location
}
denunciations.append(denunciation)
with open(db_path, 'w') as f:
json.dump(denunciations, f, indent=4)
return denunciation
if utils.find_by_id(users.values(), reporter):
denunciation_info = args['info']
denunciation_priority = args['priority']
denunciation_location = {
"latitude": args['latitude'],
"longitude": args['longitude']
}
denunciation = {
'id': len(denunciations) + 1,
'reporter': reporter,
'info': denunciation_info,
'priority': denunciation_priority,
'location': denunciation_location
}
denunciations.append(denunciation)
with open(db_path, 'w') as f:
json.dump(denunciations, f, indent=4)
return denunciation
else:
return {'error': 'User doesn\'t exists'}

Loading…
Cancel
Save