+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)
+ 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')
+ self.copyDataFiles(findPguThemesDir(), 'data/themes')