70 lines
2.7 KiB
Python
Executable file
70 lines
2.7 KiB
Python
Executable file
#!/usr/bin/env python3
|
|
|
|
import sys, os, re, datetime, locale
|
|
|
|
webbasedir = os.path.expanduser("~/www/i21k.de/")
|
|
|
|
### for module mkdirindex:
|
|
targetdir = webbasedir + "test/"
|
|
indexfilename = "index.html"
|
|
targetdirheadline = "Statements, rants and articles, mostly in german."
|
|
showsize = 0
|
|
####
|
|
|
|
|
|
def mkdirindex(targetdir, indexfilename, targetdirheadline, showsize):
|
|
"""Dig a directory and generate an index."""
|
|
|
|
head1 = (
|
|
'<!DOCTYPE HTML><html><head>\n <meta http-equiv="content-type" content="text/html; charset=UTF-8">\n<title>'
|
|
+ targetdirheadline
|
|
+ '</title>\n <meta name="syntax" content="markdown">\n <meta name="generator" content="'
|
|
+ "webgen.py"
|
|
+ ' markdown2htmlconverter">\n <meta name="settings" content="use_css,pre_wrap,no_foldcolumn,expand_tabs,prevent_copy=">'
|
|
)
|
|
|
|
style_fn = '<link rel="stylesheet" type="text/css" href="/vimstyles.css">'
|
|
head2 = "</head><body>"
|
|
body1 = '<a class="Statement" href="../">Main</a><br/><br/>'
|
|
body1 += '<div class="Statement">' + targetdirheadline + "</div> "
|
|
body1 += '<table border="0" class="Neutral">'
|
|
foot = '</table><br/><strong>Some byebye</strong><br/><hr class="myhr" ></body> </html>\n'
|
|
linecounter = 0
|
|
|
|
dirindexfile = open(targetdir + indexfilename, "w")
|
|
|
|
dirindexfile.write(head1 + style_fn + head2 + body1)
|
|
sortedtargetdir = os.listdir(targetdir)
|
|
sortedtargetdir.sort()
|
|
sortedtargetdir.reverse()
|
|
for file in sortedtargetdir:
|
|
sizestr = ""
|
|
# If showsize is 1 we have some filesdir and want to see the size of a file
|
|
if not re.match("^\.", file) and not file == indexfilename:
|
|
if showsize == 1:
|
|
size = os.lstat(targetdir + file).st_size
|
|
if size > 100000000000:
|
|
sizestr = str(int(size / 1073741824)) + " GiB"
|
|
elif size > 100000000:
|
|
sizestr = str(int(size / 1048576)) + " MiB"
|
|
elif size > 10000:
|
|
sizestr = str(int(size / 1024)) + " KiB"
|
|
else:
|
|
sizestr = str(size) + " B"
|
|
else:
|
|
entryname = re.sub(".html$", "", file)
|
|
# entryname = re.sub(".html$", "", re.sub("[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-2][0-9]:[0-6][0-9] ", "", file))
|
|
|
|
line = str('<tr><td><a href="' + str(file) + '">' + entryname + "</a></td><td> " + sizestr + "</td></tr>")
|
|
dirindexfile.write(line)
|
|
linecounter += 1
|
|
|
|
dirindexfile.write(foot)
|
|
return linecounter
|
|
|
|
|
|
# Dig the files-directory and generate an index.
|
|
linecounter = mkdirindex(targetdir, indexfilename, targetdirheadline, showsize)
|
|
print("Dirindex in ", targetdir, " has ", linecounter, "lines")
|
|
|
|
# Have a nice time.
|