Home | History | Annotate | Download | only in VS9.0
      1 from __future__ import with_statement
      2 import os
      3 
      4 def vs9to8(src, dest):
      5     for name in os.listdir(src):
      6         path, ext = os.path.splitext(name)
      7         if ext.lower() not in ('.sln', '.vcproj', '.vsprops'):
      8             continue
      9 
     10         filename = os.path.normpath(os.path.join(src, name))
     11         destname = os.path.normpath(os.path.join(dest, name))
     12         print("%s -> %s" % (filename, destname))
     13 
     14         with open(filename, 'rU') as fin:
     15             lines = fin.read()
     16             lines = lines.replace('Version="9,00"', 'Version="8.00"')
     17             lines = lines.replace('Version="9.00"', 'Version="8.00"')
     18             lines = lines.replace('Format Version 10.00', 'Format Version 9.00')
     19             lines = lines.replace('Visual Studio 2008', 'Visual Studio 2005')
     20 
     21             lines = lines.replace('wininst-9.0', 'wininst-8.0')
     22             lines = lines.replace('..\\', '..\\..\\')
     23             lines = lines.replace('..\\..\\..\\..\\', '..\\..\\..\\')
     24 
     25             # Bah. VS8.0 does not expand macros in file names.
     26             # Replace them here.
     27             lines = lines.replace('$(sqlite3Dir)', '..\\..\\..\\sqlite-3.6.21')
     28             lines = lines.replace('$(bsddbDir)\\..\\..', '..\\..\\..\\db-4.7.25.0\\build_windows\\..')
     29             lines = lines.replace('$(bsddbDir)', '..\\..\\..\\db-4.7.25.0\\build_windows')
     30 
     31         with open(destname, 'wb') as fout:
     32             lines = lines.replace("\n", "\r\n")
     33             fout.write(lines)
     34 
     35 if __name__ == "__main__":
     36     vs9to8(src=".", dest="../PC/VS8.0")
     37