#! /usr/bin/env python
# WAF build script for midori
# This file is licensed under the terms of the expat license, see the file EXPAT.

import Utils
import os

def add_image (bld, category, name):

    srcdir = os.getcwd ()
    blddir = bld.bdir

    rsvg_convert = bld.env['RSVG_CONVERT']

    if rsvg_convert:
        Utils.check_dir (blddir + '/icons')

    icon_sizes = [16, 22, 24, 32, 48]

    for size in icon_sizes:
        format = str (size) + 'x' + str (size)
        if os.access (srcdir + '/icons/' + format + '/' + name + '.png', os.F_OK):
            bld.install_files ('${MDATADIR}/icons/hicolor/' + format + '/' + category,
                               srcdir + '/icons/' + format + '/' + name + '.png')
        elif not rsvg_convert:
            pass
        elif os.access (srcdir + '/icons/scalable/' + name + '.svg', os.F_OK):
            Utils.check_dir (blddir + '/icons/' + format)
            command = rsvg_convert + ' -w ' + str(size) + \
                ' -h ' + str(size) + \
                ' -o ' + blddir + '/icons/' + format + '/' + name + '.png' + \
                ' ' + srcdir + '/icons/scalable/' + name + '.svg'
            if not Utils.exec_command (command):
                bld.install_files ('${MDATADIR}/icons/hicolor/' + format + '/' + category,
                                   blddir + '/icons/' + format + '/' + name + '.png')
            else:
                Utils.pprint ('BLUE', "Optimized icons could not be created.")
                break
    bld.install_files ('${MDATADIR}/icons/hicolor/scalable/' + category,
                       srcdir + '/icons/scalable/' + name + '.svg')

add_image (bld, 'categories', 'extension')
add_image (bld, 'apps', 'midori')
add_image (bld, 'status', 'news-feed')
