| #!/usr/bin/env python | 
 | # | 
 | # Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file | 
 | # for details. All rights reserved. Use of this source code is governed by a | 
 | # BSD-style license that can be found in the LICENSE file. | 
 |  | 
 | # Updates the list of Observatory source files. | 
 |  | 
 | import os | 
 | import sys | 
 | from datetime import date | 
 |  | 
 |  | 
 | def getDir(rootdir, target): | 
 |     sources = [] | 
 |     for root, subdirs, files in os.walk(rootdir): | 
 |         subdirs.sort() | 
 |         files.sort() | 
 |         for f in files: | 
 |             sources.append(root + '/' + f) | 
 |     return sources | 
 |  | 
 |  | 
 | HEADER = """# Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 
 | # for details. All rights reserved. Use of this source code is governed by a | 
 | # BSD-style license that can be found in the LICENSE file. | 
 |  | 
 | # DO NOT EDIT. This file is generated by update_sources.py in this directory. | 
 |  | 
 | # This file contains all dart, css, and html sources for Observatory. | 
 | """ | 
 |  | 
 |  | 
 | def main(): | 
 |     with open('observatory_sources.gni', 'w') as target: | 
 |         target.write(HEADER) | 
 |         target.write('observatory_sources = [\n') | 
 |         sources = [] | 
 |         for rootdir in ['lib', 'web']: | 
 |             sources.extend(getDir(rootdir, target)) | 
 |         sources.sort() | 
 |         for s in sources: | 
 |             if (s[-9:] != 'README.md'): | 
 |                 target.write('  "' + s + '",\n') | 
 |         target.write(']\n') | 
 |  | 
 |  | 
 | if __name__ == "__main__": | 
 |     main() |