def get_resource(self, path): domain = os.environ['SERVER_NAME'] resource = Resource.find(path=path, generation=self.settings.version, domain=domain) if resource is None: content = self.fetch_resource_content(path) created_on = self.fetch_file_timestamp(path) resource = Resource(path=path, content=content, generation=self.settings.version) if created_on is not None: resource.created_on = created_on try: length = len(resource.content) except: length = 0 if length > 0: log_event("Caching resource <code>%s</code> (%d bytes)" % (path, length)) logging.debug("VFS: caching resource %s (%d bytes) for %s", path, length, domain) resource.domain = domain if content != None: resource.save() try: length = len(resource.content) except: length = 0 logging.debug("VFS: serving resource %s (%d bytes) for %s", path, length, domain) return resource