diff --git a/direct/src/p3d/AppRunner.py b/direct/src/p3d/AppRunner.py index 63aeeaa81e..3e1763cd15 100644 --- a/direct/src/p3d/AppRunner.py +++ b/direct/src/p3d/AppRunner.py @@ -340,7 +340,10 @@ class AppRunner(DirectObject): if not platform: platform = None package = host.getPackage(name, version, platform = platform) - assert package + if not package: + print "Couldn't find %s %s on %s" % (name, version, hostUrl) + return + self.installedPackages.append(package) if package.checkStatus(): diff --git a/direct/src/p3d/Packager.py b/direct/src/p3d/Packager.py index 1620c3b7a0..7e01c5bcd5 100644 --- a/direct/src/p3d/Packager.py +++ b/direct/src/p3d/Packager.py @@ -2034,20 +2034,20 @@ class Packager: named package also. Files already included in the named package will be omitted from this one when building it. """ + self.requirePackagesNamed(args, **kw) + + 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. """ + if not self.currentPackage: raise OutsideOfPackageError - version = kw.get('version', None) - host = kw.get('host', None) - - for key in ['version', 'host']: - if key in kw: - del kw['version'] - if kw: - message = "do_require() got an unexpected keyword argument '%s'" % (kw.keys()[0]) - raise TypeError, message - - for packageName in args: + for packageName in names: # A special case when requiring the "panda3d" package. We # supply the version number what we've been compiled with as a # default. @@ -2083,9 +2083,9 @@ class Packager: # compiled with. if package.packageName == 'panda3d': if package.version != PandaSystem.getPackageVersionString(): - self.notify.warning("Requiring panda3d version %s, which does not match the current build of Panda, which is version %s." % (package, PandaSystem.getPackageVersionString())) + self.notify.warning("Requiring panda3d version %s, which does not match the current build of Panda, which is version %s." % (package.version, PandaSystem.getPackageVersionString())) elif package.host != PandaSystem.getPackageHostUrl(): - self.notify.warning("Requiring panda3d host %s, which does not match the current build of Panda, which is host %s." % (package, PandaSystem.getPackageHostUrl())) + self.notify.warning("Requiring panda3d host %s, which does not match the current build of Panda, which is host %s." % (package.host, PandaSystem.getPackageHostUrl())) self.currentPackage.requirePackage(package) diff --git a/direct/src/showbase/ShowBase.py b/direct/src/showbase/ShowBase.py index da2fd09bcf..03f10efd39 100644 --- a/direct/src/showbase/ShowBase.py +++ b/direct/src/showbase/ShowBase.py @@ -2438,14 +2438,14 @@ class ShowBase(DirectObject.DirectObject): def startWx(self, fWantWx = 1): self.wantWx = fWantWx if self.wantWx: - import WxGlobal + from direct.showbase import WxGlobal taskMgr.remove('wxLoop') WxGlobal.spawnWxLoop() def startTk(self, fWantTk = 1): self.wantTk = fWantTk if self.wantTk: - import TkGlobal + from direct.showbase import TkGlobal taskMgr.remove('tkLoop') TkGlobal.spawnTkLoop()