aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin
diff options
context:
space:
mode:
authorElrond <elrond+mediagoblin.org@samba-tng.org>2012-03-14 21:17:07 +0100
committerElrond <elrond+mediagoblin.org@samba-tng.org>2012-03-14 21:17:07 +0100
commit28306810c5d28d33c397181769380ddf70a67758 (patch)
treecd821f3cb1b143202a4e64f8febd5d0aafbaa52b /mediagoblin
parentea200c32ac5266cefe317d224b305e18a36f0b8d (diff)
downloadmediagoblin-28306810c5d28d33c397181769380ddf70a67758.tar.lz
mediagoblin-28306810c5d28d33c397181769380ddf70a67758.tar.xz
mediagoblin-28306810c5d28d33c397181769380ddf70a67758.zip
Convert (gps) image media_data.
Add mongo_to_sql convert part for converting the media_data for images. This currently drops the exif data and thus only converts gps data.
Diffstat (limited to 'mediagoblin')
-rw-r--r--mediagoblin/db/sql/convert.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/mediagoblin/db/sql/convert.py b/mediagoblin/db/sql/convert.py
index 086a5c9c..dca93f3f 100644
--- a/mediagoblin/db/sql/convert.py
+++ b/mediagoblin/db/sql/convert.py
@@ -14,12 +14,14 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+from copy import copy
from mediagoblin.init import setup_global_and_app_config, setup_database
from mediagoblin.db.mongo.util import ObjectId
from mediagoblin.db.sql.models import (Base, User, MediaEntry, MediaComment,
Tag, MediaTag, MediaFile, MediaAttachmentFile)
+from mediagoblin.media_types.image.models import ImageData
from mediagoblin.media_types.video.models import VideoData
from mediagoblin.db.sql.open import setup_connection_and_db_from_config as \
sql_connect
@@ -106,6 +108,25 @@ def convert_media_entries(mk_db):
session.close()
+def convert_image(mk_db):
+ session = Session()
+
+ for media in mk_db.MediaEntry.find(
+ {'media_type': 'mediagoblin.media_types.image'}).sort('created'):
+ media_data = copy(media.media_data)
+
+ # TODO: Fix after exif is migrated
+ media_data.pop('exif', None)
+
+ if len(media_data):
+ media_data_row = ImageData(**media_data)
+ media_data_row.media_entry = obj_id_table[media._id]
+ session.add(media_data_row)
+
+ session.commit()
+ session.close()
+
+
def convert_video(mk_db):
session = Session()
@@ -180,6 +201,8 @@ def run_conversion(config_name):
Session.remove()
convert_media_entries(mk_db)
Session.remove()
+ convert_image(mk_db)
+ Session.remove()
convert_video(mk_db)
Session.remove()
convert_media_tags(mk_db)