SimpleWebPage with includes

This commit is contained in:
Q
2020-02-15 12:09:58 +02:00
parent da0ddf7551
commit f3acf9f5cc

View File

@@ -5,6 +5,7 @@
import os,sys,time
import urllib
from glob import fnmatch
VERSION = "20181206"
IMAGE_EXTENSIONS = ['png', 'gif', 'jpg', 'jpeg', 'tif', 'tiff']
@@ -27,9 +28,22 @@ def setup():
help="Do no print .. link for parent folder.")
parser.add_argument("--images",action="store_true",dest="images",default=False,
help="Show images with <img> tags")
parser.add_argument("--include","-i",
action="store",
dest="includes",
default=['*'],
help="Glob match for files to be included in the table. ex. *.jpg. You can pass several includes.",
nargs = '*'
)
parser.add_argument("--version",action='version', version=VERSION)
parser.add_argument("path",type=str,action="store",default=os.path.abspath('.'),nargs='?',
help="Root path of the index")
parser.add_argument(
"path",
type=str,
action="store",
default=os.path.abspath('.'),
nargs='?',
help="Root path of the index"
)
options = parser.parse_args()
options.path = os.path.abspath(options.path)
@@ -75,6 +89,7 @@ def generate_index(opts):
print(opts.filename + " exists, and not generated with SimpleWebPage. Exiting.")
sys.exit(1)
files = [ f for f in files if f != opts.filename]
files = match_files(files, opts.includes)
if not opts.hidden:
files = [ f for f in files if not f.startswith(".")]
dirs = [ d for d in dirs if not d.startswith(".")]
@@ -550,6 +565,17 @@ def is_imagefile(fname):
return True
return False
def match_files(files, glob_list):
matched = []
for f in files:
for g in glob_list:
if fnmatch.fnmatch(f,g):
matched.append(f)
break
return matched
def sizeof(num):
for x in ['&nbsp;B','KB','MB','GB','TB']:
if num < 1024.0: