diff --git a/hyde/generator.py b/hyde/generator.py index 09fc4ef..40ea573 100644 --- a/hyde/generator.py +++ b/hyde/generator.py @@ -111,6 +111,12 @@ class Generator(object): self.events.generation_complete() def has_resource_changed(self, resource): + """ + Checks if the given resource has changed since the + last generation. + """ + self.load_site_if_needed() + self.load_template_if_needed() target = File(self.site.config.deploy_root_path.child( resource.relative_deploy_path)) if not target.exists or target.older_than(resource.source_file): diff --git a/hyde/server.py b/hyde/server.py index 396905a..a5d566e 100644 --- a/hyde/server.py +++ b/hyde/server.py @@ -46,7 +46,13 @@ class HydeRequestHandler(SimpleHTTPRequestHandler): site = self.server.site res = site.content.resource_from_relative_path( site.config.not_found) - self.redirect("/" + res.relative_deploy_path) + if not res: + logger.error( + "Cannot find the 404 template[%s]." + % site.config.not_found) + return "Requested resource not found" + else: + self.redirect("/" + res.relative_deploy_path) def translate_path(self, path): """