objdictedit_postinst.py
changeset 358 4630ccf4932a
equal deleted inserted replaced
357:838e5397ae67 358:4630ccf4932a
       
     1 #!/usr/bin/env python
       
     2 # -*- coding: utf-8 -*-
       
     3 
       
     4 # La première ligne doit commencer par #! et contenir python.
       
     5 # Elle sera adaptée au système de destination automatiquement
       
     6 
       
     7 """ This is a part of Beremiz project.
       
     8 
       
     9     Post installation script for win32 system
       
    10     
       
    11     This script creat a shortcut for objdictedit.py in the desktop and the
       
    12     start menu, and remove them at the uninstallation
       
    13     
       
    14 """
       
    15 
       
    16 import os
       
    17 import sys
       
    18 
       
    19 # Ce script sera aussi lancé lors de la désinstallation.
       
    20 # Pour n'exécuter du code que lors de l'installation :
       
    21 if sys.argv[1] == '-install':
       
    22     # On récupère le dossier où mes fichiers seront installés (dossier où python est aussi installé sous windows)
       
    23     python_path = sys.prefix
       
    24     # On récupère le chemin de pythonw.exe (l'exécutable python qui n'affiche pas de console).
       
    25     # Si vous voulez une console, remplacez pythonw.exe par python.exe
       
    26     pyw_path = os.path.abspath(os.path.join(python_path, 'pythonw.exe'))
       
    27     # On récupère le dossier coincoin
       
    28     objdictedit_dir = os.path.abspath(os.path.join(python_path, 'LOLITech', 'CanFestival-3','objdictgen'))
       
    29     ############################################################################
       
    30     #objdictedit_dir = os.path.abspath(os.path.join(python_path, 'share', \
       
    31                                                     #'objdictedit'))
       
    32     ############################################################################
       
    33     # On récupère les chemins de coincoin.py, et de coincoin.ico
       
    34     # (Ben oui, l'icone est au format ico, oubliez le svg, ici on en est encore à la préhistoire.
       
    35     # Heureusement que the GIMP sait faire la conversion !)
       
    36     ico_path = os.path.join(objdictedit_dir, 'objdictedit.ico')
       
    37     script_path = os.path.join(objdictedit_dir, 'objdictedit.py')
       
    38     
       
    39     # Création des raccourcis
       
    40     # Pour chaque raccourci, on essaye de le faire pour tous les utilisateurs (Windows NT/2000/XP),
       
    41     # sinon on le fait pour l'utilisateur courant (Windows 95/98/ME)
       
    42     
       
    43     # Raccourcis du bureau
       
    44     # On essaye de trouver un bureau
       
    45     try:
       
    46         desktop_path = get_special_folder_path("CSIDL_COMMON_DESKTOPDIRECTORY")
       
    47     except OSError:
       
    48         desktop_path = get_special_folder_path("CSIDL_DESKTOPDIRECTORY")
       
    49     
       
    50     # On créé le raccourcis
       
    51     create_shortcut(pyw_path, # programme à lancer
       
    52                     "Can Node Editor", # Description
       
    53                     os.path.join(desktop_path, 'objdictedit.lnk'),  # fichier du raccourcis (gardez le .lnk)
       
    54                     script_path, # Argument (script python)
       
    55                     objdictedit_dir, # Dossier courant
       
    56                     ico_path # Fichier de l'icone
       
    57                     )
       
    58     # On va cafter au programme de désinstallation qu'on a fait un fichier, pour qu'il soit supprimé
       
    59     # lors de la désinstallation
       
    60     file_created(os.path.join(desktop_path, 'objdictedit.lnk'))
       
    61     
       
    62     # Raccourcis dans le menu démarrer (idem qu'avant)
       
    63     try:
       
    64         start_path = get_special_folder_path("CSIDL_COMMON_PROGRAMS")
       
    65     except OSError:
       
    66         start_path = get_special_folder_path("CSIDL_PROGRAMS")
       
    67     
       
    68     
       
    69 
       
    70     # Création du dossier dans le menu programme
       
    71     programs_path = os.path.join(start_path, "LOLITech")
       
    72     try :
       
    73         os.mkdir(programs_path)
       
    74 
       
    75     except OSError:
       
    76 
       
    77         pass
       
    78     directory_created(programs_path)
       
    79     
       
    80     create_shortcut(pyw_path, # Cible
       
    81                     "Can Node Editor", #Description
       
    82                     os.path.join(programs_path, 'objdictedit.lnk'),  # Fichier
       
    83                     script_path, # Argument
       
    84                     objdictedit_dir, # Dossier de travail
       
    85                     ico_path # Icone
       
    86                     )
       
    87     file_created(os.path.join(programs_path, 'objdictedit.lnk'))
       
    88     
       
    89     # End (youpi-message)
       
    90     # Ce message sera affiché (très) furtivement dans l'installateur.
       
    91     # Vous pouvez vous en servir comme moyen de communication secret, c'est très in.
       
    92     sys.stdout.write("Shortcuts created.")
       
    93     # Fin du bidule
       
    94     sys.exit()