+ def CheckoutOrUpdate( self, svnurl, path ):
+ if ( os.path.exists( path ) ):
+ # NOTE: check the svnurl matches?
+ cmd = 'svn update "%s"' % path
+ print cmd
+ else:
+ cmd = 'svn checkout %s "%s"' % ( svnurl, path )
+ ret = os.system( cmd )
+ if ( ret != 0 ):
+ raise 'checkout or update failed'
+
+
+ def FetchGamePaks( self, path ):
+ for pak in self.setup_packs:
+ if ( pak == 'Q3Pack' or pak == 'UrTPack' ):
+ svnurl = 'https://zerowing.idsoftware.com/svn/radiant.gamepacks/%s/trunk' % pak
+ self.CheckoutOrUpdate( svnurl, os.path.join( path, 'installs', pak ) )
+
+ def Setup( self ):
+ for platform in self.setup_platforms:
+ if ( platform == 'local' ):
+ # special case, fetch external paks under the local install directory
+ self.FetchGamePaks( self.install_directory )