diff --git a/LICENSE b/LICENSE index 2044523..15781f3 100644 --- a/LICENSE +++ b/LICENSE @@ -1,3 +1,4 @@ +The MIT License (MIT) Copyright (c) 2009-2012 - Simon C. (saimon.org) Permission is hereby granted, free of charge, to any person obtaining a copy diff --git a/sigal/__init__.py b/sigal/__init__.py index 597b753..878a822 100644 --- a/sigal/__init__.py +++ b/sigal/__init__.py @@ -43,8 +43,8 @@ import sys from logging import Formatter -from sigal.gallery import Gallery -from sigal.settings import read_settings +from .gallery import Gallery +from .settings import read_settings _DEFAULT_CONFIG_FILE = 'sigal.conf' @@ -88,8 +88,8 @@ def main(): args = parser.parse_args() level = args.verbosity or logging.WARNING - init_logging(level=level) + init_logging(level=level) logger = logging.getLogger(__name__) if not os.path.isdir(args.input_dir): diff --git a/sigal/gallery.py b/sigal/gallery.py index 6f71577..f740ce5 100644 --- a/sigal/gallery.py +++ b/sigal/gallery.py @@ -61,7 +61,7 @@ class Gallery: self.paths[relpath] = { 'img': [ f for f in filenames - if os.path.splitext(f)[1] in self.settings['fileextlist']], + if os.path.splitext(f)[1] in self.settings['ext_list']], 'subdir': dirnames } self.paths[relpath].update(get_metadata(path)) diff --git a/sigal/settings.py b/sigal/settings.py index 12ba85b..5240076 100644 --- a/sigal/settings.py +++ b/sigal/settings.py @@ -25,7 +25,6 @@ import ConfigParser import logging import os - _DEFAULT_CONFIG = { 'img_size': '640x480', 'make_thumbs': 1, @@ -38,13 +37,14 @@ _DEFAULT_CONFIG = { 'jpg_quality': 90, 'exif': 0, 'copyright': '', - 'fileExtList': '.jpg,.jpeg,.JPG,.JPEG,.png', + 'ext_list': '.jpg,.jpeg,.JPG,.JPEG,.png', 'theme': 'default' - } +} def get_size(string): "split size string to a tuple of int" + size = [int(i) for i in string.split("x")] if size[1] > size[0]: size[0], size[1] = size[1], size[0] @@ -64,10 +64,9 @@ def read_settings(filename=None): config.read(filename) settings = dict(config.items('sigal')) - settings['fileextlist'] = settings['fileextlist'].split(',') + settings['ext_list'] = settings['ext_list'].split(',') settings['img_size'] = get_size(settings['img_size']) settings['thumb_size'] = get_size(settings['thumb_size']) - settings['jpg_quality'] = config.getint('sigal', 'jpg_quality') settings['big_img'] = config.getboolean('sigal', 'big_img') settings['exif'] = config.getboolean('sigal', 'exif') diff --git a/sigal/writer.py b/sigal/writer.py index ef8173b..29cb946 100644 --- a/sigal/writer.py +++ b/sigal/writer.py @@ -31,9 +31,9 @@ import os from os.path import abspath from distutils.dir_util import copy_tree from jinja2 import Environment, PackageLoader -from sigal.image import Image -DEFAULT_THEME = "default" +from .image import Image + INDEX_PAGE = "index.html" SIGAL_LINK = "https://github.com/saimn/sigal" PATH_SEP = u" ยป " @@ -49,7 +49,7 @@ def do_link(link, title): class Writer(): """ Generate html pages for each directory of images """ - def __init__(self, settings, output_dir, theme=DEFAULT_THEME): + def __init__(self, settings, output_dir, theme='default'): self.settings = settings self.output_dir = os.path.abspath(output_dir) self.theme = settings['theme'] or theme @@ -103,15 +103,13 @@ class Writer(): PATH_SEP + ctx['paths'] for i in paths[relpath]['img']: - image = { + ctx['images'].append({ 'file': i, 'thumb': os.path.join(self.settings['thumb_dir'], self.settings['thumb_prefix'] + i) - } - ctx['images'].append(image) + }) for d in paths[relpath]['subdir']: - dpath = os.path.normpath(os.path.join(relpath, d)) alb_thumb = paths[dpath]['representative'] thumb_name = os.path.join(self.settings['thumb_dir'], @@ -127,12 +125,11 @@ class Writer(): fit=self.settings['thumb_fit'], quality=self.settings['jpg_quality']) - album = { + ctx['albums'].append({ 'path': os.path.join(d, INDEX_PAGE), 'title': paths[dpath]['title'], 'thumb': os.path.join(d, thumb_name) - } - ctx['albums'].append(album) + }) page = self.template.render(paths[relpath], **ctx).encode('utf-8') diff --git a/tests/test_settings.py b/tests/test_settings.py index 1f8e6de..ea80165 100644 --- a/tests/test_settings.py +++ b/tests/test_settings.py @@ -23,8 +23,8 @@ class TestSettings(unittest.TestCase): self.assertTupleEqual(self.settings['img_size'], (640, 480)) self.assertTupleEqual(self.settings['thumb_size'], (200, 150)) - def test_fileextlist(self): - self.assertListEqual(self.settings['fileextlist'], + def test_ext_list(self): + self.assertListEqual(self.settings['ext_list'], ['.jpg', '.jpeg', '.JPG', '.JPEG', '.png']) def test_type_conversion(self):