xdfcgi/scripts/allmaps.py

57 lines
1.7 KiB
Python
Raw Normal View History

import sqlite3 as sql
import subprocess
def getmaps(database):
output = []
con = sql.connect(database)
with con:
cursor = con.cursor()
try:
# get all maps in database
cursor.execute("select distinct mapid from Cts_times;")
output = cursor.fetchall()
except sql.Error:
print("Shit is fucked.")
return output
# if there is no query then it outputs the index file.
def getcontent(query=None):
cmd = [("./cts")]
proc = subprocess.Popen(cmd, env=query, stdout=subprocess.PIPE, shell=True)
# communicate returns 'bytes' class with function 'decode'
return proc.communicate()[0].decode('utf-8')
def renderindex(template):
# no env variable
table = getcontent()
filename = "./output/index.html"
with open(filename, 'w+') as fout:
2022-02-17 07:11:34 +05:30
fout.write(template % (table))
fout.close
pass
def main():
template = ""
2024-10-12 21:36:07 +05:30
with open("templates/overview.html", 'r') as fin:
template = fin.read()
renderindex(template)
maps = getmaps("db/cts.db")
2024-10-12 21:36:07 +05:30
with open("templates/map.html", 'r') as fin:
2022-02-17 07:11:34 +05:30
template = fin.read()
2022-02-20 20:30:01 +05:30
# for each map generate an html file.
for game_map in maps:
# game_map is a tuple obj.
map_name = game_map[0]
query = {"QUERY_STRING" : ("map=%s" % map_name)}
table = getcontent(query)
2022-02-17 07:11:34 +05:30
filename = ("./output/maps/%s.html" % map_name)
with open(filename, 'w+') as fout:
2022-02-17 07:11:34 +05:30
title = map_name
fout.write(template % (title, map_name, table))
pass
if __name__ == "__main__":
print("allmaps.py - Generating .html files for all maps.")
main()
pass