modul mkindex für webgen devel v0.1
This commit is contained in:
parent
8a66b31197
commit
dc42bd5843
1 changed files with 70 additions and 0 deletions
70
mkindex.py
Executable file
70
mkindex.py
Executable file
|
@ -0,0 +1,70 @@
|
|||
#!/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.
|
Loading…
Reference in a new issue