Implémentation plus propre avec une sous-classe de Sprite.
[minwii.git] / setup_win_exe.py
index 1fa44dd..9fb24c4 100755 (executable)
@@ -26,33 +26,17 @@ def isSystemDLL(pathname):
     return origIsSystemDLL(pathname)
 py2exe.build_exe.isSystemDLL = isSystemDLL
 
-def findPguThemesDir() :
-    import pgu.gui.theme
-    theme_file = pgu.gui.theme.__file__
-    dnames = []
-    dnames.append(os.path.join(os.path.dirname(theme_file),"..","..","data","themes"))
-    
-    #if the package is installed, and the package is installed
-    #in /usr/lib/python2.3/site-packages/pgu/
-    #or c:\python23\lib\site-packages\pgu\
-    #the data is in ... lib/../share/ ...
-    dnames.append(os.path.join(os.path.dirname(theme_file),"..","..","..","..","share","pgu","themes"))
-    dnames.append(os.path.join(os.path.dirname(theme_file),"..","..","..","..","..","share","pgu","themes"))
-    dnames.append(os.path.join(os.path.dirname(theme_file),"..","..","share","pgu","themes")) 
-    for dname in dnames:
-        if os.path.isdir(dname):
-            return dname
-    raise IOError('pgu themes folder not found')
-    
+def findMinwiiDir() :
+    import minwii
+    return os.path.dirname(minwii.__file__)
 
 class MinWii2exe(py2exe.build_exe.py2exe) :
     def copy_extensions(self, extensions) :
         py2exe.build_exe.py2exe.copy_extensions(self, extensions)
-        
-        self.copyDataFiles('src/minwii/fonts', 'minwii/fonts')
-        self.copyDataFiles('src/minwii/soundfonts', 'minwii/soundfonts')
-        self.copyDataFiles('src/minwii/widgets/data', 'minwii/widgets/data')
-        self.copyDataFiles(findPguThemesDir(), 'data/themes')
+        minwiiDir = findMinwiiDir()
+        self.copyDataFiles(os.path.join(minwiiDir, 'fonts'), 'minwii/fonts')
+        self.copyDataFiles(os.path.join(minwiiDir, 'soundfonts'), 'minwii/soundfonts')
+        self.copyDataFiles(os.path.join(minwiiDir, 'widgets', 'data'), 'minwii/widgets/data')
 
         pygamedir = os.path.dirname(pygame.base.__file__)
         pygame_default_font = os.path.join(pygamedir, pygame.font.get_default_font())
@@ -85,16 +69,16 @@ class MinWii2exe(py2exe.build_exe.py2exe) :
 class BuildExe:
     def __init__(self):
         #Name of starting .py
-        self.script = "src/minwii/runminwii.py"
+        #self.script = "src/minwii/runminwii.py"
 
         #Name of program
-        self.project_name = "MINWii"
+        self.project_name = "MINDs"
 
         #Project url
-        self.project_url = "about:none"
+        self.project_url = "http://minwii.org"
 
         #Version of program
-        self.project_version = "1.0"
+        self.project_version = "2.0.2"
 
         #License of the program
         self.license = "GPL"
@@ -102,10 +86,10 @@ class BuildExe:
         #Auhor of program
         self.author_name = "Samuel Benveniste"
         self.author_email = "samuel.benveniste@gmail.com"
-        self.copyright = "Copyright 2010 MINES-ParisTech"
+        self.copyright = "Copyright 2010-2011 MINES-ParisTech"
 
         #Description
-        self.project_description = "Musicothérapie Interractive avec la Wiimote"
+        self.project_description = "Musique Interactive Numérique pour les Démences"
 
         #Icon file (None will use pygame default icon)
         self.icon_file = 'minwii.ico'
@@ -152,12 +136,18 @@ class BuildExe:
 
             # targets to build
             windows = [{
-                'script': self.script,
+                'script': "src/minwii/runminwii.py",
                 'icon_resources': [(0, self.icon_file)],
                 'copyright': self.copyright
-            }],
-            #console = [self.script],
-            options = {'py2exe': {'optimize': 2,
+                },
+                {
+                'script' : "src/minwii/logapp.py",
+                'icon_resources': [(0, 'logapp.ico')],
+                'copyright' : self.copyright
+                }
+                ],
+            #console = ["src/minwii/logapp.py"],
+            options = {'py2exe': {'optimize': 1,
                                   'bundle_files': 3,
                                   #'compressed': True,
                                   #'excludes': self.exclude_modules,