Example #1
0
class Photo(db.Document):
    ''' Stores basic meta-data for file uploaded to server.
	Photos are served using file_name field.'''
    file_name = db.StringField(required=True)
    file_type = db.StringField()
    created_at = db.DateTimeField(default=datetime.datetime.now, required=True)
    url = db.StringField()

    def __unicode__(self):

        return self.file_name

    def save(self, *args, **kwargs):
        if self.file_name:
            self.url = '/static/uploads' + self.file_name
            self.file_type = re.search(r'.*\.(.+)$', self.file_name,
                                       re.I).groups()[0]
        return super(Photo, self).save(*args, **kwargs)

    meta = {
        'indexes': [{
            'fields': ['$file_name', '$file_type'],
            'weights': {
                'file_name': 10,
                'file_type': 2
            }
        }]
    }
Example #2
0
class Post(db.Document):
    ''' Post document; see fields below. '''
    title = db.StringField(max_length=120, required=True)
    slug = db.StringField()
    created_at = db.DateTimeField(default=datetime.datetime.now, required=True)
    author = db.ReferenceField(User_)
    published = db.BooleanField(default=False)
    tags = db.ListField(db.StringField(max_length=30))
    index_background = db.ReferenceField(Photo)
    category = db.ReferenceField(Category)
    content = db.StringField(required=True)
    mark_delete = db.BooleanField(default=False)

    def save(self, *args, **kwargs):
        self.slug = re.sub('[^\w]+', '-', self.title.lower())
        return super(Post, self).save(*args, **kwargs)

    meta = {
        'indexes': [{
            'fields': ['$title', '$content'],
            'weights': {
                'title': 10,
                'content': 2
            }
        }]
    }
Example #3
0
class Post(db.Document):
    title = db.StringField(max_length=150,required=True)
    date_posted = db.DateTimeField(default = datetime.utcnow())
    content = db.StringField()  
    image_file = db.StringField(max_length=50,required=True,default='post.jpg')
    author = db.ReferenceField(User,required=True)

    def __repr__(self):
        return f"Post('{self.title}','{self.date_posted}','{self.content}')"
Example #4
0
class Post(db.Document):
    created_at = db.DateTimeField(default=datetime.datetime.now, required=True)
    title = db.StringField(max_length=255, required=True)
    slug = db.StringField(max_length=255, required=True)
    body = db.StringField(required=True)
    comments = db.ListField(db.EmbeddedDocumentField('Comment'))

    def get_absolute_url(self):
        return url_for('post', kwargs={"slug": self.slug})

    def __unicode__(self):
        return self.title

    meta = {
        'allow_inheritance': True,
        'indexes': ['-created_at', 'slug'],
        'ordering': ['-created_at']
    }
Example #5
0
class Comment(db.EmbeddedDocument):
    created_at = db.DateTimeField(default=datetime.datetime.now, required=True)
    body = db.StringField(verbose_name="Comentario", required=True)
    author = db.StringField(verbose_name="Nome", max_length=255, required=True)
class Comment(db.Document):
    meta = {"collection": "comments"}
    author = db.ReferenceField(User)
    post = db.ReferenceField(Post)
    content = db.StringField(required=True, max_length=255)
    date = db.DateTimeField(required=True, default=datetime.utcnow)
Example #7
0
class Comment(db.EmbeddedDocument):
    create_time = db.DateTimeField(default=datetime.datetime.now,
                                   required=True)
    body = db.StringField(verbose_name='Comnent', required=True)
    author = db.StringField(verbose_name='Name', max_length=255)
Example #8
0
class Comment(db.Document):
    post = db.ReferenceField(Post,required=True)
    author = db.ReferenceField(User,required=True)
    content = db.StringField(max_length=150,required=True)
    date_posted = db.DateTimeField(default = datetime.utcnow())