From 95b8699e250a5afea78de7f5c95869b57276fdfe Mon Sep 17 00:00:00 2001 From: GitHub build-firmware Action Date: Wed, 13 Oct 2021 21:36:29 -0400 Subject: [PATCH] progress --- misc/actions/gen_index.py | 104 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100755 misc/actions/gen_index.py diff --git a/misc/actions/gen_index.py b/misc/actions/gen_index.py new file mode 100755 index 0000000000..b07b9fa9a9 --- /dev/null +++ b/misc/actions/gen_index.py @@ -0,0 +1,104 @@ +""" Build index from directory listing + +make_index.py [--header
] +""" +from __future__ import print_function +import os.path, time + +INDEX_TEMPLATE = r""" + + + +${header} + + + + +

Index of ${header}

+

+ + + + + + + + + + + + + + + + + + + + + + + + % for name in dirnames: + + + + + + + + % endfor + % for name in filenames: + + + + + + + + % endfor +

+ +
[ICO]NameLast modifiedSizeDescription

[PARENTDIR]Parent Directory - 

[DIR]${name}${time}- 
[DIR]${name}${time}- 
+ + +""" + +EXCLUDED = ['index.html'] + +import os +import argparse + +# May need to do "pip install mako" +from mako.template import Template + +def fun(dir,rootdir): + print('Processing: '+dir) + filenames = [fname for fname in sorted(os.listdir(dir)) + if fname not in EXCLUDED and os.path.isfile(dir+fname)] + dirnames = [fname for fname in sorted(os.listdir(dir)) + if fname not in EXCLUDED ] + dirnames = [fname for fname in dirnames if fname not in filenames] +# header = os.path.basename(dir) + f = open(dir+'/index.html','w') + print(Template(INDEX_TEMPLATE).render(dirnames=dirnames,filenames=filenames, header=dir,ROOTDIR=rootdir,time=time.ctime(os.path.getctime(dir))),file=f) + f.close() + for subdir in dirnames: + try: + fun(dir+subdir+"/",rootdir+'../') + except: + pass + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument("directory") + parser.add_argument("--header") + args = parser.parse_args() + fun(args.directory+'/','../') + +if __name__ == '__main__': + main()