Exemplo n.º 1
0
class Answer(ndb.Model):
    # get from the form
    author = ndb.UserProperty()
    name = ndb.StringProperty()
    content = ndb.TextProperty()
    qid = ndb.IntegerProperty()
    # default 0 and change it later manually
    vote = ndb.IntegerProperty(default=0)
    voteTracker = ndb.JsonProperty()
    # assign and change manually
    createTime = ndb.DateTimeProperty(auto_now_add=True)
    modifyTime = ndb.DateTimeProperty(auto_now=True)
Exemplo n.º 2
0
class myStream(ndb.Model):
    streamname = ndb.StringProperty()
    streamOwner = ndb.UserProperty()
    doc_id = ndb.StringProperty()
    lastNewPicture = ndb.DateProperty(required=False)
    createTime = ndb.DateProperty()
    urltoCoverPhoto = ndb.StringProperty()
    numOfPictures = ndb.IntegerProperty()
    numOfViews = ndb.IntegerProperty()
    viewTimeQueue = ndb.DateTimeProperty(repeated=True)
    blob_key = ndb.BlobKeyProperty(repeated=True)
    photoComments = ndb.StringProperty(repeated=True)
Exemplo n.º 3
0
class Answer(ndb.Model):
    author = ndb.UserProperty()
    content = ndb.StringProperty(indexed=False)
    date_create = ndb.DateTimeProperty(auto_now_add=True)
    date_edit = ndb.DateTimeProperty(auto_now=True)
    ups = ndb.StringProperty(
        repeated=True,
        indexed=False)  # stores a list of users who voted up on this question
    downs = ndb.StringProperty(
        repeated=True, indexed=False
    )  # stores a list of users who voted down on this question
    vote = ndb.ComputedProperty(lambda self: len(self.ups) - len(self.downs))
Exemplo n.º 4
0
class SearchTestModel(ndb.Model):
    string = ndb.StringProperty()
    string2 = ndb.StringProperty()
    repeated_string = ndb.StringProperty(repeated=True)
    datetime = ndb.DateTimeProperty(
    )  # auto_now_add=True is broken due to it calling now() locally instead of utcnow()
    person = ndb.UserProperty(auto_current_user=True)
    date = ndb.DateProperty(auto_now_add=True)
    time = ndb.TimeProperty()
    ref = ndb.KeyProperty()
    geopt = ndb.GeoPtProperty()
    repeated_number = ndb.IntegerProperty(repeated=True)
Exemplo n.º 5
0
class MyModel(EndpointsModel):
    _message_fields_schema = ('id', 'productname', 'category', 'offerprice',
                              'usualprice', 'doe', 'owner', 'productimg')
    productname = ndb.StringProperty()
    category = ndb.StringProperty()
    offerprice = ndb.FloatProperty()
    usualprice = ndb.FloatProperty()
    doe = EndpointsDateProperty()
    productimg = ndb.BlobProperty()
    owner = ndb.UserProperty()
    created = ndb.DateTimeProperty(auto_now_add=True)
    modified = ndb.DateTimeProperty(auto_now=True)
Exemplo n.º 6
0
class Entry(ndb.Model):
    title = ndb.StringProperty()
    summary = ndb.StringProperty()
    post = ndb.StringProperty()
    tags = ndb.KeyProperty(kind=Tag, repeated=True)
    user = ndb.UserProperty()
    created = ndb.DateTimeProperty(auto_now_add=True)
    slug = ndb.StringProperty()
    # stats
    views = ndb.IntegerProperty(default=0)
    likes = ndb.IntegerProperty(default=0)
    shares = ndb.IntegerProperty(default=0)
Exemplo n.º 7
0
class Resource(ndb.Model):
    name = ndb.StringProperty()
    owner = ndb.UserProperty()
    start_time = ndb.DateTimeProperty()
    end_time = ndb.DateTimeProperty()
    tags = ndb.StructuredProperty(Tag, repeated=True)
    last_res_time = ndb.DateTimeProperty(
        default=datetime.datetime.strptime("1900", "%Y"))
    description = ndb.StringProperty(default="")
    reserved_num = ndb.IntegerProperty(default=0)
    capacity = ndb.IntegerProperty(default=1)
    image = ndb.BlobProperty()
Exemplo n.º 8
0
class Link(ndb.Model):
    owner = ndb.UserProperty()
    title = ndb.StringProperty()
    url = ndb.StringProperty()
    created_at = ndb.DateTimeProperty(auto_now_add=True)

    def serialize(self):
        return {
            'title': self.title,
            'url': self.url,
            'created_at': self.created_at
        }
Exemplo n.º 9
0
class Session(ndb.Model):
    owner = ndb.UserProperty(required=True)
    event = ndb.KeyProperty(required=True, kind=Event)
    name = ndb.StringProperty(required=True)
    room = ndb.StringProperty(required=True)

    @classmethod
    def in_event(cls, event_key):
        for session in cls.query(Session.event == ndb.Key(urlsafe=event_key)):
            yield session

    def to_dict(self):
        return {'name': self.name, 'room': self.room}
Exemplo n.º 10
0
class Streams(ndb.Model):
    """Models an individual Stream entry."""
    stream_name = ndb.StringProperty(indexed=False)
    thumb_img = ndb.BlobProperty()
    owner_name = ndb.UserProperty(required=True, indexed=False)
    stream_id = ndb.StringProperty(required=True, indexed=True)
    owner_name = ndb.StringProperty(indexed=False)
    subscriber_list = ndb.StringProperty(indexed=False)
    create_date = ndb.DateTimeProperty(auto_now_add=True)
    category_id = ndb.IntegerProperty(required=False, indexed=False)
    category_name = ndb.StringProperty()
    location_id = ndb.StringProperty()
    location_name = ndb.StringProperty()
Exemplo n.º 11
0
class UserInfo(ndb.Expando):
    user = ndb.UserProperty()
    email = ndb.ComputedProperty(lambda self: self.user.email())
    data = ndb.DateTimeProperty(auto_now=True)
    mys = ndb.BooleanProperty(default=False)
    daily = ndb.BooleanProperty(default=False)
    twitt = ndb.BooleanProperty(default=False)
    delicious = ndb.BlobKeyProperty()
    cursor = ndb.IntegerProperty(default=0)

    @property
    def tag_list(self):
        return Tags.query(Tags.user == self.user)
Exemplo n.º 12
0
class Change(ndb.Model):
    upload_paths = ndb.StringProperty(repeated=True)
    project_prefixes = ndb.StringProperty(repeated=True)
    created_by = ndb.UserProperty()
    is_committed = ndb.BooleanProperty(default=False)
    is_aborted = ndb.BooleanProperty(default=False)

    def get_change_id(self):
        return int(self.key.string_id())

    @classmethod
    def get_key(cls, change_id):
        return ndb.Key(ChangeGroup, '1', cls, '%012d' % change_id)
Exemplo n.º 13
0
class Redirect_Url(ndb.Model):

    # Username
    user = ndb.UserProperty()

    # Destination url
    to_url = ndb.TextProperty(required=True, indexed=True)

    # Url as input by the user
    input_url = ndb.TextProperty(required=True, indexed=True)

    # Computed field to compare against when making a request.  Forced to lower case
    input_url_lower = ndb.ComputedProperty(lambda self: self.input_url.lower())
Exemplo n.º 14
0
class ResourceReview(ndb.Model):
    submitter = ndb.UserProperty(required=True)
    ts_created = ndb.DateTimeProperty(required=True, auto_now_add=True)
    text = ndb.TextProperty(required=True)

    @classmethod
    def query_resource(cls, ancestor_key):
        return cls.query(ancestor=ancestor_key).order(-cls.ts_created)

    @property
    def dict(self):
        return { "submitter": self.submitter.nickname(),
                 "ts_created" : self.ts_created,
                 "text" : self.text }
Exemplo n.º 15
0
class Greeting(ndb.Model):
    """
    Models an individual Guestbook entry
    with author, content, and date.

    Attributes:
        author: string: the author of the greeting
        content: string: the content of the greeting
        date: string: the date of the greeting

    """
    author = ndb.UserProperty()
    content = ndb.StringProperty(indexed=False)
    date = ndb.DateTimeProperty(auto_now_add=True)
Exemplo n.º 16
0
class Score(EndpointsModel):
    """Model to store scores that have been inserted by users.

    Since the played property is auto_now_add=True, Scores will document when
    they were inserted immediately after being stored.
    """
    outcome = ndb.StringProperty(required=True)
    played = ndb.DateTimeProperty(auto_now_add=True)
    player = ndb.UserProperty(required=False)

    @property
    def timestamp(self):
        """Property to format a datetime object to string."""
        return self.played.strftime(TIME_FORMAT_STRING)
Exemplo n.º 17
0
class UserPreferences(ndb.Model):
    user = ndb.UserProperty()
    userpage_title = ndb.StringProperty()
    created_at = ndb.DateTimeProperty()

    @classmethod
    def get_by_user(cls, user):
        keyid = ndb.Key(cls, user.email()).string_id()
        prefs = cls.get_by_id(keyid)
        if prefs is None:
            prefs = cls(id=keyid)
            prefs.user = user
            prefs.created_at = datetime.now()
        return prefs
Exemplo n.º 18
0
class Reservation(ndb.Model):
    """Resource: ..."""
    # User who make reservation of a resource
    author = ndb.UserProperty(indexed=True)
    # Name of the reservation
    name = ndb.StringProperty(indexed=True)
    pubDate = ndb.DateTimeProperty(auto_now_add=True)
    modDate = ndb.DateTimeProperty(auto_now=True)

    startDateTime = ndb.DateTimeProperty()
    endDateTime = ndb.DateTimeProperty()
    duration = ndb.StringProperty(indexed=False)

    numsOfAttendee = ndb.IntegerProperty(indexed=False)
Exemplo n.º 19
0
class BlogPost(ndb.Model, VisibilityAndPrivacy, TouchedCreated):
    ''' Represents a post in a blog. '''

    blog = ndb.KeyProperty()
    author = ndb.UserProperty()
    shortname = ndb.StringProperty()
    title = ndb.StringProperty()
    status = ndb.StringProperty(choices=['ARCHIVED', 'DRAFT', 'PUBLISHED'])
    byline = ndb.StringProperty()
    body = ndb.TextProperty()
    excerpt = ndb.StringProperty()
    published = ndb.BooleanProperty()
    tags = ndb.StringProperty(repeated=True)
    keywords = ndb.StringProperty(repeated=True)
Exemplo n.º 20
0
class gaetk_LongTask(ndb.Model):
    """Represents a long running task."""
    # url-path to do statistic for common kinds of tasks
    path = ndb.StringProperty()
    method = ndb.StringProperty(default='GET')
    parameters_blob = ndb.BlobProperty(compressed=True)
    result_blob = ndb.BlobProperty(compressed=True)
    status = ndb.StringProperty(
        default='ready',
        choices=['ready', 'started', 'error', 'done', 'showing', 'finished'])
    starttime = ndb.FloatProperty()  # Unix timestamp
    endtime = ndb.FloatProperty()  # Unix timestamp
    # When was the result last accessed
    last_accessed_at = ndb.DateTimeProperty(auto_now=True)
    # Speichern wann und von wem der Datensatz angelegt und geändert wurde. Die Appengine füllt diese
    # Felder automatisch aus.
    updated_at = ndb.DateTimeProperty(auto_now=True)
    updated_by = ndb.UserProperty(required=False, auto_current_user=True)
    created_at = ndb.DateTimeProperty(auto_now_add=True)
    created_by = ndb.UserProperty(required=False, auto_current_user_add=True)

    def __repr__(self):
        return '<LongTask status=%r>' % self.status
Exemplo n.º 21
0
class AppUser(ndb.Model):
    """Implements AppUser.

  The AppUser represents an API user in a datastore. For each user, we store
  their email address and API credentials.
  """
    user = ndb.UserProperty(required=True)
    date = ndb.DateProperty(auto_now=True)
    email = ndb.StringProperty(required=True)
    client_id = ndb.StringProperty(required=False)
    client_secret = ndb.StringProperty(required=False)
    refresh_token = ndb.StringProperty(required=False)
    mcc_cid = ndb.StringProperty(required=False)
    developer_token = ndb.StringProperty(required=False)
Exemplo n.º 22
0
class Volunteer(EndpointsModel):
    _message_fields_schema = ("id", "applied_on", "confirmed", "confirmed_by",
                              "name", "email", "sex", "city", "country",
                              "phone_no")

    applied_on = ndb.DateTimeProperty(auto_now_add=True)
    confirmed = ndb.BooleanProperty(default=False)
    confirmed_by = ndb.UserProperty()
    name = ndb.StringProperty()
    email = ndb.StringProperty()
    sex = ndb.StringProperty()
    city = ndb.StringProperty()
    country = ndb.StringProperty()
    phone_no = ndb.StringProperty()
Exemplo n.º 23
0
class GelGroup(NdbBaseModel):
    relevant_page_urls = ["/catalyst/small_groups"]

    Createdby = ndb.UserProperty(auto_current_user_add=True)
    CreationDateTime = NdbUtcDateTimeProperty(auto_now_add=True)
    ModifiedBy = ndb.UserProperty(auto_current_user=True)
    ModifiedDateTime = NdbUtcDateTimeProperty(auto_now=True)

    Title = ndb.StringProperty(
        verbose_name="Title",
        required=True,
    )
    DayAndTime = ndb.DateTimeProperty(
        verbose_name="Day And Time",
        required=True,
    )
    Leaders = ndb.StringProperty(
        verbose_name="Leaders",
        required=True,
    )
    ContactEmail = ndb.StringProperty(
        verbose_name="Leaders",
        required=True,
    )
    Description = ndb.TextProperty(
        verbose_name="Description",
        required=True,
    )

    @property
    def FormattedDayAndTime(self):
        if self.DayAndTime.minute == 0:
            return self.DayAndTime.strftime('%A') + ' ' + self.DayAndTime.strftime('%I').lstrip(
                '0') + self.DayAndTime.strftime('%p').lower()
        else:
            return self.DayAndTime.strftime('%A') + ' ' + self.DayAndTime.strftime('%I').lstrip('0') + ':' + str(
                self.DayAndTime.minute) + self.DayAndTime.strftime('%p').lower()
Exemplo n.º 24
0
class Event(ndb.Model):
    title = ndb.StringProperty(required=True)
    description = ndb.StringProperty()
    date = ndb.DateProperty(required=True)
    colour = ndb.StringProperty(choices=COLOURS)
    owner = ndb.UserProperty()

    #Converts the Date Format
    @property
    def date_formatted(self):
        return datetime.datetime.strftime(self.date, '%d %B %Y')

    @property
    def only_date(self):
        return datetime.datetime.strftime(self.date, '%d')
Exemplo n.º 25
0
class Stream(ndb.Model):

    name = ndb.StringProperty()
    tag = ndb.StringProperty(repeated=True, default=None)
    subscribers = ndb.StringProperty(repeated=True)
    url = ndb.StringProperty()
    guesturl = ndb.StringProperty()
    creattime = ndb.DateTimeProperty(auto_now_add=True)
    lastnewdate = ndb.DateTimeProperty(auto_now_add=True)
    numberofpictures = ndb.IntegerProperty()
    total = ndb.IntegerProperty()
    #views=ndb.IntegerProperty()
    coverurl = ndb.StringProperty()
    author = ndb.UserProperty()
    author_name = ndb.StringProperty()
Exemplo n.º 26
0
class FeedModel(ndb.Model):
    user = ndb.UserProperty(required=True, indexed=True)
    title = ndb.TextProperty(required=True, indexed=False)
    description = ndb.TextProperty(required=True, indexed=False)
    link = ndb.StringProperty(required=True, indexed=True)
    # Internal use
    timestamp = ndb.DateTimeProperty(required=True, indexed=True)
    # Optionals
    # tag in app
    tag = ndb.StringProperty(indexed=False)
    # pubdate
    published = ndb.StringProperty(indexed=False)
    # For requests
    etag = ndb.StringProperty(indexed=True)
    modified = ndb.StringProperty(indexed=True)
Exemplo n.º 27
0
class Newsletter(NdbBaseModel):
    relevant_page_urls = ["/alumni/newsletter"]

    Createdby = ndb.UserProperty(auto_current_user_add=True)
    CreationDateTime = NdbUtcDateTimeProperty(auto_now_add=True)
    DisplayOrder = ndb.IntegerProperty()

    Title = ndb.StringProperty(
        verbose_name="Title",
        required=True,
    )
    NewsletterBlob = ndb.BlobKeyProperty(
        verbose_name="Newsletter",
        required=True,
    )
Exemplo n.º 28
0
class MyModel(EndpointsModel):
    # By default, the ProtoRPC message schema corresponding to this model will
    # have four fields: attr1, attr2, created and owner
    # in an arbitrary order (the ordering of properties in a dictionary is not
    # guaranteed).
    attr1 = ndb.StringProperty()
    attr2 = ndb.StringProperty()
    created = ndb.DateTimeProperty(auto_now_add=True)
    # The three properties above are represented by string fields, but the
    # UserProperty below is represented in the ProtoRPC message schema as a
    # message field -- a field whose value is itself a message. To hold a user
    # property, a custom ProtoRPC message class is defined in
    # endpoints_proto_datastore.utils and is used to convert to and from the NDB
    # property and the corresponding ProtoRPC field.
    owner = ndb.UserProperty()
Exemplo n.º 29
0
class Post(ndb.Model):
    title = ndb.StringProperty(required=True)
    author = ndb.UserProperty(required=True)
    post_date = ndb.DateTimeProperty(auto_now=True)
    description = ndb.TextProperty(required=True)
    price = ndb.StringProperty(required=True)
    picture = ndb.BlobProperty(default="")
    contact_email = ndb.StringProperty(required=True)
    contact_phone = ndb.StringProperty(default="")
    category = ndb.StringProperty(choices=('Home, Garden & Tools', 'Beauty', 'Electronics & Computers', 'Clothing, Shoes & Jewelry',
                                           'Books', 'Movies, Music & Games', 'Sports & Outdoors', 'Automotive', 'Pets', 'Free'), required=True)

    @property
    def picture_url(self):
        return "/img_serve/{}".format(self.key.id())
Exemplo n.º 30
0
class Person(ndb.Model):
    role = ndb.StringProperty(choices=[
        'superadmin', 'superintendent', 'principal', 'teacher', 'student'
    ],
                              repeated=True)
    profile = ndb.UserProperty()
    user_id = ndb.StringProperty()
    f_name = ndb.StringProperty(default="No")
    l_name = ndb.StringProperty(default="Name")
    full_name = ndb.ComputedProperty(
        lambda self: self.f_name + " " + self.l_name)
    email = ndb.StringProperty()
    guid = ndb.StringProperty()
    validated = ndb.BooleanProperty(default=False)
    date = ndb.DateTimeProperty(auto_now_add=True)