--- 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
--- 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
--- 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
--- 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
--- 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 <tflorac@ulthar.net>\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"