1 --- Application.py Wed Jan 22 10:03:25 2003 2 +++ Application.py Sun Feb 1 18:03:03 2004 3 @@ -389,7 +389,10 @@ 4 try: 5 ssPath = request.serverSidePath() 6 if ssPath is None or not os.path.exists(ssPath): 7 - self.handleBadURL(transaction) 8 + try: 9 + self.handleGoodURL(transaction) 10 + except Exception, exc: 11 + self.handleBadURL(transaction) 12 elif isdir(ssPath) and noslash(request.pathInfo()): # (*) see below 13 self.handleDeficientDirectoryURL(transaction) 14 elif self.isSessionIdProblematic(request): 15 @@ -1030,7 +1033,7 @@ 16 cache = self._servletCacheByPath.get(path, None) 17 18 # File is not newer? 19 - if cache and cache['timestamp']<os.path.getmtime(path): 20 + if cache and cache.has_key('timestamp') and cache['timestamp']<os.path.getmtime(path): 21 cache['instances'][:] = [] 22 cache = None 23 24 @@ -1038,11 +1041,15 @@ 25 cache = { 26 'instances': [], 27 'path': path, 28 - 'timestamp': os.path.getmtime(path), 29 'threadsafe': 0, 30 'reuseable': 0, 31 } 32 33 + try: 34 + cache['timestamp'] = os.path.getmtime(path) 35 + except OSError: 36 + pass 37 + 38 self.newServletCacheItem(path,cache) 39 inst = self.getServlet(transaction,path,cache) 40 41 @@ -1284,8 +1291,8 @@ 42 else: 43 return None, None, None 44 45 - elif not os.path.isfile(ssPath): 46 - return None, None, None 47 + #elif not os.path.isfile(ssPath): 48 + # return None, None, None 49 50 self._serverSideInfoCacheByPath[urlPath] = ssPath, contextPath, contextName 51