-
Notifications
You must be signed in to change notification settings - Fork 0
/
dao.py
29 lines (23 loc) · 1008 Bytes
/
dao.py
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
from google.appengine.ext import ndb
class Greeting(ndb.Model):
"""Models a diary entry with an author, content, photo, date, etc."""
author = ndb.StringProperty()
content = ndb.TextProperty()
photo = ndb.BlobProperty()
thumbnail = ndb.BlobProperty()
date = ndb.DateTimeProperty(auto_now_add=True)
photo_datetime = ndb.StringProperty()
photo_latitude = ndb.FloatProperty()
photo_longitude = ndb.FloatProperty()
def guestbook_key(guestbook_name=None):
"""Constructs a Datastore key for a diary entity with name."""
return ndb.Key('Guestbook', guestbook_name or 'default_guestbook')
def create_greeting(guestbook_name):
return Greeting(parent=guestbook_key(guestbook_name))
def get_events_from_datastore(guestbook_name, offset, limit):
return Greeting.query(
ancestor=guestbook_key(guestbook_name)) \
.order(-Greeting.date) \
.fetch(offset=offset, limit=limit)
def get_key_for_img_id(img_id):
return ndb.Key(urlsafe=img_id)