Code Search for Developers
 
 
  

scripthelper.py from The Nebula Device at Krugle


Show scripthelper.py syntax highlighted

#----------------------------------------------------------------------
#  scripthelper.py  
#
#  (C)2005 Kim, Hyoun woo
#----------------------------------------------------------------------

STR_PYTHON_REGISTER_PACKAGES = '''
//----------------------------------------------------------------------------
/**     
    Package registration hook.
*/
void
nPythonRegisterPackages(nKernelServer * kernelServer)
{
    kernelServer->AddPackage(nnebula);
    kernelServer->AddPackage(ndirect3d9);
    kernelServer->AddPackage(ndinput8);
    kernelServer->AddPackage(ndsound);
    kernelServer->AddPackage(ndshow);
    kernelServer->AddPackage(ngui);
    kernelServer->AddPackage(napplication);
    kernelServer->AddPackage(npythonserver);
    kernelServer->AddPackage(%(targetName)s);
}
'''

STR_ADD_PACKAGES = '''
    kernelServer.AddPackage(nnebula);
    kernelServer.AddPackage(ndirect3d9);
    kernelServer.AddPackage(ndinput8);
    kernelServer.AddPackage(ndsound);
    kernelServer.AddPackage(ndshow);
    kernelServer.AddPackage(ngui);
    kernelServer.AddPackage(napplication);
    %(scriptServerAddPackage)s
    kernelServer.AddPackage(%(targetName)s);\
'''

#----------------------------------------------------------------------
#  
#----------------------------------------------------------------------
class ScriptHelper:
    def __init__(self, classname, targetname, scriptserver):

        className = classname
        targetName = targetname
        # script server name
        scriptServerName = scriptserver

        packageScriptServerName = ''
        self.scriptServerPackage = ''
        self.bldScriptServerName = ''
        # we dont have to add ntclserver to target (it causes error when execute update.py)
        if 'ntclserver' == scriptServerName:
            packageScriptServerName = ''
            self.scriptServerPackage = ''
        elif 'nluaserver' == scriptServerName:
            self.bldScriptServerName = 'nlua'
            self.scriptServerPackage = 'nNebulaUsePackage(""nlua"");' 
        else:
            self.bldScriptServerName = scriptServerName
            packageScriptServerName = scriptServerName
            self.scriptServerPackage = 'nNebulaUsePackage(' + packageScriptServerName + ');'

        self.pythonRegPackage = ''
        self.addPackageDef = ''

        if 'npythonserver' == scriptServerName:
            substitutions = {}
            substitutions['classNameL'] = className.lower()
            substitutions['targetName'] = targetName
            self.pythonRegPackage = STR_PYTHON_REGISTER_PACKAGES % substitutions
            self.addPackageDef = 'nPythonRegisterPackages (&kernelServer);'
        else:
            self.pythonRegPackage = '' 
            scriptServerAddPackage = ''
            if 'ntclserver' == scriptServerName:
                scriptServerAddPackage = ''
            else:
                tmp = 'kernelServer.AddPackage(%(scriptServerName)s);'
                scriptServerAddPackage = tmp % { 'scriptServerName' : scriptServerName }

            self.addPackageDef = STR_ADD_PACKAGES % { 'classNameL' : className.lower(), 
                                                      'scriptServerAddPackage' : scriptServerAddPackage,
                                                      'targetName' : targetName.lower()
                                                    }

   #----------------------------------------------------------------------
   #  
   #----------------------------------------------------------------------
    def GetScriptServerPackage(self):
        return self.scriptServerPackage

   #----------------------------------------------------------------------
   #  
   #----------------------------------------------------------------------
    def GetBldScriptServerName(self):
        return self.bldScriptServerName 

   #----------------------------------------------------------------------
   #  
   #----------------------------------------------------------------------
    def GetPythonRegisterPackage(self):
        return self.pythonRegPackage

   #----------------------------------------------------------------------
   #  
   #----------------------------------------------------------------------
    def GetAddPackageDef(self):
        return self.addPackageDef

#----------------------------------------------------------------------
# EOF 
#----------------------------------------------------------------------




See more files for this project here

The Nebula Device

Realtime 3D game/visualization engine, written in C++, scriptable through Tcl/Tk, Python and Lua. Supports D3D and OpenGL for rendering, runs under Linux and Windows.

Project homepage: http://sourceforge.net/projects/nebuladevice
Programming language(s): C,C++,Python
License: other

  template/
    app.sbld
    app.sc
    napp.sh
    napp_cmds.sc
    napp_main.sc
    nappstate.sh
    nappstate_cmds.sc
    nappstate_main.sc
  __init__.py
  appentrypage.py
  appframe.py
  appgenpage.py
  appmodpage.py
  bldpage.py
  common.py
  disppage.py
  finpage.py
  readme.txt
  scripthelper.py
  titlepage.py
  wizimage1.py