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