2006-07-12 Per Jensen * 2.0.2 * functions.py (xmlString): escape &, > and > in xml file 2005-09-22 Per Jensen * 2.0.1 * fixed gallery2-win.py, so that it runs... * changed url encoding in functions module * fixed parameter in Body constructor * fixed fullsize link on index.html generated on Windows * Thanks to Ken Staton for telling me and sending fixes 2005-06-05 Per Jensen * multiple: always output in UTF-8 encoding. Input encoding now defaults to UTF-8 on Linux and mbcs on Windows. Input encoding is configurable via the --inputEncoding option 2004-09-14 Per Jensen * 2.0 * gallery-win.py : setting correct props * quote URLs, also quote in URL's so that IE works nicely 2004-04-23 Per Jensen * 2RC6 * gui.py (Gui.createGallery): GUI working again...#"%#!! * Display correct title in status messages * Border around pictures, thicker on large pictures than on thumbnails * picture.py (Picture.getLinkHTML): set height, width and alt peroperties 2004-02-24 Per Jensen * 2RC5 * gui.py (Gui.__init__): supply props to galleries class when gui is fired up. * Kam-Yung fixed getting the EXIF date using the PIL library,thanks. * Roger Ferguson reported succes on an iMac, thanks. 2004-02-01 Per Jensen * 2RC4 * Make search for filetypes caseinsensitive on unix boxes 2004-01-08 Per Jensen * 2RC3 * galleries.py (Galleries.getChildrenNavigation): don't use os.path.samefile, it's not available on Windows, thanks Vineet 2004-01-03 Per Jensen * gallery2.py (usage): Added --hoverColor option * Multiple: tweaked stylesheet * galleries.py: don't think empty directories have a younger index file * manual.xml: color example, --hoverColor 2003-12-31 Per Jensen * Multiple: try/except around imports of sax parser and Tkinter If they miss gallery generation can still be done from commandline * Fixed Windows install procedure in manual 2003-12-30 Per Jensen * Multiple: thumbnail, not thumpnail. 2003-12-28 Per Jensen * Updating from xml files working 2003-12-25 Per Jensen * galleries.py (Galleries): don't create a ./gallery dir anymore. Use -d option * Multiple: no restrictions on destination dir anymore. 2003-12-22 Per Jensen * Multiple: now links to empty directories if there are pictures somewhere below the empty directory. * Support TIFF, PNG, BMP pics * --faster option now tuned somewhat, PIL is now approx. 4 times faster compared to the default high quality setting. The quality is still very acceptable. * much faster copying of fullsize pictures 2003-12-14 Per Jensen * picture.py : refactored incomprehensible picture resizing code. * Multiple : support for special indexpage if directory has precisely one picture. In that case make a large thumbnail (!) and center it. 2003-11-30 Per Jensen * Refactorings, just give props to functions, not separate entries 2003-11-30 Per Jensen * Create index.html in directory even if no pictures are present, but one or more subdirectories do contain pictures. Request from Vineet Jain * Vineet Jain changed "".joinfields to string.joinfields in pictures.py, thanks. 2003-11-24 Per Jensen * Windows install procedure greatly simplified, thanks Nicolas. 2003-11-23 Per Jensen * galleries.py (Galleries.processDir): status messages put in resultqueue * gui.py: now encoding directory names from dialog boxes in iso-8859-1 for correct behaviour when working with danish "���" characters * gallery2.py (usage): use Galleries as worker thread * gui.py (Gui.createGallery): Use Galleries as worker thread. Status messages now working as expected, a reappeared bug not setting destinationdir fixed, new messages window can be opened. * galleries.py: now a class inheriting from Thread. It accepts jobs on requestqueue and emits messages on result queue. 2003-11-02 Per Jensen * doc/manual.xml: documentation expanded and debugged. 2003-11-01 Per Jensen * galleries.py (processDir): when recursing and destinationdir is set, don't make "gallery" subdirectories, make copy of source directory hierarchy and put galleries there. * galleries.py (createGallery): If destinationdir is set, build directory navigation on gallery page. Links to parentdir and subdirs are built. Nice! * gallery_II.py : sanitycheck, destinationdir must not be below sourcedir * functions.py (getDirs): added getDirs() * functions.py (globFiles): refactored to use dircache * galleries.py (createOrUpdate): nicer output when generating galleries 2003-10-31 Per Jensen * picture.py (Picture.getImage): trap _getexif() exception if PIL is less than 1.1.4. This little fix allows use of ealier PIL versions at the cost of no exif data extraction. * galleries.py (createGallery): use regex to check for gallery dir 2003-07-24 Per Jensen * pictureManager.py (PictureManager.createLinkedPictureList): Error reported by Francisco Borges when recursing a directory hierarchy and at the same time using the -d option. Problem was that a fully path'ed filename was added to a path.....Francisco, thanks. 2003-07-05 Per Jensen * INSTALL : Specific instructions for installing globally and locally. 2003-07-04 Per Jensen * Thomas Rijniers (thomasr@zonnet.nl) has been so kind to send several changes and bugfixes. I didn't like the removal of the recursion feature, so I patched the patches. I need that functionality on a server! Many thanks to Thomas *BEWARE* The changes require PIL 1.1.4 for extraction of EXIF data. Getexif.py and exif.py : can be removed. Gallery_II.py : when you don't enter a destination dir, I assume sourcedir+'gallary'. I couldn't see the reason for basedestdir and GalleryDirectory, so I combined them to targetdir. Per's note, reworked basedestDir as it is required for recursion feature. Galleries.py : removed dummies from processdir parameter list. Per's note, added dummies placeholders in processDir() parameterlist because the signature is used by os.path.walk() Body.py : QuoteIt is not used, so may removed from import list. Functions.py : getTitle was not used, so I took it back in business. Per's note, tweaked a bit, if user doesn't give a title, use either the content of 'title.txt' or the directory name. Picture.py : I pass props as parameter, so all options are now available and working. I use the Image._getexif function. Image was opened twice in getresized, not necessary! Height and width is not necessary in gerenated html code, since the images are already resized to the desired size. Used ANTIALIAS instead of BICUBIC. This gives better images. 2003-06-05 Per Jensen * gui.py (Gui.py): Gallery was not created in destination dir, but in source dir! 2003-01-12 Per Jensen * manual.xml: Documented default values and installation procedures on *nix and Windows 2003-01-11 Per Jensen * manual.xml: A manuel in DocBook format is initiated and all options are described. An HTML version is published, later a TXT manpage will be included. Must learn a bit more DocBook first though * gallery_II.py,galleries.py,gui.py: added --force option * setup.py: include manual.html in distribution 2003-01-10 Per Jensen * gui.py (Gui.createGallery): call processDir with an extra argument. This caused the gui to fail when Create button was hit. Sigh. 2003-01-07 Per Jensen * picture.py (Picture.createPictureHTML): dont' use "\" in URL on Windows * gallery_II.py : call processDir() with an extra argument to circumvent introduced bug when code was moved to galleries.py * galleries.py : gallery generation didn't actually work, same for --recursive, some code had unintentionally been indented. Sorry about that! 2003-01-06 Per Jensen * gui.py : Layout the buttons (Create, Quit) in lower left corner. Added messagebar. 2003-01-05 Per Jensen * gui.py (Gui.findSourceDir): use FileDialog on windows until tkFileDialog supports selecting directories 2003-01-03 Per Jensen * gui.py: basic functionality working, a gallery can be generated * galleries.py: separated gallery construction routines from startup file in order to facilitate calls from gui 2002-11-28 Per Jensen * functions.py (getTitle): title variable was misspelled (ttle!) 2002-11-24 Per Jensen * functions.py (createDirectories): use os.makedirs() dont't invent when you don't have to... 2002-09-08 Per Jensen * gallery_II.py (createOrUpdate): check if existing gallery is younger than pictures in source directory, if yes -> skip (processDir): use platform independent join when constructing paths, fixed an off by one error causing join to fail 2002-09-01 Per Jensen * (multiple files): Recursion through a directory hierarchy now works. '-r' works fine together with --destdir option. 2002-08-28 Per Jensen * functions.py (mkdirIteratively): iteratively create directories necessary for destination path, not tested on Windows yet * picture.py (Picture.getExifDate): If DateTime key is not found in EXIF data, look for 'DateTime.*' * footer.py (Footer.getFromSignature): Fixed the -F option so that it actually works in 2.0 2002-08-27 Per Jensen * picture.py : don't load picture, uses way to much memory 2002-08-22 Per Jensen * gallery_II.py : 'created by' option shall be None, not 'None'! * Makefile (.PHONY): made install target, test program from installed location, not the development directory. * body.py (Body.getHeadline): use directory name as title if none is given * head.py (Head.getHTML): use directory name as title if none is given * gallery_II.py : changed imports so that program actually runs from an installation setup... 2002-08-20 Per Jensen * setup.py: seem to work reasonably now * picture.py (Picture.getResized): use better scaling algorithm by default than used before, --faster commandline option forces speedier resizing, at the cost of some quality. Hint by Peter Dyson, thanks. * Refactoring, new class PictureManager to handle Picture instances. Thus Body class now deals only with more general html body stuff 2002-08-18 Per Jensen * Distribute using disutils ("python setup.py install"), not working entirely correct yet.... * Refactored some code * Extract picture EXIF DateTime property and write in in picture html file. Put it in xml also. Robert F. Tobler's exif module is used to extract EXIF data. Great module ! 2002-08-12 Per Jensen * picture.py: Added directory awareness, enabling source and destination directories 2001-12-09 Per Jensen * Fredrik Lundh got me going again on a Unicode issue in PIL. Thanks!