degal/config.py
author Tero Marttila <terom@fixme.fi>
Fri, 05 Jun 2009 19:30:15 +0300
changeset 57 8d06e0283b88
parent 51 0f39cb5e4b11
child 60 406da27a4be2
permissions -rw-r--r--
start implementing new Image stuff, tie in RenderMachine into the new Image class, assoicated config stuff
"""
    Configuration
"""

import render

class Configuration (object) :
    """
        Various configuration settings
    """

    # the name of the gallery
    gallery_title       = "Image Gallery"

    # recognized image extensions
    image_exts          = ('jpg', 'jpeg', 'png', 'gif', 'bmp')
    
    # subdirectory used for generated thumbnails/previews
    thumb_dir           = 'thumbs'
    preview_dir         = 'previews'

    # size of generated thumbnails/previews
    thumb_size          = (160, 120)
    preview_size        = (640, 480)

    # number of images displayed per folder page
    images_per_page     = 50
    
    # exif tags used in output
    # Copyright (C) 2008, Santtu Pajukanta <santtu@pajukanta.fi>
    # XXX: import from dexif?
    exif_tags           = [
        # TODO Create date is in a useless format, needs some strptime love
        ("CreateDate",              "Create date"               ),
        ("Model",                   "Camera model"              ),
        ("Aperture",                "Aperture"                  ),
        ("ExposureMode",            "Exposure mode"             ),
        ("ExposureCompensation",    "Exposure compensation"     ),
        ("ExposureTime",            "Exposure time"             ),
        ("Flash",                   "Flash mode"                ),
        ("ISO",                     "ISO"                       ),
        ("ShootingMode",            "Shooting mode"             ),
        ("LensType",                "Lens type"                 ),
        ("FocalLength",             "Focal length"              )
    ]
    
    def is_image (self, file) :
        """
            Tests if the given File is an image, based on its file extension
        """

        return file.matchext(self.image_exts)

    # XXX: move elsewhere?
    def get_renderer (self) :
        return render.RenderMachine(self)