aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/db
diff options
context:
space:
mode:
authorChristopher Allan Webber <cwebber@dustycloud.org>2013-03-04 15:47:05 -0600
committerChristopher Allan Webber <cwebber@dustycloud.org>2013-03-04 15:47:05 -0600
commitf415c35b4ec5aebbc46bc6602a90ca29254838d6 (patch)
treead66f33756f393fbeca2e25864a1d969b0c4c8e1 /mediagoblin/db
parent99a54c0095ccadcebeb640cb20cb6eadb8b9a39d (diff)
parentf51a416778bc71ec373fac1cbfbf7df60815b68d (diff)
downloadmediagoblin-f415c35b4ec5aebbc46bc6602a90ca29254838d6.tar.lz
mediagoblin-f415c35b4ec5aebbc46bc6602a90ca29254838d6.tar.xz
mediagoblin-f415c35b4ec5aebbc46bc6602a90ca29254838d6.zip
Merge branch 'master' into 419_cherrypick_large_uploads
Diffstat (limited to 'mediagoblin/db')
-rw-r--r--mediagoblin/db/migration_tools.py8
-rw-r--r--mediagoblin/db/mixin.py28
2 files changed, 23 insertions, 13 deletions
diff --git a/mediagoblin/db/migration_tools.py b/mediagoblin/db/migration_tools.py
index e5380a3b..c0c7e998 100644
--- a/mediagoblin/db/migration_tools.py
+++ b/mediagoblin/db/migration_tools.py
@@ -17,6 +17,9 @@
from mediagoblin.tools.common import simple_printer
from sqlalchemy import Table
+class TableAlreadyExists(Exception):
+ pass
+
class MigrationManager(object):
"""
@@ -128,7 +131,10 @@ class MigrationManager(object):
# sanity check before we proceed, none of these should be created
for model in self.models:
# Maybe in the future just print out a "Yikes!" or something?
- assert not model.__table__.exists(self.session.bind)
+ if model.__table__.exists(self.session.bind):
+ raise TableAlreadyExists(
+ u"Intended to create table '%s' but it already exists" %
+ model.__table__.name)
self.migration_model.metadata.create_all(
self.session.bind,
diff --git a/mediagoblin/db/mixin.py b/mediagoblin/db/mixin.py
index 6789a970..fdf61e8d 100644
--- a/mediagoblin/db/mixin.py
+++ b/mediagoblin/db/mixin.py
@@ -126,24 +126,28 @@ class MediaEntryMixin(object):
"""
return cleaned_markdown_conversion(self.description)
- def get_display_media(self, media_map,
- fetch_order=common.DISPLAY_IMAGE_FETCHING_ORDER):
- """
- Find the best media for display.
+ def get_display_media(self):
+ """Find the best media for display.
- Args:
- - media_map: a dict like
- {u'image_size': [u'dir1', u'dir2', u'image.jpg']}
- - fetch_order: the order we should try fetching images in
+ We try checking self.media_manager.fetching_order if it exists to
+ pull down the order.
Returns:
- (media_size, media_path)
+ (media_size, media_path)
+ or, if not found, None.
+
"""
- media_sizes = media_map.keys()
+ fetch_order = self.media_manager.get("media_fetch_order")
+
+ # No fetching order found? well, give up!
+ if not fetch_order:
+ return None
+
+ media_sizes = self.media_files.keys()
- for media_size in common.DISPLAY_IMAGE_FETCHING_ORDER:
+ for media_size in fetch_order:
if media_size in media_sizes:
- return media_map[media_size]
+ return media_size, self.media_files[media_size]
def main_mediafile(self):
pass