#! /usr/bin/env python

#
# Common fonction to mksite.py and mkgal.py
#

import os, sys, string, shutil

global TARGET
TARGET = "../public_html"

MENU = "menu"
LIST = "list"
MODE = 0755

DEBUG   = True
VERBOSE = True

def mkdir(rep = TARGET):
    """ If the target rep does not exists, make it """
    if rep != TARGET:
        rep = os.path.join(TARGET, rep)
        
    if not os.path.isdir(rep):
        if VERBOSE:
            print "Creating %s directory" % rep
        os.mkdir(rep, MODE)

def mksubdirs(rep):
    """ mkdir -p """
    dirname = ""
    for d in rep.split('/')[:-1]:
        dirname = mkfilename(dirname, d)
        mkdir(dirname)
    return

def mkfilename(rep, file):
    """ build the real file name """
    if rep.find("./") == 0:
        rep = rep[2:]
        
    if rep != ".":
        return os.path.join(rep, file)
    else:
        return os.path.join(file)

def mklist(src, list):
    """ make a list file """
    index = open(os.path.join(src, LIST), "w")
    for e in list:
        index.write(os.path.join(src, e) + "\n")
    index.close()
    return

def is_newer(a, b):
    """ compare last modification time of two files """
    if not os.access(a, os.F_OK):
        return False
    
    if not os.access(b, os.F_OK):
        return True
    
    return os.stat(a).st_mtime >= os.stat(b).st_mtime
