From 6c9b44e2e71cf85b9adae40b5aab2debce0a86d2 Mon Sep 17 00:00:00 2001 From: andrean Date: Wed, 14 Aug 2013 16:18:52 +0200 Subject: [PATCH 1/2] fix create_thumbnail saving for images not requiring resize --- avatar/models.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/avatar/models.py b/avatar/models.py index c9698f9..07f54f1 100644 --- a/avatar/models.py +++ b/avatar/models.py @@ -5,6 +5,7 @@ from PIL import Image from django.conf import settings from django.db import models +from django.core.files import File from django.core.files.base import ContentFile from django.core.files.storage import get_storage_class from django.utils.translation import ugettext as _ @@ -121,7 +122,7 @@ class Avatar(models.Model): image.save(thumb, AVATAR_THUMB_FORMAT, quality=quality) thumb_file = ContentFile(thumb.getvalue()) else: - thumb_file = ContentFile(orig) + thumb_file = File(orig) thumb = self.avatar.storage.save(self.avatar_name(size), thumb_file) except IOError: return # What should we do here? Render a "sorry, didn't work" img? From 3f32a2b347aed500152a015cf67a893be19ab1db Mon Sep 17 00:00:00 2001 From: David Loaiza Date: Tue, 27 Aug 2013 00:22:05 -0500 Subject: [PATCH 2/2] Add spanish locale --- avatar/locale/es/LC_MESSAGES/django.mo | Bin 0 -> 3063 bytes avatar/locale/es/LC_MESSAGES/django.po | 143 +++++++++++++++++++++++++ 2 files changed, 143 insertions(+) create mode 100644 avatar/locale/es/LC_MESSAGES/django.mo create mode 100644 avatar/locale/es/LC_MESSAGES/django.po diff --git a/avatar/locale/es/LC_MESSAGES/django.mo b/avatar/locale/es/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..66c428039661a05adc004052322256a5536cca97 GIT binary patch literal 3063 zcmb_eJ!~9B6dsZg$nhV3g#f(-nfSoFK08WcE_M_XJ0wz^9ElA?igcRW9p4S?%^Wkc z=bS}NNrU)lC{octfv8A(4Fx?7N=q9=K>-Ed?9cfe$C5#;y!YMBzW3(6@6G$xcMc!; zoZ)&7_e;2c#{Dwxj~~DXuDie{@OR)E@SS~(Y2Y`&gTUwaGxiYh72sjuYrw~WZvr0$ zUI5Mk*MM&TKLs8E-Uhx3{1x~lkR4#`J-}1I>p%%y1`dIB;GqYxH*g8~Ebt5972vl( zpU2<8&yeGO{P6jHiKKjK1A>n1^8LaVSuD@@6WJ>203!70LYi5BJjcFnHZjTj+;P*4jNne2 zs-+IMl=fooL`<$Dq@mn|O53UpE0vCOz54X@#AK8jBa~}e=|t6*HqF!|Ra-%Panm8F zw8Rxj)#r(fXRw&^@XDo zlc^OZ-|Xm_(dMIK=BN3Y-3uBEQ?QU_y%nfxeSnZHW*o6|9W5haJ!&gRi49s3>pV>y zE07AyC6NdxXtg7(V2wm@m|Ltx&Qn?tYVn;r8t9ZZbehDJ$PWcMO>yQOvTJFC?d*D* zB!glxYY7?gQ7Wu&P@cEF$F^)ALYLj!VUcJa`v6%Pd6u!fp!MmrQ^PCpPxGBFbpMEsvL!ZaABF`RuWVuP?DY< zy_OKF9H@}MM$R6lW3NMmWDFH^R%B2oPoc>t2^>4EsU_PqIWcK5M^#&$%1+w7?eGut zp7@63la)KLJT2BR`U9NP;9?xSD~zAdI?aYPK2xh)6+LZSuwvUX4&F-JHdxhlsx+>w z2Istdz&2QdZor{7b3CZc1+yn<_IUjSzMrVoU>IB#ed%M~Yj=ujwfgK#P&)~`OWe9( z)o^7KuSs=U;(e&bCC%j~r)Cdf%Op2lxwx{tRp3lmtDMscf`p9+JyhVJH`Bd@OLdxX=!_L^VQuw%Ft=sr6I>T2 zSXPmarE1q{t|eWik)(zv!Fg@Ewoa;-{j>|Srz!usFsbOs0?kxUSKbfa7D|}B$c7fN zbTkv52v3bF@kMwQ&6~4LrHMx_g`95kSd+z=W+F9qzW%*RgRoTbQiF#-D5wr(IO@p0 z_ToLf1@-13p+TjQCx6_Er|6i^2`1K`o&Q6>cPVwx)4Z7L_my6LSlDtR+tBY+psbz| zF|^urr2>(K)Kg>oDjfWCL(A4_%NiP!$NTuqL_Ld2iN-4{+X#$6p9$}{c53l*9exK+ ziwMwR0a;Mx0(uu|yg?(!yEuLD8V_T2A|vULn3s6(xQ&YKo})8Rn%cA_cf?OsQFxv! zUNSAb;xB^>o@>5hYuT%1z{yD*Pjv7;k}vEO4NwGihqs{k;L%g){C+6^ev*G#7x6|U z^|;~GLiOB0O-G#WZ0mN_M_C-_RA-vc@s9%!*@f-IjHuYV;v+qBHNvcov)21&%68j$L8|C>HSv7JX9S`8jT^??WO~2Lwzuu<9d%~;1KcQ_j, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: 2.0a10\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-26 23:53-0500\n" +"PO-Revision-Date: 2013-08-27 00:21-0600\n" +"Last-Translator: David Loaiza M. \n" +"Language-Team: es \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.5.7\n" +"Language: es\n" + +#: admin.py:19 +msgid "Avatar" +msgstr "Avatar" + +#: forms.py:23 +msgid "avatar" +msgstr "avatar" + +#: forms.py:35 +#, python-format +msgid "" +"%(ext)s is an invalid file extension. Authorized extensions are : " +"%(valid_exts_list)s" +msgstr "" +"%(ext)s es una extensión de archivo inválida. Las extensiones de archivo " +"autorizadas son: %(valid_exts_list)s" + +#: forms.py:39 +#, python-format +msgid "" +"Your file is too big (%(size)s), the maximum allowed size is " +"%(max_valid_size)s" +msgstr "" +"Su archivo es muy grande (%(size)s), el tamaño máximo permitido es " +"%(max_valid_size)s" + +#: forms.py:49 +#, python-format +msgid "" +"You already have %(nb_avatars)d avatars, and the maximum allowed is " +"%(nb_max_avatars)d." +msgstr "" +"Usted ya tiene %(nb_avatars)d avatares, y el máximo permitido es " +"%(nb_max_avatars)d." + +#: forms.py:65 forms.py:77 +msgid "Choices" +msgstr "Opciones" + +#: views.py:71 +msgid "Successfully uploaded a new avatar." +msgstr "Se ha subido correctamente un nuevo avatar" + +#: views.py:106 +msgid "Successfully updated your avatar." +msgstr "Se ha actualizado correctamente su avatar." + +#: views.py:141 +msgid "Successfully deleted the requested avatars." +msgstr "Se han eliminado correctamente los avatares solicitados." + +#: templates/avatar/add.html:6 templates/avatar/change.html:6 +msgid "Your current avatar: " +msgstr "Su avatar actual:" + +#: templates/avatar/add.html:9 templates/avatar/change.html:9 +msgid "You haven't uploaded an avatar yet. Please upload one now." +msgstr "No ha subido un avatar aún. Por favor, suba uno ahora." + +#: templates/avatar/add.html:13 templates/avatar/change.html:20 +msgid "Upload New Image" +msgstr "Subir Nueva Imagen" + +#: templates/avatar/change.html:15 +msgid "Choose new Default" +msgstr "Elige nuevo predeterminado" + +#: templates/avatar/confirm_delete.html:6 +msgid "Please select the avatars that you would like to delete." +msgstr "Por favor seleccione los avatares que le gustaría eliminar." + +#: templates/avatar/confirm_delete.html:9 +#, python-format +msgid "" +"You have no avatars to delete. Please upload one now." +msgstr "" +"No tiene avatares para borrar. Por favor suba uno ahora." + +#: templates/avatar/confirm_delete.html:15 +msgid "Delete These" +msgstr "Eliminar Estos" + +#: templates/notification/avatar_friend_updated/full.txt:1 +#, python-format +msgid "" +"%(avatar_creator)s has updated their avatar %(avatar)s.\n" +"\n" +"http://%(current_site)s%(avatar_url)s\n" +msgstr "" +"%(avatar_creator)s ha actualizado su avatar %(avatar)s.\n" +"\n" +"http://%(current_site)s%(avatar_url)s\n" + +#: templates/notification/avatar_friend_updated/notice.html:2 +#, python-format +msgid "" +"%(avatar_creator)s has updated their avatar %(avatar)s." +msgstr "" +"%(avatar_creator)s ha actualizado su avatar %(avatar)s." + +#: templates/notification/avatar_updated/full.txt:1 +#, python-format +msgid "" +"Your avatar has been updated. %(avatar)s\n" +"\n" +"http://%(current_site)s%(avatar_url)s\n" +msgstr "" +"Su avatar ha sido actualizado. %(avatar)s\n" +"\n" +"http://%(current_site)s%(avatar_url)s\n" + +#: templates/notification/avatar_updated/notice.html:2 +#, python-format +msgid "You have updated your avatar %(avatar)s." +msgstr "Ha actualizado su avatar %(avatar)s." + +#: templatetags/avatar_tags.py:57 +msgid "Default Avatar" +msgstr "Avatar Predeterminado"