Skip to content

Commit 8e46ce8

Browse files
committed
Refactoring
1 parent 07771da commit 8e46ce8

File tree

4 files changed

+85
-51
lines changed

4 files changed

+85
-51
lines changed

activities.py

Lines changed: 0 additions & 40 deletions
This file was deleted.

activities/__init__.py

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import yaml
22
from flask import Flask
3+
from mongoalchemy.session import Session
4+
from documents import Activity
35
from flask_mongoengine import MongoEngine
46
from flask_mongorest import MongoRest
57

@@ -10,13 +12,26 @@
1012

1113
app = Flask(__name__)
1214
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-
)
15+
# app.config.update(
16+
# MONGODB_HOST=config.get('mongo', {}).get('hostname'),
17+
# MONGODB_PORT=config.get('mongo', {}).get('port'),
18+
# MONGODB_DB=config.get('mongo', {}).get('database'),
19+
# )
1820

19-
db = MongoEngine(app)
20-
api = MongoRest(app)
21+
# db = MongoEngine(app)
22+
# api = MongoRest(app)
23+
24+
session = Session.connect(config.get('mongo', {}).get('database'))
25+
26+
27+
@app.route('/activities')
28+
def list_activities():
29+
activities = session.query(Activity).filter(Activity.user_id == 12)
30+
31+
# print activities.one()
32+
33+
for activity in activities:
34+
print activity
35+
36+
return 'test'
2137

22-
import activities.views

activities/activities.py

Whitespace-only changes.

activities/documents.py

Lines changed: 62 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,73 @@
1-
from mongoengine import *
1+
from mongoalchemy.document import Document
2+
from mongoalchemy.fields import *
23

34

45
class Activity(Document):
6+
config_collection_name = 'activity'
7+
config_polymorphic = 'type'
8+
config_polymorphic_collection = True
9+
config_extra_fields = 'ignore'
10+
511
type = StringField()
612
performed_by = StringField()
713
performer_avatar = StringField()
814
created_at = DateTimeField()
15+
clicked = BoolField()
16+
user_id = IntField()
17+
18+
def __str__(self):
19+
return '%s: activity by %s' % (self.created_at, self.performed_by)
20+
21+
22+
class Like(Activity):
23+
config_polymorphic_identity = 'like'
24+
25+
def __str__(self):
26+
return '%s: like by %s' % (self.created_at, self.performed_by)
27+
28+
29+
class Comment(Activity):
30+
config_polymorphic_identity = 'comment'
31+
32+
post_id = IntField()
33+
post_image = StringField()
34+
35+
def __str__(self):
36+
return '%s: comment by %s' % (self.created_at, self.performed_by)
37+
38+
39+
class Repost(Activity):
40+
config_polymorphic_identity = 'repost'
41+
942
post_id = IntField()
1043
post_image = StringField()
44+
45+
def __str__(self):
46+
return '%s: repost by %s' % (self.created_at, self.performed_by)
47+
48+
49+
class Follow(Activity):
50+
config_polymorphic_identity = 'follow'
51+
52+
def __str__(self):
53+
return '%s: follow by %s' % (self.created_at, self.performed_by)
54+
55+
56+
class Mention(Activity):
57+
config_polymorphic_identity = 'mention'
58+
59+
post_id = IntField()
60+
post_image = StringField()
61+
62+
def __str__(self):
63+
return '%s: mention by %s' % (self.created_at, self.performed_by)
64+
65+
66+
class Badge(Activity):
67+
config_polymorphic_identity = 'badge'
68+
1169
badge_name = StringField()
1270
badge_image = StringField()
13-
clicked = BooleanField()
14-
user_id = IntField()
71+
72+
def __str__(self):
73+
return '%s: badge by %s' % (self.created_at, self.performed_by)

0 commit comments

Comments
 (0)