This repository was archived by the owner on Nov 9, 2017. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdata.py
More file actions
81 lines (71 loc) · 2.78 KB
/
data.py
File metadata and controls
81 lines (71 loc) · 2.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
''' Data layer '''
from google.appengine.ext import db
class User(db.Model):
screen_name = db.StringProperty(required=True) # primary key
# OAuth 'access_token'
oauth_token = db.StringProperty()
oauth_token_secret = db.StringProperty()
# our auth cookie
cookie = db.StringProperty()
# our token used to authenticate RSS users
rss_token = db.StringProperty()
use_HTTP_auth = db.BooleanProperty()
user_created = db.DateTimeProperty(auto_now_add=True)
friendlist_last_updated = db.DateTimeProperty()
id = db.IntegerProperty(required=True)
# Misc user preferences.
remember_me = db.BooleanProperty()
icons_only = db.BooleanProperty()
class Timeline(db.Model):
""" To avoid DB contention (see Ticket #25),
this sub-object holds
timeline-related properties of User
"""
user = db.ReferenceProperty(User)
timeline_last_updated = db.DateTimeProperty()
timeline_max_id = db.IntegerProperty()
class Replies(db.Model):
user = db.ReferenceProperty(User)
replies_last_updated = db.DateTimeProperty()
replies_max_id = db.IntegerProperty()
viewed = db.DateTimeProperty()
class Group(db.Model):
name = db.StringProperty(required=True) # primary key
memberships_last_updated = db.DateTimeProperty()
viewed = db.DateTimeProperty()
# foreing keys
user = db.ReferenceProperty(User)
class Friend(db.Model):
id = db.IntegerProperty(required=True) # primary key
screen_name = db.StringProperty(required=True)
real_name = db.StringProperty()
profile_image_url = db.LinkProperty()
# foreing keys
user = db.ReferenceProperty(User)
group = db.ReferenceProperty(Group)
class StatusUpdate(db.Model):
id = db.IntegerProperty(required=True) # primary key
text = db.StringProperty(required=True, multiline=True)
created_at = db.DateTimeProperty()
truncated = db.BooleanProperty()
in_reply_to_status_id = db.IntegerProperty()
in_reply_to_user_id = db.IntegerProperty()
in_reply_to_screen_name = db.StringProperty()
# foreing keys
group = db.ReferenceProperty(Group)
from_friend = db.ReferenceProperty(Friend)
class Reply(db.Model):
id = db.IntegerProperty(required=True) # primary key
to = db.ReferenceProperty(User)
text = db.StringProperty(required=True, multiline=True)
created_at = db.DateTimeProperty()
truncated = db.BooleanProperty()
in_reply_to_status_id = db.IntegerProperty()
in_reply_to_user_id = db.IntegerProperty()
in_reply_to_screen_name = db.StringProperty()
author = db.StringProperty(required=True, multiline=False)
class OAuthRequestToken(db.Model):
"""OAuth Request Token."""
oauth_token = db.StringProperty()
oauth_token_secret = db.StringProperty()
created = db.DateTimeProperty(auto_now_add=True)