Removing print statements from convert_gps_media_data migration
[mediagoblin.git] / mediagoblin / db / mongo / models.py
index 57af137dd23afcf0a2a087ed3796a4f49df6900c..2e35a2b8f00c24265cb57c0689cd2bb8b427d20c 100644 (file)
@@ -18,13 +18,22 @@ import datetime
 
 from mongokit import Document
 
-from mediagoblin import mg_globals
 from mediagoblin.db.mongo import migrations
 from mediagoblin.db.mongo.util import ASCENDING, DESCENDING, ObjectId
 from mediagoblin.tools.pagination import Pagination
-from mediagoblin.tools import url
 from mediagoblin.db.mixin import UserMixin, MediaEntryMixin, MediaCommentMixin
 
+
+class MongoPK(object):
+    """An alias for the _id primary key"""
+    def __get__(self, instance, cls):
+       return instance['_id']   
+    def __set__(self, instance, val):
+       instance['_id'] = val  
+    def __delete__(self, instance):
+       del instance['_id']
+
+
 ###################
 # Custom validators
 ###################
@@ -87,6 +96,8 @@ class User(Document, UserMixin):
         'status': u'needs_email_verification',
         'is_admin': False}
 
+    id = MongoPK()
+
 
 class MediaEntry(Document, MediaEntryMixin):
     """
@@ -205,6 +216,11 @@ class MediaEntry(Document, MediaEntryMixin):
         'created': datetime.datetime.utcnow,
         'state': u'unprocessed'}
 
+    id = MongoPK()
+
+    def media_data_init(self, **kwargs):
+        self.media_data.update(kwargs)
+
     def get_comments(self, ascending=False):
         if ascending:
             order = ASCENDING
@@ -214,15 +230,6 @@ class MediaEntry(Document, MediaEntryMixin):
         return self.db.MediaComment.find({
                 'media_entry': self._id}).sort('created', order)
 
-    def generate_slug(self):
-        self.slug = url.slugify(self.title)
-
-        duplicate = mg_globals.database.media_entries.find_one(
-            {'slug': self.slug})
-
-        if duplicate:
-            self.slug = "%s-%s" % (self._id, self.slug)
-
     def url_to_prev(self, urlgen):
         """
         Provide a url to the previous entry from this user, if there is one