|
|
@@ -37,11 +37,13 @@ class HydeRequestHandler(SimpleHTTPRequestHandler): |
|
|
|
logger.info("Processing request:[%s]" % self.path) |
|
|
|
result = urlparse.urlparse(self.path) |
|
|
|
query = urlparse.parse_qs(result.query) |
|
|
|
if 'refresh' in query: |
|
|
|
if 'refresh' in query or result.query=='refresh': |
|
|
|
self.server.regenerate() |
|
|
|
del query['refresh'] |
|
|
|
parts = tuple(result) |
|
|
|
if 'refresh' in query: |
|
|
|
del query['refresh'] |
|
|
|
parts = list(tuple(result)) |
|
|
|
parts[4] = urllib.urlencode(query) |
|
|
|
parts = tuple(parts) |
|
|
|
new_url = urlparse.urlunparse(parts) |
|
|
|
logger.info('Redirecting...[%s]' % new_url) |
|
|
|
self.redirect(new_url) |
|
|
@@ -70,19 +72,7 @@ class HydeRequestHandler(SimpleHTTPRequestHandler): |
|
|
|
res = site.content.resource_from_relative_deploy_path(path) |
|
|
|
|
|
|
|
if not res: |
|
|
|
# Check if its a new request |
|
|
|
if self.server.request_time > self.server.regeneration_time: |
|
|
|
# Cannot find the source file using the given path. |
|
|
|
# Check if the target file exists in the deploy folder. |
|
|
|
|
|
|
|
# this file is probably new or being generated by a plugin. |
|
|
|
# lets not try too hard, just regenerate |
|
|
|
logger.info("Attempting regeneration for:[%s]" % path) |
|
|
|
self.server.regenerate() |
|
|
|
res = site.content.resource_from_relative_deploy_path(path) |
|
|
|
if not res: |
|
|
|
# Nothing much we can do. |
|
|
|
logger.error("Cannot load file:[%s]" % path) |
|
|
|
logger.error("Cannot load file:[%s]" % path) |
|
|
|
|
|
|
|
return site.config.deploy_root_path.child(path) |
|
|
|
else: |
|
|
@@ -183,7 +173,7 @@ class HydeWebServer(HTTPServer): |
|
|
|
logger.info('Regenerating the entire site') |
|
|
|
self.regeneration_time = datetime.now() |
|
|
|
self.site.load() |
|
|
|
self.generator.generate_all() |
|
|
|
self.generator.generate_all(incremental=False) |
|
|
|
except Exception, exception: |
|
|
|
logger.error('Error occured when regenerating the site [%s]' |
|
|
|
% exception.message) |
|
|
|