"""
    winpdb_inst.py

    Post install script for winpdb

    Copyright (C) 2005-2008 Nir Aides

    This program is free software; you can redistribute it and/or modify it 
    under the terms of the GNU General Public License as published by the 
    Free Software Foundation; either version 2 of the License, or any later 
    version.

    This program is distributed in the hope that it will be useful, 
    but WITHOUT ANY WARRANTY; without even the implied warranty of 
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
    See the GNU General Public License for more details.

    You should have received a copy of the GNU General Public License along 
    with this program; if not, write to the Free Software Foundation, Inc., 
    59 Temple Place, Suite 330, Boston, MA 02111-1307 USA    
"""



import distutils.sysconfig
import sys
import os



def PrepareFolder():
    #
    # First remove previous directory if found under user\start\program_files.
    #

    path_user = get_special_folder_path('CSIDL_PROGRAMS')
    dest_dir = os.path.join(path_user, 'Winpdb')

    if os.path.isdir(dest_dir):
        for f in os.listdir(dest_dir):
            p = os.path.join(dest_dir, f)
            os.remove(p)

        os.rmdir(dest_dir)

    #
    # Then, try to install under all_users\start\program_files.
    #

    path_all = get_special_folder_path('CSIDL_COMMON_PROGRAMS')
    dest_dir = os.path.join(path_all, 'Winpdb')

    if os.path.isdir(dest_dir):
        return dest_dir

    try:
        os.mkdir(dest_dir)
        directory_created(dest_dir)

        return dest_dir

    except:
        pass

    #
    # And fall-back to install under user\start\program_files.
    #

    dest_dir = os.path.join(path_user, 'Winpdb')
    os.mkdir(dest_dir)
    directory_created(dest_dir)

    return dest_dir



def InstallWinpdb():
    dest_dir = PrepareFolder()

    homepage_link = os.path.join(dest_dir, 'winpdb-homepage.lnk')
    create_shortcut('http://www.winpdb.org/','Winpdb Homepage', homepage_link)
    file_created(homepage_link)

    winpdb_target = os.path.join(distutils.sysconfig.PREFIX, 'Scripts', 'winpdb_.pyw')
    winpdb_link = os.path.join(dest_dir, 'winpdb.pyw.lnk')
    create_shortcut(winpdb_target,'Winpdb', winpdb_link)
    file_created(winpdb_link)



if os.name == 'nt' and len(sys.argv) == 2 and sys.argv[1] == '-install':
    InstallWinpdb()