commit 14b150be1e34f4694e7105aa1f0b5bb046721467
parent a99b08316873e818292f872327bae810f830c28e
Author: Oscar Benedito <oscar@oscarbenedito.com>
Date: Fri, 4 Sep 2020 20:24:17 +0200
Stats index generator now takes argument
Instead of having a hardcoded variable.
There is also a minor change on how it deals with paths (although the
"link" part of the paths will still have slashes so I don't think it is
portable anyway).
Diffstat:
1 file changed, 17 insertions(+), 13 deletions(-)
diff --git a/stats-index-generator.py b/stats-index-generator.py
@@ -16,13 +16,17 @@
# Generate index for GoAccess stats.
+import sys
import datetime
import os.path
-OUTPUT_DIR = '/srv/stats'
+if len(sys.argv) < 2:
+ sys.exit('Usage: stats-index-generator statsDir')
+
+dir = sys.argv[1]
def has_info(link):
- return os.path.isfile(OUTPUT_DIR + link + '/index.html')
+ return os.path.isfile(os.path.join(dir, link, 'index.html'))
output = """<!DOCTYPE html>
<html lang="en">
@@ -113,26 +117,26 @@ div.month li.week {
output += '<h1><a class="no-format hover" href="/all">See stats of all time</a></h1>'
for year in [2020]:
- link = '/y/' + str(year)
+ link = 'y/' + str(year)
if has_info(link):
- output += '<div class="year"><h1><a class="no-format hover" href="' + link + '">' + str(year) + '</a></h1><div class="year-cal">'
+ output += '<div class="year"><h1><a class="no-format hover" href="/' + link + '">' + str(year) + '</a></h1><div class="year-cal">'
else:
output += '<div class="year"><h1>' + str(year) + '</h1><div class="year-cal">'
for month in range(1, 13):
date = datetime.datetime(year, month, 1)
- link = date.strftime("/m/%Y/%m")
+ link = date.strftime("m/%Y/%m")
if has_info(link):
- output += '<div class="month"><h2><a class="no-format hover" href="' + link + '">' + datetime.datetime(year, month, 1).strftime("%B") + '</a></h2><ul>'
+ output += '<div class="month"><h2><a class="no-format hover" href="/' + link + '">' + datetime.datetime(year, month, 1).strftime("%B") + '</a></h2><ul>'
else:
output += '<div class="month"><h2>' + datetime.datetime(year, month, 1).strftime("%B") + '</h2><ul>'
if date.isocalendar()[2] != 1:
date = datetime.datetime(year, month, 1)
isoweek = date.strftime("%V")
- link = date.strftime("/w/%G/%V")
+ link = date.strftime("w/%G/%V")
if has_info(link):
- output += '<a class="no-format" href="' + link + '"><li class="week">' + isoweek + '</li></a>'
+ output += '<a class="no-format" href="/' + link + '"><li class="week">' + isoweek + '</li></a>'
else:
output += '<li class="week">' + isoweek + '</li>'
@@ -147,16 +151,16 @@ for year in [2020]:
if date.isocalendar()[2] == 1:
isoweek = date.strftime("%V")
- link = date.strftime("/w/%G/%V")
+ link = date.strftime("w/%G/%V")
if has_info(link):
- output += '<a class="no-format" href="' + link + '"><li class="week">' + isoweek + '</li></a>'
+ output += '<a class="no-format" href="/' + link + '"><li class="week">' + isoweek + '</li></a>'
else:
output += '<li class="week">' + isoweek + '</li>'
today = ' class="today"' if datetime.datetime.today().date() == date.date() else ''
- link = date.strftime("/d/%Y/%m/%d")
+ link = date.strftime("d/%Y/%m/%d")
if has_info(link):
- output += '<a class="no-format" href="' + link + '"><li' + today + '>' + str(day) + '</li></a>'
+ output += '<a class="no-format" href="/' + link + '"><li' + today + '>' + str(day) + '</li></a>'
else:
output += '<li' + today + '>' + str(day) + '</li>'
@@ -166,5 +170,5 @@ for year in [2020]:
output += '</body></html>\n'
-with open(OUTPUT_DIR + '/index.html', 'wt') as f:
+with open(os.path.join(dir, 'index.html'), 'wt') as f:
f.write(output)