diff options
author | Christopher Allan Webber <cwebber@dustycloud.org> | 2011-07-02 19:00:01 -0500 |
---|---|---|
committer | Christopher Allan Webber <cwebber@dustycloud.org> | 2011-07-02 19:00:01 -0500 |
commit | d8db3f112e5b666815f0c9af4b9b1d0800fac822 (patch) | |
tree | b10b7e31288e8f140c28ff0798a4b60a350cf110 | |
parent | 841110a75d56f3e120691c43f85b3dd4b5fa1e56 (diff) | |
parent | 93214d8e0287150aef3f4370237303bc73ec448c (diff) | |
download | mediagoblin-d8db3f112e5b666815f0c9af4b9b1d0800fac822.tar.lz mediagoblin-d8db3f112e5b666815f0c9af4b9b1d0800fac822.tar.xz mediagoblin-d8db3f112e5b666815f0c9af4b9b1d0800fac822.zip |
Merge remote branch 'remotes/jwandborg/feature_400-resize_images_to_fit_page'
Conflicts:
mediagoblin/templates/mediagoblin/user_pages/media.html
-rw-r--r-- | mediagoblin/process_media/__init__.py | 36 | ||||
-rw-r--r-- | mediagoblin/templates/mediagoblin/user_pages/media.html | 10 |
2 files changed, 33 insertions, 13 deletions
diff --git a/mediagoblin/process_media/__init__.py b/mediagoblin/process_media/__init__.py index 0dce1418..0d1abcb3 100644 --- a/mediagoblin/process_media/__init__.py +++ b/mediagoblin/process_media/__init__.py @@ -22,6 +22,7 @@ from mediagoblin import mg_globals as mgg THUMB_SIZE = 200, 200 +MEDIUM_SIZE = 640, 640 def create_pub_filepath(entry, filename): @@ -43,20 +44,32 @@ def process_media_initial(media_id): mgg.queue_store, queued_filepath, 'source') - queued_file = file(queued_filename, 'r') + thumb = Image.open(queued_filename) + thumb.thumbnail(THUMB_SIZE, Image.ANTIALIAS) + # ensure color mode is compatible with jpg + if thumb.mode != "RGB": + thumb = thumb.convert("RGB") - with queued_file: - thumb = Image.open(queued_file) - thumb.thumbnail(THUMB_SIZE, Image.ANTIALIAS) - # ensure color mode is compatible with jpg - if thumb.mode != "RGB": - thumb = thumb.convert("RGB") + thumb_filepath = create_pub_filepath(entry, 'thumbnail.jpg') + + thumb_file = mgg.public_store.get_file(thumb_filepath, 'w') + with thumb_file: + thumb.save(thumb_file, "JPEG") + + """ + Create medium file, used in `media.html` + """ + medium = Image.open(queued_filename) + medium.thumbnail(MEDIUM_SIZE, Image.ANTIALIAS) + + if medium.mode != "RGB": + medium = medium.convert("RGB") - thumb_filepath = create_pub_filepath(entry, 'thumbnail.jpg') + medium_filepath = create_pub_filepath(entry, 'medium.jpg') - thumb_file = mgg.public_store.get_file(thumb_filepath, 'w') - with thumb_file: - thumb.save(thumb_file, "JPEG") + medium_file = mgg.public_store.get_file(medium_filepath, 'w') + with medium_file: + medium.save(medium_file, "JPEG") # we have to re-read because unlike PIL, not everything reads # things in string representation :) @@ -73,6 +86,7 @@ def process_media_initial(media_id): media_files_dict = entry.setdefault('media_files', {}) media_files_dict['thumb'] = thumb_filepath media_files_dict['main'] = main_filepath + media_files_dict['medium'] = medium_filepath entry['state'] = u'processed' entry.save() diff --git a/mediagoblin/templates/mediagoblin/user_pages/media.html b/mediagoblin/templates/mediagoblin/user_pages/media.html index e84c9872..0c13f5c4 100644 --- a/mediagoblin/templates/mediagoblin/user_pages/media.html +++ b/mediagoblin/templates/mediagoblin/user_pages/media.html @@ -22,8 +22,14 @@ {% block mediagoblin_content %} {% if media %} <div class="grid_8 alpha media_image"> - <img src="{{ request.app.public_store.file_url( - media.media_files.main) }}" /> + {% if media.media_files.medium %} + <img class="media_image" src="{{ request.app.public_store.file_url( + media.media_files.medium) }}" /> + {% else %} + <img class="media_image" src="{{ request.app.public_store.file_url( + media.media_files.main) }}" /> + {% endif %} + <h2> {{media.title}} </h2> |