| Index: sky/tools/sky_server
 | 
| diff --git a/sky/tools/sky_server b/sky/tools/sky_server
 | 
| index 0fe0fe91ffd38c7589f56b9b725e90eac950485b..da42f1acf3f82da6c8223d8ae3b911e3756417b9 100755
 | 
| --- a/sky/tools/sky_server
 | 
| +++ b/sky/tools/sky_server
 | 
| @@ -4,8 +4,9 @@
 | 
|  # found in the LICENSE file.
 | 
|  
 | 
|  import argparse
 | 
| -import os
 | 
|  import cherrypy
 | 
| +import json
 | 
| +import os
 | 
|  import staticdirindex
 | 
|  
 | 
|  
 | 
| @@ -17,28 +18,22 @@ SKY_ROOT = os.path.join(SRC_ROOT, 'sky')
 | 
|  GEN_ROOT = os.path.join(SRC_ROOT, BUILD_DIRECTORY, CONFIG_DIRECTORY, 'gen')
 | 
|  
 | 
|  
 | 
| -# FIXME: This should be replaced by just json and inflated into DOM client-side.
 | 
|  def skydir(section="", dir="", path="", **kwargs):
 | 
| -    url = "%s%s" % (cherrypy.request.headers.get('Host', ''),
 | 
| -        cherrypy.request.path_info)
 | 
| -    sky = "<listing>"
 | 
| -    sky += "<style>a { display: block; }"
 | 
| -    sky += "header { border-bottom: 1px solid lightgrey }</style>"
 | 
| -    sky += '<header>Listing for: <a href="' + url + '">' + url +'</a></header>'
 | 
| +    if cherrypy.request.params.get('format') is None:
 | 
| +        return '<sky><import src="/sky/examples/file-browser.sky"/><file-browser/></sky>'
 | 
| +    result = dict()
 | 
| +    result['directories'] = []
 | 
| +    result['files'] = []
 | 
|      for _, dir_names, file_names in os.walk(path.rstrip(r"\/")):
 | 
|          for dir_name in sorted(dir_names):
 | 
| -            sky += "<a href=\"%s/\">%s/</a>\n" % (dir_name, dir_name)
 | 
| +            result["directories"].append(dir_name)
 | 
|  
 | 
|          del dir_names[:] # limit to one level
 | 
|  
 | 
|          for file_name in sorted(file_names):
 | 
| -            sky += "<a href=\"%s\">%s</a>\n" % (file_name, file_name)
 | 
| -    return sky + "</listing>"
 | 
| -
 | 
| +            result["files"].append(file_name)
 | 
| +    return json.dumps(result)
 | 
|  
 | 
| -# FIXME: This doesn't yet support directory listings.  We'll do something like:
 | 
| -# http://tools.cherrypy.org/wiki/staticdirindex
 | 
| -# but have it spit .sky instead of HTML
 | 
|  
 | 
|  def main():
 | 
|      parser = argparse.ArgumentParser(description='Sky development server')
 | 
| 
 |