Skip to content

Commit 980ecea

Browse files
committed
Application refactored
1 parent b508058 commit 980ecea

File tree

8 files changed

+75
-5
lines changed

8 files changed

+75
-5
lines changed

activities.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import yaml
22
import pymongo
3-
from flask import Flask
3+
from flask import Flask, Response
4+
from bson.json_util import dumps
45

56
app = Flask(__name__)
67
app.debug = True
@@ -17,14 +18,23 @@ def get_collection(collection_name):
1718
db = client[mongo_config.get('database')]
1819
return db[collection_name]
1920

20-
21+
# date : '',
22+
# performer_id : '',
23+
# performer_username : '',
24+
# performer_avatar : '',
25+
# type : '',
26+
# related_id : '',
27+
# related_image : '',
28+
# info : '',
29+
# clicked : ''
2130
@app.route("/activities")
2231
def get_activities():
23-
activities = get_collection('activities').find({"user_id": 12}).sort([
32+
cursor = get_collection('activities').find({"user_id": 12}, {"_id": 0, "user_id": 0}).sort([
2433
("created_at", pymongo.DESCENDING)
2534
])
2635

27-
return "Hello World 123!"
36+
return Response(dumps(cursor), status=200, mimetype='application/json')
37+
2838

2939
if __name__ == "__main__":
3040
app.run()

activities/__init__.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import yaml
2+
from flask import Flask
3+
from flask_mongoengine import MongoEngine
4+
from flask_mongorest import MongoRest
5+
6+
with open('config.yml', 'r') as f:
7+
config_file = f.read()
8+
9+
config = yaml.load(config_file)
10+
11+
app = Flask(__name__)
12+
app.debug = config.get('app', {}).get('debug', False)
13+
app.config.update(
14+
MONGODB_HOST=config.get('mongo', {}).get('hostname'),
15+
MONGODB_PORT=config.get('mongo', {}).get('port'),
16+
MONGODB_DB=config.get('mongo', {}).get('database'),
17+
)
18+
19+
db = MongoEngine(app)
20+
api = MongoRest(app)
21+
22+
import activities.views

activities/documents.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from mongoengine import *
2+
3+
4+
class Activity(Document):
5+
type = StringField()
6+
performed_by = StringField()
7+
performer_avatar = StringField()
8+
created_at = DateTimeField()
9+
post_id = IntField()
10+
post_image = StringField()
11+
badge_name = StringField()
12+
badge_image = StringField()
13+
clicked = BooleanField()

activities/resources.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from flask_mongorest.resources import Resource
2+
from documents import Activity
3+
4+
5+
class ActivityResource(Resource):
6+
document = Activity

activities/views.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
from activities import api
2+
from flask_mongorest.methods import *
3+
from flask_mongorest.views import ResourceView
4+
from resources import ActivityResource
5+
6+
7+
@api.register(name='activities', url='/activities/')
8+
class ActivityView(ResourceView):
9+
resource = ActivityResource
10+
methods = [List]

config.dist.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
app:
2+
debug: false
13
mysql:
24
host: localhost
35
database: db

makefile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
1+
run:
2+
python run.py
3+
14
db-data-copy:
2-
python db-data-copy.py
5+
python db-data-copy.py

run.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
from activities import app
2+
3+
if __name__ == '__main__':
4+
app.run()

0 commit comments

Comments
 (0)