# HG changeset patch # User Thierry Florac # Date 1532083559 -7200 # Node ID 0d209477b6c4fd11661405abafa8da5952b44506 # Parent 01eb2fba1632ce3cc59a97997137e835b240e903 Version 0.1.17 diff -r 01eb2fba1632 -r 0d209477b6c4 .installed.cfg --- a/.installed.cfg Tue Jul 17 11:12:44 2018 +0200 +++ b/.installed.cfg Fri Jul 20 12:45:59 2018 +0200 @@ -133,3 +133,28 @@ [buildout] parts = package i18n pyflakes test + +[buildout] +installed_develop_eggs = /home/tflorac/Dropbox/src/PyAMS/pyams_file/develop-eggs/pyams-file.egg-link + /home/tflorac/Dropbox/src/PyAMS/pyams_file/develop-eggs/lingua.egg-link + /home/tflorac/Dropbox/src/PyAMS/pyams_file/develop-eggs/pyams-template.egg-link + /home/tflorac/Dropbox/src/PyAMS/pyams_file/develop-eggs/tmp2qw7unlhbuild + /home/tflorac/Dropbox/src/PyAMS/pyams_file/develop-eggs/pyams-skin.egg-link + /home/tflorac/Dropbox/src/PyAMS/pyams_file/develop-eggs/pyams-pagelet.egg-link + /home/tflorac/Dropbox/src/PyAMS/pyams_file/develop-eggs/pyams-viewlet.egg-link + /home/tflorac/Dropbox/src/PyAMS/pyams_file/develop-eggs/pyams-i18n.egg-link + /home/tflorac/Dropbox/src/PyAMS/pyams_file/develop-eggs/pyams-catalog.egg-link + /home/tflorac/Dropbox/src/PyAMS/pyams_file/develop-eggs/pyams-form.egg-link + /home/tflorac/Dropbox/src/PyAMS/pyams_file/develop-eggs/pyams-utils.egg-link + +[buildout] +parts = i18n pyflakes test package + +[buildout] +parts = pyflakes test package i18n + +[buildout] +parts = test package i18n pyflakes + +[buildout] +parts = package i18n pyflakes test diff -r 01eb2fba1632 -r 0d209477b6c4 docs/HISTORY.txt --- a/docs/HISTORY.txt Tue Jul 17 11:12:44 2018 +0200 +++ b/docs/HISTORY.txt Fri Jul 20 12:45:59 2018 +0200 @@ -1,6 +1,13 @@ History ======= +0.1.17 +------ + - use BTree to store image thumbnails and reduce conflicts + - updated SVG content-type checks + - rename IThumbnail interface to IThumbnails + - small code optimizations + 0.1.16.1 -------- - corrected image rendering function diff -r 01eb2fba1632 -r 0d209477b6c4 src/pyams_file.egg-info/PKG-INFO --- a/src/pyams_file.egg-info/PKG-INFO Tue Jul 17 11:12:44 2018 +0200 +++ b/src/pyams_file.egg-info/PKG-INFO Fri Jul 20 12:45:59 2018 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: pyams-file -Version: 0.1.16.1 +Version: 0.1.17 Summary: PyAMS file interfaces and classes Home-page: http://hg.ztfy.org/pyams/pyams_file Author: Thierry Florac @@ -12,6 +12,13 @@ History ======= + 0.1.17 + ------ + - use BTree to store image thumbnails and reduce conflicts + - updated SVG content-type checks + - rename IThumbnail interface to IThumbnails + - small code optimizations + 0.1.16.1 -------- - corrected image rendering function diff -r 01eb2fba1632 -r 0d209477b6c4 src/pyams_file.egg-info/SOURCES.txt --- a/src/pyams_file.egg-info/SOURCES.txt Tue Jul 17 11:12:44 2018 +0200 +++ b/src/pyams_file.egg-info/SOURCES.txt Fri Jul 20 12:45:59 2018 +0200 @@ -30,6 +30,7 @@ src/pyams_file/locales/pyams_file.pot src/pyams_file/locales/fr/LC_MESSAGES/pyams_file.mo src/pyams_file/locales/fr/LC_MESSAGES/pyams_file.po +src/pyams_file/templates/picture.pt src/pyams_file/tests/__init__.py src/pyams_file/tests/test_utilsdocs.py src/pyams_file/tests/test_utilsdocstrings.py diff -r 01eb2fba1632 -r 0d209477b6c4 src/pyams_file/locales/fr/LC_MESSAGES/pyams_file.po~ --- a/src/pyams_file/locales/fr/LC_MESSAGES/pyams_file.po~ Tue Jul 17 11:12:44 2018 +0200 +++ b/src/pyams_file/locales/fr/LC_MESSAGES/pyams_file.po~ Fri Jul 20 12:45:59 2018 +0200 @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE 1.0\n" -"POT-Creation-Date: 2018-06-08 12:31+0200\n" +"POT-Creation-Date: 2018-06-27 12:17+0200\n" "PO-Revision-Date: 2015-02-06 21:39+0100\n" "Last-Translator: Thierry Florac \n" "Language-Team: French\n" @@ -71,13 +71,9 @@ msgid "Delete content" msgstr "Supprimer ce contenu" -#: src/pyams_file/widget/templates/media-input.pt:30 -#: src/pyams_file/widget/templates/media-display.pt:12 -msgid "Zoom image" -msgstr "Agrandir l'image" - -#: src/pyams_file/widget/templates/media-input.pt:36 -#: src/pyams_file/widget/templates/media-input.pt:68 +#: src/pyams_file/widget/templates/media-input.pt:27 +#: src/pyams_file/widget/templates/media-input.pt:64 +#: src/pyams_file/widget/templates/media-input.pt:96 #: src/pyams_file/widget/templates/file-input.pt:31 #: src/pyams_file/widget/templates/file-display.pt:14 #: src/pyams_file/widget/templates/media-display.pt:20 @@ -85,8 +81,9 @@ msgid "Current value:" msgstr "Contenu actuel :" -#: src/pyams_file/widget/templates/media-input.pt:52 -#: src/pyams_file/widget/templates/media-input.pt:82 +#: src/pyams_file/widget/templates/media-input.pt:41 +#: src/pyams_file/widget/templates/media-input.pt:80 +#: src/pyams_file/widget/templates/media-input.pt:110 #: src/pyams_file/widget/templates/file-input.pt:45 #: src/pyams_file/widget/templates/file-display.pt:21 #: src/pyams_file/widget/templates/media-display.pt:30 @@ -94,6 +91,11 @@ msgid "Download" msgstr "Enregistrer sous..." +#: src/pyams_file/widget/templates/media-input.pt:55 +#: src/pyams_file/widget/templates/media-display.pt:12 +msgid "Zoom image" +msgstr "Agrandir l'image" + #: src/pyams_file/zmi/file.py:42 msgid "Properties..." msgstr "Propriétés" @@ -102,15 +104,19 @@ msgid "Update file properties" msgstr "Mise à jour des propriétés" -#: src/pyams_file/zmi/image.py:61 +#: src/pyams_file/zmi/image.py:107 +msgid "Rotate image to right..." +msgstr "Tourner l'image vers la droite" + +#: src/pyams_file/zmi/image.py:156 msgid "Crop image..." msgstr "Recadrer l'image" -#: src/pyams_file/zmi/image.py:83 +#: src/pyams_file/zmi/image.py:178 msgid "Crop image" msgstr "Recadrer l'image" -#: src/pyams_file/zmi/image.py:126 +#: src/pyams_file/zmi/image.py:226 msgid "" "You can use this form to crop an image.\n" "\n" @@ -128,7 +134,7 @@ "ou les vignettes déjà sélectionnées sur la base de l'ancienne image sont " "réinitialisées !" -#: src/pyams_file/zmi/image.py:140 +#: src/pyams_file/zmi/image.py:240 msgid "You can use this form to make a selection on an image." msgstr "" "Par défaut, l'image est affichée dans son intégralité quel que soit le type " @@ -141,39 +147,39 @@ "**ATTENTION** : si l'image d'origine est recadrée ou rechargée, la fonction " "est réinitialisée et il faut procéder à un nouveau choix." -#: src/pyams_file/zmi/image.py:160 +#: src/pyams_file/zmi/image.py:308 msgid "Select portrait thumbnail..." msgstr "Vignette portrait" -#: src/pyams_file/zmi/image.py:182 +#: src/pyams_file/zmi/image.py:330 msgid "Select portrait thumbnail" msgstr "Emprise de la vignette en mode portrait" -#: src/pyams_file/zmi/image.py:225 +#: src/pyams_file/zmi/image.py:341 msgid "" "You can use this form to select a portrait thumbnail of this image.\n" "\n" "**WARNING**: cropping or resizing an image will reset all selected " "thumbnails and adaptive images!!" msgstr "" -"L'utilisation d'une vignette en mode portrait n'est pas systématique, elle dépend " -"du modèle de présentation qui peut ou non y faire appel. Par défaut, la " -"vignette est positionnée au centre de l'image, la sélection de " -"son emprise ne modifie pas l'image d'origine.\n" +"L'utilisation d'une vignette en mode portrait n'est pas systématique, elle " +"dépend du modèle de présentation qui peut ou non y faire appel. Par défaut, " +"la vignette est positionnée au centre de l'image, la sélection de son " +"emprise ne modifie pas l'image d'origine.\n" "\n" "**ATTENTION** : lorsqu'une image est recadrée, redimentionnée ou rechargée, " "la sélection est réinitialisée sur sa position par défaut (centrée) ; s'il y " "a lieu, vous devez procéder à une nouvelle sélection personnalisée." -#: src/pyams_file/zmi/image.py:240 +#: src/pyams_file/zmi/image.py:356 msgid "Select square thumbnail..." msgstr "Vignette carrée" -#: src/pyams_file/zmi/image.py:262 +#: src/pyams_file/zmi/image.py:378 msgid "Select square thumbnail" msgstr "Emprise de la vignette carrée" -#: src/pyams_file/zmi/image.py:305 +#: src/pyams_file/zmi/image.py:389 msgid "" "You can use this form to select a square thumbnail of this image.\n" "\n" @@ -189,15 +195,15 @@ "la sélection est réinitialisée sur sa position par défaut (centrée) ; s'il y " "a lieu, vous devez procéder à une nouvelle sélection personnalisée." -#: src/pyams_file/zmi/image.py:320 +#: src/pyams_file/zmi/image.py:404 msgid "Select panoramic thumbnail..." msgstr "Vignette panoramique" -#: src/pyams_file/zmi/image.py:342 +#: src/pyams_file/zmi/image.py:426 msgid "Select panoramic thumbnail" msgstr "Emprise de la vignette panoramique" -#: src/pyams_file/zmi/image.py:385 +#: src/pyams_file/zmi/image.py:437 msgid "" "You can use this form to select a panoramic thumbnail of this image.\n" "\n" @@ -213,55 +219,55 @@ "la sélection est réinitialisée sur sa position par défaut (centrée) ; s'il y " "a lieu, vous devez procéder à une nouvelle sélection personnalisée." -#: src/pyams_file/zmi/image.py:458 +#: src/pyams_file/zmi/image.py:452 msgid "Select responsive XS image..." msgstr "Image adaptative pour smartphones" -#: src/pyams_file/zmi/image.py:479 +#: src/pyams_file/zmi/image.py:473 msgid "Select image for extra-small (XS) devices" msgstr "Portion de l'image affichée sur les smartphones (taille XS)" -#: src/pyams_file/zmi/image.py:494 +#: src/pyams_file/zmi/image.py:488 msgid "Select responsive SM image..." msgstr "Image adaptative pour tablettes" -#: src/pyams_file/zmi/image.py:515 +#: src/pyams_file/zmi/image.py:509 msgid "Select image for small (SM) devices" msgstr "Portion de l'image affichée sur les tablettes (taille SM)" -#: src/pyams_file/zmi/image.py:530 +#: src/pyams_file/zmi/image.py:524 msgid "Select responsive MD image..." msgstr "Image adaptative pour terminaux moyens" -#: src/pyams_file/zmi/image.py:551 +#: src/pyams_file/zmi/image.py:545 msgid "Select image for medium (MD) devices" msgstr "Portion de l'image affichée sur les terminaux moyens (taille MD)" -#: src/pyams_file/zmi/image.py:566 +#: src/pyams_file/zmi/image.py:560 msgid "Select responsive LG image..." msgstr "Image adaptative pour grands terminaux" -#: src/pyams_file/zmi/image.py:587 +#: src/pyams_file/zmi/image.py:581 msgid "Select image for large (LG) devices" msgstr "Portion de l'image affichée sur les grands terminaux (taille LG)" -#: src/pyams_file/zmi/image.py:602 +#: src/pyams_file/zmi/image.py:596 msgid "Display all thumbnails" msgstr "Voir toutes les vignettes" -#: src/pyams_file/zmi/image.py:619 +#: src/pyams_file/zmi/image.py:613 msgid "Display all image thumbnails" msgstr "Récapitulatif des vignettes associées" -#: src/pyams_file/zmi/image.py:664 +#: src/pyams_file/zmi/image.py:654 msgid "Resize image..." msgstr "Redimensionner l'image" -#: src/pyams_file/zmi/image.py:718 src/pyams_file/zmi/image.py:675 +#: src/pyams_file/zmi/image.py:708 src/pyams_file/zmi/image.py:665 msgid "Resize image" msgstr "Redimensionner l'image" -#: src/pyams_file/zmi/image.py:749 +#: src/pyams_file/zmi/image.py:739 msgid "" "You can use this form to change image dimensions.\n" "\n" @@ -273,32 +279,32 @@ "Une nouvelle image ne sera générée que si les dimensions indiquées sont " "inférieures à la taille du fichier actuel." -#: src/pyams_file/zmi/image.py:71 src/pyams_file/zmi/image.py:147 -#: src/pyams_file/zmi/image.py:398 src/pyams_file/zmi/image.py:674 +#: src/pyams_file/zmi/image.py:166 src/pyams_file/zmi/image.py:247 +#: src/pyams_file/zmi/image.py:664 msgid "Close" msgstr "Fermer" -#: src/pyams_file/zmi/image.py:72 +#: src/pyams_file/zmi/image.py:167 msgid "Crop" msgstr "Recadrer l'image" -#: src/pyams_file/zmi/image.py:148 src/pyams_file/zmi/image.py:399 +#: src/pyams_file/zmi/image.py:248 msgid "Select thumbnail" msgstr "Sélectionner cette portion d'image" -#: src/pyams_file/zmi/image.py:681 +#: src/pyams_file/zmi/image.py:671 msgid "New image width" msgstr "Largeur de l'image" -#: src/pyams_file/zmi/image.py:683 +#: src/pyams_file/zmi/image.py:673 msgid "New image height" msgstr "Hauteur de l'image" -#: src/pyams_file/zmi/image.py:685 +#: src/pyams_file/zmi/image.py:675 msgid "Keep aspect ratio" msgstr "Ne pas déformer l'image" -#: src/pyams_file/zmi/image.py:686 +#: src/pyams_file/zmi/image.py:676 msgid "" "Check to keep original aspect ratio; image will be resized as large as " "possible within given limits" @@ -307,27 +313,27 @@ "L'image sera redimensionnée (sans jamais être agrandie !) pour être aussi " "grande que possible en fonction des contraintes indiquées." -#: src/pyams_file/interfaces/__init__.py:99 +#: src/pyams_file/interfaces/__init__.py:110 msgid "Title" msgstr "Titre" -#: src/pyams_file/interfaces/__init__.py:102 +#: src/pyams_file/interfaces/__init__.py:113 msgid "Description" msgstr "Description" -#: src/pyams_file/interfaces/__init__.py:105 +#: src/pyams_file/interfaces/__init__.py:116 msgid "Save file as..." msgstr "Enregistrer sous..." -#: src/pyams_file/interfaces/__init__.py:106 +#: src/pyams_file/interfaces/__init__.py:117 msgid "Name under which the file will be saved" msgstr "Nom proposé automatiquement lors de l'enregistrement du fichier" -#: src/pyams_file/interfaces/__init__.py:109 +#: src/pyams_file/interfaces/__init__.py:120 msgid "Language" msgstr "Langue" -#: src/pyams_file/interfaces/__init__.py:110 +#: src/pyams_file/interfaces/__init__.py:121 msgid "File's content language" msgstr "Langue du contenu du fichier"