Panda3D
Classes | Public Member Functions | Public Attributes | Static Public Attributes

Packager Class Reference

List of all members.

Classes

class  ExcludeFilename
class  HostEntry
class  Package
class  PackageEntry
class  PackFile

Public Member Functions

def __init__
def addAltHost
def addHost
def addModule
def addPosixSearchPath
def addWindowsSearchPath
def beginPackage
def buildPatches
def close
def do_config
def do_excludeModule
def do_mainModule
def do_module
def do_require
def do_setupPanda3D
def do_setVer
def do_sign
def endPackage
def findPackage
def readPackageDef
def requirePackage
def requirePackagesNamed
def setHost
def setPlatform
def setup

Public Attributes

 allowPackages
 allowPythonDev
 arch
 binaryExtensions
 caseSensitive
 contents
 contentsSeq
 currentPackage
 dcClientSuffixes
 encryptionKey
 excludeSystemFiles
 excludeSystemGlobs
 executableExtensions
 executablePath
 extractExtensions
 host
 hosts
 ignoreSetHost
 imageExtensions
 installDir
 installSearch
 knownExtensions
 loader
 manifestExtensions
 maxAge
 modelExtensions
 musicManager
 nonuniqueExtensions
 p3dInstallDir
 p3dSuffix
 packageList
 packages
 platform
 platformSpecificExtensions
 prcEncryptionKey
 prcSignCommand
 remapExtensions
 sfxManagerList
 signParams
 systemRoot
 textExtensions
 uncompressibleExtensions
 unprocessedExtensions

Static Public Attributes

tuple notify = directNotify.newCategory("Packager")

Constructor & Destructor Documentation

def __init__ (   self,
  platform = None 
)

Member Function Documentation

def addAltHost (   self,
  keyword,
  altHost,
  origHost = None,
  downloadUrl = None,
  descriptiveName = None,
  hostDir = None,
  mirrors = None 
)
Adds an alternate host to any already-known host.  This
defines an alternate server that may be contacted, if
specified on the HTML page, which hosts a different version of
the server's contents.  (This is different from a mirror,
which hosts an identical version of the server's contents.)
def addHost (   self,
  host,
  downloadUrl = None,
  descriptiveName = None,
  hostDir = None,
  mirrors = None 
)
Adds a host to the list of known download hosts.  This
information will be written into any p3d files that reference
this host; this can be used to pre-define the possible mirrors
for a given host, for instance.  Returns the newly-created
HostEntry object.
def addModule (   self,
  moduleNames,
  newName = None,
  filename = None,
  required = False 
)
def addPosixSearchPath (   self,
  searchPath,
  varname 
)
Expands $varname, interpreting as a Posix-style search
path, and adds its contents to the indicated DSearchPath. 
def addWindowsSearchPath (   self,
  searchPath,
  varname 
)
Expands $varname, interpreting as a Windows-style search
path, and adds its contents to the indicated DSearchPath. 
def beginPackage (   self,
  packageName,
  p3dApplication = False,
  solo = False 
)
Begins a new package specification.  packageName is the
basename of the package.  Follow this with a number of calls
to file() etc., and close the package with endPackage(). 
def buildPatches (   self,
  packages 
)
Call this after calling close(), to build patches for the
indicated packages. 
def close (   self)
Called after reading all of the package def files, this
performs any final cleanup appropriate. 
def do_config (   self,
  kw 
)
Called with any number of keyword parameters.  For each
keyword parameter, sets the corresponding p3d config variable
to the given value.  This will be written into the
p3d_info.xml file at the top of the application, or to the
package desc file for a package file. 
def do_excludeModule (   self,
  args 
)
Marks the indicated Python module as not to be included. 
def do_mainModule (   self,
  moduleName,
  newName = None,
  filename = None 
)
Names the indicated module as the "main" module of the
application or exe. 
def do_module (   self,
  args,
  kw 
)
Adds the indicated Python module(s) to the current package. 
def do_require (   self,
  args,
  kw 
)
Indicates a dependency on the named package(s), supplied
as a name.

Attempts to install this package will implicitly install the
named package also.  Files already included in the named
package will be omitted from this one when building it. 
def do_setupPanda3D (   self,
  p3dpythonName = None,
  p3dpythonwName = None 
)
A special convenience command that adds the minimum
startup modules for a panda3d package, intended for developers
producing their own custom panda3d for download.  Should be
called before any other Python modules are named. 
def do_setVer (   self,
  value 
)
Sets an explicit set_ver number for the package, as a tuple
of integers, or as a string of dot-separated integers. 
def do_sign (   self,
  certificate,
  chain = None,
  pkey = None,
  password = None 
)
Signs the resulting p3d file (or package multifile) with
the indicated certificate.  If needed, the chain file should
contain the list of additional certificate authorities needed
to validate the signing certificate.  The pkey file should
contain the private key.

It is also legal for the certificate file to contain the chain
and private key embedded within it.

If the private key is encrypted, the password should be
supplied. 
def endPackage (   self)
Closes the current package specification.  This actually
generates the package file.  Returns the finished package,
or None if the package failed to close (e.g. missing files). 
def findPackage (   self,
  packageName,
  platform = None,
  version = None,
  host = None,
  requires = None 
)
Searches for the named package from a previous publish
operation along the install search path.

If requires is not None, it is a list of Package objects that
are already required.  The new Package object must be
compatible with the existing Packages, or an error is
returned.  This is also useful for determining the appropriate
package version to choose when a version is not specified.

Returns the Package object, or None if the package cannot be
located. 
def readPackageDef (   self,
  packageDef,
  packageNames = None 
)
Reads the named .pdef file and constructs the named
packages, or all packages if packageNames is None.  Raises an
exception if the pdef file is invalid.  Returns the list of
packages constructed. 
def requirePackage (   self,
  package 
)
Indicates a dependency on the indicated package, supplied
as a Package object.

Attempts to install this package will implicitly install the
named package also.  Files already included in the named
package will be omitted from this one. 
def requirePackagesNamed (   self,
  names,
  version = None,
  host = None 
)
Indicates a dependency on the named package(s), supplied
as a name.

Attempts to install this package will implicitly install the
named package also.  Files already included in the named
package will be omitted from this one when building it. 
def setHost (   self,
  host,
  downloadUrl = None,
  descriptiveName = None,
  hostDir = None,
  mirrors = None 
)
Specifies the URL that will ultimately host these
contents. 
def setPlatform (   self,
  platform = None 
)
Sets the platform that this Packager will compute for.  On
OSX, this can be used to specify the particular architecture
we are building; on other platforms, it is probably a mistake
to set this.

You should call this before doing anything else with the
Packager.  It's even better to pass the platform string to the
constructor.  
def setup (   self)
Call this method to initialize the class after filling in
some of the values in the constructor. 

Member Data Documentation

tuple notify = directNotify.newCategory("Packager") [static]
 All Classes Namespaces Functions Variables Properties