From 8bcb52efddc977d0a4820ed51c937603ec0689fa Mon Sep 17 00:00:00 2001 From: David Rose Date: Wed, 2 Dec 2009 15:31:52 +0000 Subject: [PATCH] fix super-mirror issue --- direct/src/p3d/AppRunner.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/direct/src/p3d/AppRunner.py b/direct/src/p3d/AppRunner.py index 4ccce1c432..d2f8833878 100644 --- a/direct/src/p3d/AppRunner.py +++ b/direct/src/p3d/AppRunner.py @@ -349,11 +349,20 @@ class AppRunner(DirectObject): assert self.http # It's stale, get a new one. - url = PandaModules.URLSpec(host.hostUrlPrefix + fileSpec.filename) - print "Freshening %s" % (url) - doc = self.http.getDocument(url) - if not doc.isValid(): - return False + doc = None + if self.superMirrorUrl: + # Use the "super mirror" first. + url = PandaModules.URLSpec(self.superMirrorUrl + fileSpec.filename) + print "Freshening %s" % (url) + doc = self.http.getDocument(url) + + if not doc or not doc.isValid(): + # Failing the super mirror, contact the actual host. + url = PandaModules.URLSpec(host.hostUrlPrefix + fileSpec.filename) + print "Freshening %s" % (url) + doc = self.http.getDocument(url) + if not doc.isValid(): + return False file = Filename.temporary('', 'p3d_') if not doc.downloadToFile(file):