greg@85: #!/usr/bin/env python greg@85: # -*- coding: utf-8 -*- greg@85: greg@85: # La première ligne doit commencer par #! et contenir python. greg@85: # Elle sera adaptée au système de destination automatiquement greg@85: greg@85: """ This is a part of Beremiz project. greg@85: greg@85: Post installation script for win32 system greg@85: greg@85: This script creat a shortcut for Beremiz.py in the desktop and the greg@85: start menu, and remove them at the uninstallation greg@85: greg@85: """ greg@85: greg@85: import os greg@85: import sys greg@85: greg@85: # Ce script sera aussi lancé lors de la désinstallation. greg@85: # Pour n'exécuter du code que lors de l'installation : greg@85: if sys.argv[1] == '-install': greg@85: # On récupère le dossier où mes fichiers seront installés (dossier où python est aussi installé sous windows) greg@85: python_path = sys.prefix greg@85: # On récupère le chemin de pythonw.exe (l'exécutable python qui n'affiche pas de console). greg@85: # Si vous voulez une console, remplacez pythonw.exe par python.exe greg@85: pyw_path = os.path.abspath(os.path.join(python_path, 'pythonw.exe')) greg@85: # On récupère le dossier coincoin greg@85: Beremiz_dir = os.path.abspath(os.path.join(python_path, 'LOLITech', 'Beremiz')) greg@85: greg@85: # On récupère les chemins de coincoin.py, et de coincoin.ico greg@85: # (Ben oui, l'icone est au format ico, oubliez le svg, ici on en est encore à la préhistoire. greg@85: # Heureusement que the GIMP sait faire la conversion !) greg@85: ico_path = os.path.join(Beremiz_dir, 'Beremiz.ico') greg@85: script_path = os.path.join(Beremiz_dir, 'Beremiz.py') greg@85: greg@85: # Création des raccourcis greg@85: # Pour chaque raccourci, on essaye de le faire pour tous les utilisateurs (Windows NT/2000/XP), greg@85: # sinon on le fait pour l'utilisateur courant (Windows 95/98/ME) greg@85: greg@85: # Raccourcis du bureau greg@85: # On essaye de trouver un bureau greg@85: try: greg@85: desktop_path = get_special_folder_path("CSIDL_COMMON_DESKTOPDIRECTORY") greg@85: except OSError: greg@85: desktop_path = get_special_folder_path("CSIDL_DESKTOPDIRECTORY") greg@85: greg@85: # On créé le raccourcis greg@85: create_shortcut(pyw_path, # programme à lancer greg@85: "Can Node Editor", # Description greg@85: os.path.join(desktop_path, 'Beremiz.lnk'), # fichier du raccourcis (gardez le .lnk) greg@85: script_path, # Argument (script python) greg@85: Beremiz_dir, # Dossier courant greg@85: ico_path # Fichier de l'icone greg@85: ) greg@85: # On va cafter au programme de désinstallation qu'on a fait un fichier, pour qu'il soit supprimé greg@85: # lors de la désinstallation greg@85: file_created(os.path.join(desktop_path, 'Beremiz.lnk')) greg@85: greg@85: # Raccourcis dans le menu démarrer (idem qu'avant) greg@85: try: greg@85: start_path = get_special_folder_path("CSIDL_COMMON_PROGRAMS") greg@85: except OSError: greg@85: start_path = get_special_folder_path("CSIDL_PROGRAMS") greg@85: greg@85: greg@85: greg@85: # Création du dossier dans le menu programme greg@85: programs_path = os.path.join(start_path, "Beremiz project") greg@85: try : greg@85: os.mkdir(programs_path) greg@85: greg@85: except OSError: greg@85: greg@85: pass greg@85: directory_created(programs_path) greg@85: greg@85: create_shortcut(pyw_path, # Cible greg@85: "Can Node Editor", #Description greg@85: os.path.join(programs_path, 'Beremiz.lnk'), # Fichier greg@85: script_path, # Argument greg@85: Beremiz_dir, # Dossier de travail greg@85: ico_path # Icone greg@85: ) greg@85: file_created(os.path.join(programs_path, 'Beremiz.lnk')) greg@85: greg@85: # End (youpi-message) greg@85: # Ce message sera affiché (très) furtivement dans l'installateur. greg@85: # Vous pouvez vous en servir comme moyen de communication secret, c'est très in. greg@85: sys.stdout.write("Shortcuts created.") greg@85: # Fin du bidule greg@85: sys.exit()