•  » Outils
  •  » YetAnotherPiwigoImageResizer - Créer les miniatures avant upload

#1 2012-08-24 23:05:45

Sifu
Membre
2012-08-24
8

YetAnotherPiwigoImageResizer - Créer les miniatures avant upload

Bonjour,

Suite à la migration 2.4, j'ai rencontré quelques problèmes car mon hébergeur free.fr n'arrivait pas à créer les miniatures.
J'ai donc écris un petit exécutable en python pour créer les miniatures avant l'upload.

https://gitorious.org/yet-another-piwigo-image-resizer

Pour l'instant, c'est un peu brut de fonderie... mais si j'arrive à trouver un peu temps, j'améliorais tout cela.

A bientôt.

Hors ligne

#2 2012-08-25 10:33:39

Mascarille
Membre
Lyon Avignon
2009-12-21
785

Re: YetAnotherPiwigoImageResizer - Créer les miniatures avant upload

Super idée évoquée déjà plusieurs fois en particulier pour préparer la conversion les grosses bases.
Attention, il faut que les dates des miniatures générées soient postérieures à la date de la migration (information donnée par flop25) ici
http://fr.piwigo.org/forum/viewtopic.php?pid=191938
Merci beaucoup, je vais regarder ça de près.
Bonne journée

Hors ligne

#3 2012-08-25 12:37:16

Gotcha
Equipe Piwigo
Pierrelatte (26)
2007-03-14
13331

Re: YetAnotherPiwigoImageResizer - Créer les miniatures avant upload

Bonne initiative !


Ayez comme premier réflexe de consulter le wiki.
Ensuite, veuillez effectuer une recherche sur le forum avant de poser votre question.

LE FAIRE EST LE REVELATEUR DE L'ETRE

Hors ligne

#4 2012-08-31 10:24:24

Mascarille
Membre
Lyon Avignon
2009-12-21
785

Re: YetAnotherPiwigoImageResizer - Créer les miniatures avant upload

Bonjour,
Comment je peux récupérer la source python sur Gitorious ?
je ne comprend rien à ce truc :=) !
Bonne journée

Hors ligne

#5 2012-09-06 11:02:01

Steve
Membre
2006-08-31
8

Re: YetAnotherPiwigoImageResizer - Créer les miniatures avant upload

Bonjour,

C'est moi, ou le dépôt est vide ?

Hors ligne

#6 2012-09-11 22:24:49

Sifu
Membre
2012-08-24
8

Re: YetAnotherPiwigoImageResizer - Créer les miniatures avant upload

Désolé pour mon retour tardif.
Le dépôt n'est pas vide mais le code à utiliser est dans la branche "firstversion". Il faut télécharger cette branche.
Je vais arranger cela dès que possible.

Et merci pour vos retours ;)

Hors ligne

#7 2012-10-09 17:43:03

Steve
Membre
2006-08-31
8

Re: YetAnotherPiwigoImageResizer - Créer les miniatures avant upload

Bah, j’arrive pas à l'installer.

cf le log

Code:

------------------------------------------------------------
/tmp/YAPIR_env/bin/pip run on Tue Oct  9 16:45:13 2012
Obtaining file:///home/stephane/source/yet-another-piwigo-image-resizer

  Running setup.py egg_info for package from file:///home/stephane/source/yet-another-piwigo-image-resizer

    running egg_info
    writing requirements to YetAnotherImageResizer.egg-info/requires.txt
    writing YetAnotherImageResizer.egg-info/PKG-INFO
    writing top-level names to YetAnotherImageResizer.egg-info/top_level.txt
    writing dependency_links to YetAnotherImageResizer.egg-info/dependency_links.txt
    warning: manifest_maker: standard file '-c' not found
    

    reading manifest file 'YetAnotherImageResizer.egg-info/SOURCES.txt'
    writing manifest file 'YetAnotherImageResizer.egg-info/SOURCES.txt'
Requirement already satisfied (use --upgrade to upgrade): PIL>=1.1.6 in /tmp/YAPIR_env/lib/python2.7/site-packages/PIL (from YetAnotherImageResizer==0.0.0)

Installing collected packages: YetAnotherImageResizer

  Running setup.py develop for YetAnotherImageResizer

    Running command /tmp/YAPIR_env/bin/python -c "import setuptools; __file__='/home/stephane/source/yet-another-piwigo-image-resizer/setup.py'; exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" develop --no-deps
    running develop
    running egg_info
    writing requirements to YetAnotherImageResizer.egg-info/requires.txt
    writing YetAnotherImageResizer.egg-info/PKG-INFO
    writing top-level names to YetAnotherImageResizer.egg-info/top_level.txt
    writing dependency_links to YetAnotherImageResizer.egg-info/dependency_links.txt
    warning: manifest_maker: standard file '-c' not found
    

    reading manifest file 'YetAnotherImageResizer.egg-info/SOURCES.txt'
    writing manifest file 'YetAnotherImageResizer.egg-info/SOURCES.txt'
    running build_ext
    Creating /tmp/YAPIR_env/lib/python2.7/site-packages/YetAnotherImageResizer.egg-link (link to .)

    YetAnotherImageResizer 0.0.0 is already the active version in easy-install.pth

    error: /home/stephane/source/yet-another-piwigo-image-resizer/bin/imageresizer: No such file or directory

    Complete output from command /tmp/YAPIR_env/bin/python -c "import setuptools; __file__='/home/stephane/source/yet-another-piwigo-image-resizer/setup.py'; exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" develop --no-deps:

    running develop

running egg_info

writing requirements to YetAnotherImageResizer.egg-info/requires.txt

writing YetAnotherImageResizer.egg-info/PKG-INFO

writing top-level names to YetAnotherImageResizer.egg-info/top_level.txt

writing dependency_links to YetAnotherImageResizer.egg-info/dependency_links.txt

warning: manifest_maker: standard file '-c' not found



reading manifest file 'YetAnotherImageResizer.egg-info/SOURCES.txt'

writing manifest file 'YetAnotherImageResizer.egg-info/SOURCES.txt'

running build_ext

Creating /tmp/YAPIR_env/lib/python2.7/site-packages/YetAnotherImageResizer.egg-link (link to .)

YetAnotherImageResizer 0.0.0 is already the active version in easy-install.pth

error: /home/stephane/source/yet-another-piwigo-image-resizer/bin/imageresizer: No such file or directory

----------------------------------------

Command /tmp/YAPIR_env/bin/python -c "import setuptools; __file__='/home/stephane/source/yet-another-piwigo-image-resizer/setup.py'; exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" develop --no-deps failed with error code 1 in /home/stephane/source/yet-another-piwigo-image-resizer

Exception information:
Traceback (most recent call last):
  File "/tmp/YAPIR_env/local/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/basecommand.py", line 104, in main
    status = self.run(options, args)
  File "/tmp/YAPIR_env/local/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/commands/install.py", line 250, in run
    requirement_set.install(install_options, global_options)
  File "/tmp/YAPIR_env/local/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/req.py", line 1133, in install
    requirement.install(install_options, global_options)
  File "/tmp/YAPIR_env/local/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/req.py", line 553, in install
    self.install_editable(install_options, global_options)
  File "/tmp/YAPIR_env/local/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/req.py", line 635, in install_editable
    show_stdout=False)
  File "/tmp/YAPIR_env/local/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/__init__.py", line 256, in call_subprocess
    % (command_desc, proc.returncode, cwd))
InstallationError: Command /tmp/YAPIR_env/bin/python -c "import setuptools; __file__='/home/stephane/source/yet-another-piwigo-image-resizer/setup.py'; exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" develop --no-deps failed with error code 1 in /home/stephane/source/yet-another-piwigo-image-resizer

Hors ligne

#8 2012-10-09 18:13:04

Sifu
Membre
2012-08-24
8

Re: YetAnotherPiwigoImageResizer - Créer les miniatures avant upload

Comme cela je vois pas trop ce qui pose pb.
Je vais rejouer cela chez moi. Peut-être est ce lié à la version de Python.

Hors ligne

#9 2012-10-10 09:42:59

Steve
Membre
2006-08-31
8

Re: YetAnotherPiwigoImageResizer - Créer les miniatures avant upload

Il faudrait Python 3, par exemple ?

Hors ligne

#10 2012-10-10 09:48:48

Sifu
Membre
2012-08-24
8

Re: YetAnotherPiwigoImageResizer - Créer les miniatures avant upload

Non, je ne sais plus si j'étais en 2.6 ou 2.7.
J'avais préféré resté en 2.X pour permettre aux gens de tester + facilement.

J'essaye de regarder cela dès que j'ai un peu de temps.

Désolé mais les journées sont trop courtes en ce moment.

Hors ligne

#11 2012-10-15 22:36:15

Sifu
Membre
2012-08-24
8

Re: YetAnotherPiwigoImageResizer - Créer les miniatures avant upload

J'ai rajouté deux fichiers qui manquait. J'ai retesté à régler le problème de mon côté.

Steve, est ce que tu pourras me dire si c'est mieux comme cela ?

Merci.

Hors ligne

#12 2012-10-16 11:05:44

Steve
Membre
2006-08-31
8

Re: YetAnotherPiwigoImageResizer - Créer les miniatures avant upload

Ah, grand merci.

On progresse en effet. J'arrive à lancer le programme, je choisis le dossier source, la destination, et puis "GO" !

Mais ...

Code:

(YetAnotherPiwigoImageResizer_env)stephane@vmint:~/Téléchargements/yet-another-piwigo-image-resizer$ /tmp/YetAnotherPiwigoImageResizer_env/bin/imageresizer
(12, 4, 3.0, 8)
file /home/stephane/Téléchargements/yet-another-piwigo-image-resizer/imageresizer/gui.pyc
/home/stephane/Téléchargements/yet-another-piwigo-image-resizer/imageresizer
2012-10-16 10:47:12,252 - imageresizer - DEBUG - source_dir='/mnt/hgfs/Mes documents/Mes images' destination_dir='/home/stephane/Images'
2012-10-16 10:47:12,288 - imageresizer - DEBUG - Process source_file '/mnt/hgfs/Mes documents/Mes images/Boulets.JPG' destination_dir '/home/stephane/Images/'
IMG_SMALL
format_filename  %s-sm
size  (576, 432)
2012-10-16 10:47:12,289 - imageresizer.image - INFO - Process ProcessCustom /mnt/hgfs/Mes documents/Mes images/Boulets.JPG => /home/stephane/Images/Boulets-sm.JPG ...
Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1413, in __call__
    return self.func(*args)
  File "/home/stephane/Téléchargements/yet-another-piwigo-image-resizer/imageresizer/gui.py", line 80, in say_hi
    pi.process()
  File "/home/stephane/Téléchargements/yet-another-piwigo-image-resizer/imageresizer/imageresizer.py", line 40, in process
    i.process()
  File "/home/stephane/Téléchargements/yet-another-piwigo-image-resizer/imageresizer/image.py", line 170, in process
    i.process()
  File "/home/stephane/Téléchargements/yet-another-piwigo-image-resizer/imageresizer/image.py", line 126, in process
    ProcessImage.resize(self,self.file, self.size, False, os.path.join(self.destination_dirname(),self.destination_filename()), self.square)
  File "/home/stephane/Téléchargements/yet-another-piwigo-image-resizer/imageresizer/image.py", line 65, in resize
    img.thumbnail(box, Image.ANTIALIAS)
  File "/tmp/YetAnotherPiwigoImageResizer_env/local/lib/python2.7/site-packages/PIL/Image.py", line 1559, in thumbnail
    self.load()
  File "/tmp/YetAnotherPiwigoImageResizer_env/local/lib/python2.7/site-packages/PIL/ImageFile.py", line 189, in load
    d = Image._getdecoder(self.mode, d, a, self.decoderconfig)
  File "/tmp/YetAnotherPiwigoImageResizer_env/local/lib/python2.7/site-packages/PIL/Image.py", line 385, in _getdecoder
    raise IOError("decoder %s not available" % decoder_name)
IOError: decoder jpeg not available
(YetAnotherPiwigoImageResizer_env)stephane@vmint:~/Téléchargements/yet-another-p
iwigo-image-resizer$

on dirait que j'ai un problème de dépendance mais lequel ?
J'ai installé les paquets libjpeg et libjpeg-dev (ou plutôt libjpeg8 libjpeg8-dev car les autres n'existent pas chez moi).

Hors ligne

#13 2012-10-16 14:56:15

Sifu
Membre
2012-08-24
8

Re: YetAnotherPiwigoImageResizer - Créer les miniatures avant upload

En fait, il faudrait voir ce qui dit PIL lors de son installation (je crois qu'il indique les librairies qui sont activées ou pas).
Je listerais les packages sur ma machine et si j'ai le temps j'essaierais à partir d'une Debian toute clean.

J'essaye de te tenir au courant rapidement ;)

Hors ligne

#14 2012-10-16 22:24:27

Sifu
Membre
2012-08-24
8

Re: YetAnotherPiwigoImageResizer - Créer les miniatures avant upload

J'ai remonté une debian wheezy toute fraîche via debootstrap et voici la liste des packages que j'ai installé:
aptitude install python
aptitude install git
aptitude install python-virtualenv
aptitude install python2.7-dev
aptitude install libjpeg-dev
aptitude install python-tk

Mais le secret, c'est la commande suivante pour que PIL voit les librairies JPG:
ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/

Je vais ajouter cela dans le fichier INSTALL.txt.

Merci de tes retours.

Hors ligne

#15 2012-10-17 11:15:40

Steve
Membre
2006-08-31
8

Re: YetAnotherPiwigoImageResizer - Créer les miniatures avant upload

...ce qui pour une version 32 bits correspond à :
ln -s /usr/lib/i386-linux-gnu/libjpeg.so /usr/lib/
;-)
.
..
...
....
Et ça marche !!!

Encore merci, je vais pouvoir avancer dans ma migration vers 2.4.x

Dernière modification par Steve (2012-10-17 11:16:18)

Hors ligne

  •  » Outils
  •  » YetAnotherPiwigoImageResizer - Créer les miniatures avant upload

Pied de page des forums

Propulsé par FluxBB

github twitter facebook newsletter Faire un don Piwigo.org © 2002-2019 · Contact