Feature #400 - Resize images to fit on page - Additions

*   `migrations.py`
    *   Removed empty line
    *   Added empty line
*   `models.py`
    *   Added `MediaEntry.get_display_media()` helper function
*   `process_media.__init__.py`
    *	Updated `process_media_initial()`
    	*   Renamed `main` => `original`.
	*   Added condition to `medium`, it's only created if the original
	    dimensions exceed the MEDIUM_SIZE dimensions.
*   `media.html`
    *	The image tag is now populated by `MediaEntry.get_display_media()`
*   `util.py`
    *	Added `DISPLAY_IMAGE_FETCHING_ORDER`, used by `MediaEntry.get_display_media()`
This commit is contained in:
Joar Wandborg
2011-07-03 05:46:00 +02:00
parent 93214d8e02
commit 2c9e635ae2
5 changed files with 44 additions and 21 deletions

View File

@@ -49,7 +49,7 @@ class MediaEntryMigration(DocumentMigration):
'$set': {
'description_html': cleaned_markdown_conversion(
doc['description'])}}
class UserMigration(DocumentMigration):
def allmigration01_add_bio_and_url_profile(self):
"""

View File

@@ -24,6 +24,7 @@ from mediagoblin import mg_globals
from mediagoblin.db import migrations
from mediagoblin.db.util import DESCENDING, ObjectId
from mediagoblin.util import Pagination
from mediagoblin.util import DISPLAY_IMAGE_FETCHING_ORDER
###################
# Custom validators
@@ -109,6 +110,24 @@ class MediaEntry(Document):
migration_handler = migrations.MediaEntryMigration
def get_display_media(self, media_map, fetch_order=DISPLAY_IMAGE_FETCHING_ORDER):
"""
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
Returns:
(media_size, media_path)
"""
media_sizes = media_map.keys()
print media_sizes
for media_size in DISPLAY_IMAGE_FETCHING_ORDER:
if media_size in media_sizes:
return media_map[media_size]
def main_mediafile(self):
pass