2011-12-14 09:52:06 -08:00
|
|
|
import zlib
|
|
|
|
import mongoengine as mongo
|
|
|
|
|
|
|
|
|
|
|
|
class MSharedStory(mongo.Document):
|
|
|
|
user_id = mongo.IntField()
|
|
|
|
shared_date = mongo.DateTimeField()
|
|
|
|
comments = mongo.StringField()
|
2011-12-19 09:24:19 -08:00
|
|
|
has_comments = mongo.BooleanField(default=False)
|
2011-12-14 09:52:06 -08:00
|
|
|
story_feed_id = mongo.IntField()
|
|
|
|
story_date = mongo.DateTimeField()
|
|
|
|
story_title = mongo.StringField(max_length=1024)
|
|
|
|
story_content = mongo.StringField()
|
|
|
|
story_content_z = mongo.BinaryField()
|
|
|
|
story_original_content = mongo.StringField()
|
|
|
|
story_original_content_z = mongo.BinaryField()
|
|
|
|
story_content_type = mongo.StringField(max_length=255)
|
|
|
|
story_author_name = mongo.StringField()
|
|
|
|
story_permalink = mongo.StringField()
|
|
|
|
story_guid = mongo.StringField(unique_with=('user_id',))
|
|
|
|
story_tags = mongo.ListField(mongo.StringField(max_length=250))
|
|
|
|
|
|
|
|
meta = {
|
|
|
|
'collection': 'shared_stories',
|
|
|
|
'indexes': [('user_id', '-shared_date'), ('user_id', 'story_feed_id'), 'story_feed_id'],
|
|
|
|
'index_drop_dups': True,
|
|
|
|
'ordering': ['-shared_date'],
|
|
|
|
'allow_inheritance': False,
|
|
|
|
}
|
|
|
|
|
|
|
|
def save(self, *args, **kwargs):
|
|
|
|
if self.story_content:
|
|
|
|
self.story_content_z = zlib.compress(self.story_content)
|
|
|
|
self.story_content = None
|
|
|
|
if self.story_original_content:
|
|
|
|
self.story_original_content_z = zlib.compress(self.story_original_content)
|
|
|
|
self.story_original_content = None
|
|
|
|
super(MSharedStory, self).save(*args, **kwargs)
|