source: trunk/brainstorms/setup.py @ 247

Last change on this file since 247 was 247, checked in by sc, 12 years ago

Interface.py:

  • Fixed bugs with device port connections

Wheelchair_Control.py:

  • Turning speeds reduced

setup.py:

  • whitespace cleanup
File size: 8.0 KB
Line 
1#!/usr/bin/env python
2#
3# Puzzlebox - Brainstorms - Distutils
4#
5# Copyright Puzzlebox Productions, LLC (2010)
6#
7# This code is released under the GNU Pulic License (GPL) version 2
8# For more information please refer to http://www.gnu.org/copyleft/gpl.html
9#
10# Last Update: 2010.12.04
11#
12#####################################################################
13
14from distutils.core import setup
15import os, sys
16import glob
17
18if (sys.platform == 'win32'):
19        import py2exe
20        import shutil
21#       import matplotlib
22
23#####################################################################
24# Main
25#####################################################################
26
27if __name__ != '__main__':
28
29        sys.exit()
30
31
32if (sys.platform == 'win32'):
33       
34        # Remove the build folder, a bit slower but ensures that build contains the latest
35        shutil.rmtree("build", ignore_errors=True)
36       
37        options={"py2exe": { \
38                    "includes": [ \
39                       "sip", \
40                       #"PyQt4._qt", \
41#                      "numpy", "pylab", \
42#                      "matplotlib", \
43#                      "matplotlib.backends", \
44#                      "matplotlib.backends.backend_qt4agg", \
45#                      "matplotlib.figure", \
46#                      "matplotlib.numerix.fft", \
47#                      "matplotlib.numerix.linear_algebra", \
48#                      "matplotlib.numerix.random_array", \
49#                      "matplotlib.backends.backend_tkagg"
50                    ], \
51                    "excludes": [ \
52                       "bluetooth", "tcl", \
53                       '_gtkagg', '_tkagg', '_agg2', \
54                       '_cairo', '_cocoaagg', \
55                       '_fltkagg', '_gtk', '_gtkcairo'], \
56                    "dll_excludes": [ \
57                       'tcl84.dll', 'tk84.dll' \
58                       'libgdk-win32-2.0-0.dll',
59                       'libgobject-2.0-0.dll'], \
60                    #"packages": ["pytz"], \
61                    "compressed": 2, \
62                    "optimize": 2, \
63                    "bundle_files": 2, \
64                    "dist_dir": "dist", \
65                    "xref": False, \
66                    "skip_archive": False, \
67                 }
68        }
69       
70        data_files=[("", \
71                       ["puzzlebox_brainstorms_configuration.ini"]),
72                    ("images", \
73                       ["images/puzzlebox.ico", \
74                        "images/1-upper_left-orange.png", \
75                        "images/1-upper_left-white.png", \
76                        "images/2-up-orange.png", \
77                        "images/2-up-white.png", \
78                        "images/3-upper_right-orange.png", \
79                        "images/3-upper_right-white.png", \
80                        "images/7-lower_left-orange.png", \
81                        "images/7-lower_left-white.png", \
82                        "images/8-down-orange.png", \
83                        "images/8-down-white.png", \
84                        "images/9-lower_right-orange.png", \
85                        "images/9-lower_right-white.png", \
86                        "images/puzzlebox_logo.png", \
87                        "images/brainstorms-aileron_left.svg", \
88                        "images/brainstorms-aileron_right.svg", \
89                        "images/brainstorms-elevator_forward.svg", \
90                        "images/brainstorms-elevator_reverse.svg", \
91                        "images/brainstorms-fly_forward.svg", \
92                        "images/brainstorms-hover.svg", \
93                        "images/brainstorms-land_arrow.svg", \
94                        "images/brainstorms-rudder-left.svg", \
95                        "images/brainstorms-rudder-right.svg", \
96                        "images/brainstorms_stop.svg", \
97                        "images/brainstorms_wheelchair_forward.svg", \
98                        "images/brainstorms_wheelchair_left.svg", \
99                        "images/brainstorms_wheelchair_reverse.svg", \
100                        "images/brainstorms_wheelchair_right.svg", \
101                        "images/braintorms-throttle_up.svg", \
102                        "images/puzzlebox_helicopter.svg", \
103                       ]),
104        ]
105       
106        # Add the mpl mpl-data folder and rc file
107#       data_files += matplotlib.get_py2exe_datafiles()
108       
109#       matplotlib.use('Qt4Agg') # overrule configuration
110
111
112else:
113        options={}
114       
115        data_files=[("/etc/puzzlebox_brainstorms", \
116                       ["puzzlebox_brainstorms_configuration.ini"]),
117                    ("/usr/share/puzzlebox_brainstorms/images", \
118                       ["images/puzzlebox.ico", \
119                        "images/1-upper_left-orange.png", \
120                        "images/1-upper_left-white.png", \
121                        "images/2-up-orange.png", \
122                        "images/2-up-white.png", \
123                        "images/3-upper_right-orange.png", \
124                        "images/3-upper_right-white.png", \
125                        "images/7-lower_left-orange.png", \
126                        "images/7-lower_left-white.png", \
127                        "images/8-down-orange.png", \
128                        "images/8-down-white.png", \
129                        "images/9-lower_right-orange.png", \
130                        "images/9-lower_right-white.png", \
131                        "images/puzzlebox_logo.png", \
132                        "images/brainstorms-aileron_left.svg", \
133                        "images/brainstorms-aileron_right.svg", \
134                        "images/brainstorms-elevator_forward.svg", \
135                        "images/brainstorms-elevator_reverse.svg", \
136                        "images/brainstorms-fly_forward.svg", \
137                        "images/brainstorms-hover.svg", \
138                        "images/brainstorms-land_arrow.svg", \
139                        "images/brainstorms-rudder-left.svg", \
140                        "images/brainstorms-rudder-right.svg", \
141                        "images/brainstorms_stop.svg", \
142                        "images/brainstorms_wheelchair_forward.svg", \
143                        "images/brainstorms_wheelchair_left.svg", \
144                        "images/brainstorms_wheelchair_reverse.svg", \
145                        "images/brainstorms_wheelchair_right.svg", \
146                        "images/braintorms-throttle_up.svg", \
147                        "images/puzzlebox_helicopter.svg", \
148                       ]),
149                    ("/usr/share/applications", \
150                       ["puzzlebox_brainstorms.desktop"]),
151                   ]
152
153
154
155setup(
156        name='puzzlebox_brainstorms',
157        version='0.4.0',
158        description='Puzzlebox Brainstorms provides Brain-Computer Interface (BCI) controls for robots and devices',
159        author='Steve Castellotti',
160        author_email='sc@puzzlebox.info',
161        url='http://brainstorms.puzzlebox.info',
162        py_modules=['Puzzlebox', \
163                    'Puzzlebox.Brainstorms', \
164                    'Puzzlebox.Brainstorms.Server', \
165                    'Puzzlebox.Brainstorms.Client', \
166                    'Puzzlebox.Brainstorms.Interface', \
167                    'Puzzlebox.Brainstorms.Interface_Design', \
168                    'Puzzlebox.Brainstorms.Helicopter_Control', \
169                    'Puzzlebox.Brainstorms.Remote_Control', \
170                    'Puzzlebox.Brainstorms.Wheelchair_Control', \
171                    'Puzzlebox.Brainstorms.Configuration', \
172                    'Puzzlebox.Brainstorms.ThinkGear.Client', \
173                    'brainstorms-local', \
174                    'brainstorms-network', \
175                   ], \
176#       console=["puzzlebox_brainstorms_remote_control.py", \
177#                "puzzlebox_brainstorms_network_server.py", \
178#                "puzzlebox_brainstorms_network_client.py", \
179#                "puzzlebox_brainstorms_network_client_thinkgear.py"],
180        console=["brainstorms-local.py", \
181                 "brainstorms-network.py"
182        ],
183#       options={"py2exe":{"includes":["sip"]}},
184        options=options, \
185        zipfile = r'lib\library.zip',
186#       data_files=[("puzzlebox_brainstorms_configuration.ini"),
187#               ("images",
188#                glob.glob(os.path.join('images', '*.*'))),
189#                #("fonts",
190#                #glob.glob(os.path.join('fonts', '*.*')))
191#       ],
192        data_files=data_files, \
193        windows=[ \
194                #{
195                 #"script": "puzzlebox_brainstorms_network_server.py",
196                 #"icon_resources": [(1, \
197                 #os.path.join("images", "puzzlebox.ico"))]
198                #},
199                {
200                 "script": "brainstorms-local.py",
201                 "icon_resources": [(1, \
202                 os.path.join("images", "puzzlebox.ico"))]
203                },
204#               {
205#                "script": "puzzlebox_brainstorms_client_interface_local.py",
206#                "icon_resources": [(1, \
207#                os.path.join("images", "puzzlebox.ico"))]
208#               },
209        ],
210        classifiers=[ \
211                'Development Status :: 4 - Beta',
212                'Intended Audience :: End Users/Desktop',
213                'Programming Language :: Python',
214                'Operating System :: OS Independent',
215                'License :: OSI Approved :: GNU General Public License (GPL)',
216                'Topic :: Scientific/Engineering :: Human Machine Interfaces',
217        ],
218)
219
Note: See TracBrowser for help on using the repository browser.