MyPixmania
Introduction
MyPixmania is a software that eases the use of the MyPixmania.com website. This website allows to store picture albums, and sells to customers the ability to send printed versions of these pictures. Initially, to ease the uploading of pictures, the website offered specialized softwares only for the Microsoft Windows and Apple OS X operating systems. Nothing was available for users of other operating systems, particularly free systems like GNU/Linux. The user of these systems was limited to a Web form on the MyPixmania.com website, which makes its use impractical, particularly when it comes to uploading a large number of pictures. The MyPixmania software fills this gap, and while it was initially developed for the GNU/Linux system, it's also perfectly usable with other operating systems.
Nowadays, the MyPixmania.com website allows to upload pictures through a Java applet, usable of more platforms. However, the free software user may not be satisfied by the usage of the Java applet, and may find convenient the command-line interface offered by MyPixmania.
Technically, MyPixmania is a set of Python scripts, that interacts with the MyPixmania website using the Curl library.
Currently, the supported operations are :
- creation of an album ;
- addition of pictures inside an album ;
- listing of available albums ;
- deletion of an album ;
- fetch of an album's pictures.
Today, MyPixmania has three different interfaces :
- a text interface, that offers all functionalities, perfect to upload a large number of pictures or to be used in other scripts ;
- a graphical interface, which offers only a subset of all functionalities, but which has a nicer interface to view the contents of albums ;
- a developer interface, for those who want to write other scripts that makes use of the internal library which interacts with the MyPixmania website.
Note: the authors of this software are in no way related to the MyPixmania.com website or to the FotoVista company. The availability of this script is not a promotion for this company.
Usage
Configuration
Before using one one the interfaces of MyPixmania, you have
to create a configuration file that contains your identification
informations for the MyPixmania.com website. This file
must be named .mypixmania.cfg, must be located in your
home directory, and must look like the following :
[account] login = myogin@mydomain.org password = mypassword
The lines that start with # are ignored.
Text interface
The text interface of MyPixmania is easy to use. Its
documentation is available through a manual page, or through the
help option :
$ mypixmania help Usage: mypixmania command [files] Commands: - list : Lists all albums - add : Adds one or more pictures to a new or already existing album - fetch : Fetch thumbnails or pictures from an album - delete : Remove an album - help : Displays this help - version : Displays version and authors Examples: - mypixmania.py list - mypixmania.py add Holidays2004 pic1.jpg pic2.jpg pic3.jpg - mypixmania.py fetch full AlbumName dest-dir/ - mypixmania.py fetch thumb AlbumName dest-dir/
To begin, it's possible to list all available albums :
$ mypixmania list Album list: - HolidaysSummer2004 - HolidaysSummer2005 - WeekEndSophie - House
To add pictures to an existing album, simply use the following command :
$ mypixmania add HolidaysSummer2004 ~/pics/photo[1-3].jpg [ 1/ 3] Adding picture '/home/thomas/pics/photo1.jpg' to album 'HolidaysSummer2004' Uploading 114035 / 114035 bytes [ 2/ 3] Adding picture '/home/thomas/pics/photo2.jpg' to album 'HolidaysSummer2004' Uploading 100835 / 100835 bytes [ 3/ 3] Adding picture '/home/thomas/pics/photo3.jpg' to album 'HolidaysSummer2004' Uploading 108408 / 108408 bytes
To create an album, one simply has to add pictures to a non-existing album. MyPixmania will then ask you whether you want to create the new album or not :
$ mypixmania add HolidaysSummer2004 ~/pics/skimboard.jpg Album HolidaysSummer2004 does not exist, do you want to create it ? [Y/n] Y [ 1/ 1] Adding picture '/home/thomas/pics/skimboard.jpg' to album 'HolidaysSummer2004' Uploading 776055 / 776055 bytes
To remove an album and all its pictures, use the
delete command :
$ mypixmania delete HolidaysSummer2004 Album 'HolidaysSummer2004' deleted successfully.
Finally, to fetch the pictures of a previously uploaded album, you
can use the fetch command. This command allows to fetch
either thumbnails (thumb format) or larger pictures
(full format). However, it is not possible to fetch the
pictures in their original size: le MyPixmania.com website
doesn't offer this functionnality.
After downloading, the pictures of format full will have
the name they had when they had been uploaded. The pictures of format
thumb will have the same name, suffixed with
-thumb. The thumb picture corresponding to
the picture picture12.jpg will be named
picture12-thumb.jpg.
$ mkdir HolidaysSummer2004 $ mypixmania fetch full HolidaysSummer2004 HolidaysSummer2004/ photo1.jpg photo2.jpg photo3.jpg $ ls HolidaysSummer2004/ photo1.jpg photo2.jpg photo3.jpg $ mypixmania fetch thumb HolidaysSummer2004 HolidaysSummer2004/ photo1.jpg photo2.jpg photo3.jpg $ ls HolidaysSummer2004/ photo1.jpg photo2.jpg photo3.jpg thumb-photo1.jpg thumb-photo2.jpg thumb-photo3.jpg
Graphical interface
The graphical interface uses the Gtk 2 library, and doesn't offert all the functionalities available through the command-line interface (particularly picture fetching). It is still in intensive development, and you can take part.

The main window, that allows to list albums, and delete
them.

The visualization window, with a thumbnail for each
picture.

The album addition window.
Developer interface
MyPixmania is made of three parts: a
pixmania.py library that allows to interact with the
MyPixmania.com website, a text interface and a graphical
interface. The two last interfaces have been described in the previous
sections. In this section, we present the pixmania.py
library, which might be interesting for the developer who wants to
write new scripts that interact with the MyPixmania.com
website.
The pixmania.py librarby is documented using epydoc (python-epydoc
Debian package). To generate the documentation in the PDF format,
simply issue :
$ mkdir doc/ $ epydoc --pdf -o doc/ pixmania.py
This documentation gives all the necessary informations on the internal working of this librarby.
Download
The latest version of MyPixmania is 1.0.5, released on July, 29th 2006. A tarball is available here. The code source is available under the termes of the GNU General Public License.
Installation
To use the text interface, your system must have a Python interpreter installed
(python2.3 or python2.4 packages for the
Debian distribution) and the Python interface for the
Curl library, called PyCurl
(python2.3-pycurl or python2.4-pycurl for
the Debian distribution).
To use the graphical interface, you also need to install the Python
interface for the Gtk 2 library (python2.3-gtk2 or
python2.4-gtk2 packages in the Debian
distribution).
Package
A package for Mandriva 2006 is available.
Packages for Debian Sarge, Debian Etch, Debian
Sid, Ubuntu Breezy and Ubuntu Dapper are
available. To use them, simply add one of the following line to your
/etc/apt/sources.list file :
- For Debian Sarge, add
deb http://thomas.enix.org/pub/debian/packages/ stable main - For Debian Etch, add
deb http://thomas.enix.org/pub/debian/packages/ testing main - For Debian Sid, add
deb http://thomas.enix.org/pub/debian/packages/ unstable main - For Ubuntu Breezy, add
deb http://thomas.enix.org/pub/debian/packages/ breezy main - For Ubuntu Dapper, add
deb http://thomas.enix.org/pub/debian/packages/ dapper main
From the tarball
Once you have downloaded the tarball, simply uncompress it somewhere in your home directory. You have two choices :
- Use MyPixmania directly from your home directory, by
running the text interface through
./mypixmaniaor the graphical interface through./gmypixmania. The manualpage is available throughman ./mypixamnia.1; - Install it on your system, using the
install.shscript, that must be run asroot. Theuninstall.shscript allows to uninstall MyPixmania. The commands and the manual page are then directly available.
Take part
You can take part in the development and the improvement of MyPixmania by sending your suggestions, remarks and bug reports to the authors.
You can also take part by sending patches to the authors. To do this, you must work with the latest version of MyPixmania available in a Subversion repository at the URL https://ssl.bulix.org/svn/thomas/mypixmania/trunk/.
To fetch MyPixmania (must be done only once) :
$ svn checkout https://ssl.bulix.org/svn/thomas/mypixmania/trunk mypixmania
To update to the latest version :
$ svn update
To generate a patch :
$ svn diff -u > ~/mypixmania-foo-bar.patch
Amongst the various things to do, there are ;
- Improvement of the graphical interface usability, and addition of new functionalities ;
- Program internalisation ;
- See if it's possible to integrate the functionalities of MyPixmania into an already-existing picture management software, such as DigiKam in KDE or gThumb in Gnome.
Contact
The authors of these scripts are Thomas Petazzoni and Christophe Lucas.