embEZzle - sequentially-named file retrieval in perl

embEZzle has been abandoned since 2002. Although it still seems to work, I no longer use it and cannot continue to maintin it or fix bugs in the software since I am no longer particularly familiar with the code. If you would like to maintain embEZzle, please get in contact with me and we can arrange a tranfers of responsibilities.

Current Version: 0.6.3
Download: bzip2 | gzip | zip | deb
ChangeLog | License (GNU GPL)

NOTE!!! An older version (0.5.4) had a nasty bug that might make it behave badly when handed a large number of ezcodes at once. PLEASE upgrade any older versions right away.

embEZzle is my addition to the somewhat crowded EZPics clone scene. It is the only fully functionally EZPics client for GNU/Linux. By my count there are five clones of the original Visual Basic client (most of them are also written in VB). However, there is only one clone that can be run on a GNU/Linux system. This client has dependencies on other third-party programs, several unfixed bugs, and fails to match up to the original EZPics client in functionality.

Ignoring embEZzle's current state of GUI-lessness (and the missing behaviors that GUI's are prerequisite for), embEZzle implements the full functionality of the most advanced windows EZPics clone in terms of decoding and retrieving sequentially named files and adds several new features which, to my knowledge (and anyone can feel free to correct me), are not offered in any of the other clients. These include:

Unlike the other clients, embEZzle is quite flexible about where the sequential part of the file comes. The numbers can come at the beginning, end, middle, and can be zero-padded or not. Internally, embEZzle looks for the changed part of the file and then expands to include any bordering numbers before expanding from there.

What are EZCodes?

Grokking EZCodes is easy. The following example description is from the EZPics documentation:


Start - The full URL of the first file in the set. It includes the path and filename to the image.
End - This is just the filename of the last file in the set.
Meta - This only works in EZPics compatibility-mode. embEZzle will use this meta tag to rename files once you have downloaded them and to create subdirectories unless you disable this behavior. In the current version of embEZzle, this behavior is necessary.

embEZzle Development

Of course, there's lots lots of work that is still undone. The big item on the TODO list includes adding a basic GUI to supplement (not replace) the current command line interface. This is something that has been HEAVILY requested by a number of users and potential users.

Toward these ends, I have a (mostly) functional GUI already coded working. It is written using Perl's Tk module with the additional Tk::JPEG module. There are some shortcoming to this approach (not the least of which is that I think Tk is really quiet ugly). Check out the screenshot below:

click for a larger picture

The latest version of embEZzle does not contain the GUI. If you want it, you can grab it out of CVS or contact me and I'll make a developers' release. I want to get the bugs out before I start having to support it.

Additionally, I am on the track to completely rewriting this GUI in gtkperl. It's prettier and shouldn't hurt the cross-platform-ability (too much).

I am also working on getting access to ActiveState's Perl_Dev_Kit so I can build the embEZzle (and the GUI versions of the program) into one neat little Win32 EXE so people stuck in Windoze can still run embEZzle without having to install perl, the modules and then figure out how to use them. If you have PDK, and could build embEZzle for me, it would be very much appreciated. Please don't hesitate to contact me.


Have fun, please don't use it for anything immoral, indecent, or illegal and don't be afraid to drop me a line if you love, hate, or want to improve it. Email me at mako@atdot.cc or check out my homepage for up-to-date contact information.


I can no longer accept or respond to bugs in embEZzle since I do not use it. If you would like to become a maintainer for the program, please contact me and we arrange for a transfer of responsibilities.