def handle_uploaded_image(profile, f): logger.info("\thandling profile image upload") try: os.mkdir(os.path.dirname(profile.locations("avatar.L.path"))) except Exception as e: logger.info("\tfailed creating directory with error: %s" % str(e)) pass ext = os.path.splitext(os.path.basename(f.name))[1] tmp_image_path = tempfile.mktemp(suffix=ext, prefix=str(profile.user.id)) try: logger.info("\topening file: %s", tmp_image_path) destination = open(tmp_image_path, 'wb') for chunk in f.chunks(): destination.write(chunk) destination.close() logger.info("\tfile upload done") except Exception as e: logger.error("\tfailed writing file error: %s", str(e)) logger.info("\tcreating thumbnails") path_s = profile.locations("avatar.S.path") path_m = profile.locations("avatar.M.path") path_l = profile.locations("avatar.L.path") try: extract_square(tmp_image_path, path_s, 32) logger.info("\tcreated small thumbnail") profile.has_avatar = True profile.save() except Exception as e: logger.error("\tfailed creating small thumbnails: " + str(e)) try: extract_square(tmp_image_path, path_m, 40) logger.info("\tcreated medium thumbnail") except Exception as e: logger.error("\tfailed creating medium thumbnails: " + str(e)) try: extract_square(tmp_image_path, path_l, 70) logger.info("\tcreated large thumbnail") except Exception as e: logger.error("\tfailed creating large thumbnails: " + str(e)) os.unlink(tmp_image_path)
logger.info("\topening file: %s", tmp_image_path) destination = open(tmp_image_path, 'wb') for chunk in f.chunks(): destination.write(chunk) destination.close() logger.info("\tfile upload done") except Exception, e: logger.error("\tfailed writing file error: %s", str(e)) path_s = profile.locations("avatar.S.path") path_m = profile.locations("avatar.M.path") path_l = profile.locations("avatar.L.path") logger.info("\tcreating thumbnails") try: extract_square(tmp_image_path, path_s, 32) profile.has_avatar = True profile.save() except Exception, e: logger.error("\tfailed creating small thumbnails: " + str(e)) logger.info("\tcreated small thumbnail") try: extract_square(tmp_image_path, path_m, 40) except Exception, e: logger.error("\tfailed creating medium thumbnails: " + str(e)) try: extract_square(tmp_image_path, path_l, 70) except Exception, e: