7d1807d8c54172e198314b5101d305196bcf546e
[xonotic/netradiant.git] / install.py
1 #!/usr/bin/env python\r
2 \r
3 import os.path, sys, shutil\r
4 \r
5 def install_file( path, src_path, f ):\r
6         src = os.path.join( src_path, f )\r
7         dst = os.path.join( path, f )\r
8         print '%s -> %s' % ( src, dst )\r
9         shutil.copyfile( src, dst )\r
10 \r
11 def install( path, src_path ):\r
12         for f in [ 'radiant.exe', 'radiant.pdb' ]:\r
13                 install_file( path, src_path, f )\r
14                 \r
15         modules_path = os.path.join( path, 'modules' )\r
16         try:\r
17                 os.makedirs( modules_path )\r
18         except:\r
19                 pass\r
20         assert( os.path.exists( modules_path ) )\r
21 \r
22         modules_src = os.path.join( src_path, 'modules' )\r
23         assert( os.path.exists( modules_src ) )\r
24 \r
25         for e in os.listdir( modules_src ):\r
26                 if ( e[-4:] == '.dll' or e[-4:] == '.pdb' ):\r
27                         install_file( modules_path, modules_src, e )\r
28         \r
29         plugins_path = os.path.join( path, 'plugins' )\r
30         try:\r
31                 os.makedirs( plugins_path )\r
32         except:\r
33                 pass\r
34         assert( os.path.exists( plugins_path ) )\r
35         \r
36         plugins_src = os.path.join( src_path, 'plugins' )\r
37         assert( os.path.exists( plugins_src ) )\r
38 \r
39         for e in os.listdir( plugins_src ):\r
40                 if ( e[-4:] == '.dll' or e[-4:] == '.pdb' ):\r
41                         install_file( plugins_path, plugins_src, e )\r
42 \r
43 if __name__ == '__main__':\r
44         if ( len( sys.argv ) <= 2 or not os.path.exists( sys.argv[1] ) or not os.path.exists( sys.argv[2] ) ):\r
45                 print 'usage: install [target directory] [source directory]'\r
46                 sys.exit(1)             \r
47         print 'Install %s into %s' % ( sys.argv[2], sys.argv[1] )\r
48         install( sys.argv[1], sys.argv[2] )\r