Working index gen (minus categories)
This commit is contained in:
parent
eeb582169a
commit
1460d137b3
5 changed files with 52 additions and 10 deletions
|
@ -4,7 +4,7 @@ from utils.gen import index as gen_index
|
|||
from utils.gen import categories as gen_categories
|
||||
from utils.gen import runs as gen_runs
|
||||
|
||||
gen_index.generate()
|
||||
gen_index.generate("../templates", "..", "index.html")
|
||||
gen_categories.generate()
|
||||
gen_runs.generate()
|
||||
|
||||
|
|
|
@ -8,20 +8,20 @@ print(
|
|||
f"\nWelcome to paceboard! Let's set up your leaderboard site :)\nWe'll save this info in csv/config.csv\n\n{divider}\n"
|
||||
)
|
||||
|
||||
tk_game = input("Your game's name: ")
|
||||
tk_description = input("Description for your game: ")
|
||||
tk_game_name = input("Your game's name: ")
|
||||
tk_game_description = input("Description for your game: ")
|
||||
tk_url = input("URL of your site (format example - foobar.com): ")
|
||||
tk_logo_alt = input("Description of your game's logo (this is used for alt-text): ")
|
||||
|
||||
print(
|
||||
f"\n{divider}\n\nPerfect! You can always overwrite the info above by running this script again.\nHere's an overview of how to use paceboard:\n\n- Add a category using scripts/add-category.py\n- Add a run using scripts/add-run.py\n- Use scripts/generate.py to update the site with the info you've added.\n- All categories, runs, and configuration details are stored in csv/\n- Replace the logo saved as assets/img/logo.png\n- For the adventurous, you can restyle your site's pages by editing files within templates/ and css/\n\nRemember to run scripts/generate.py to initialize your site.\nThat's all for now! <3\n"
|
||||
)
|
||||
|
||||
configDict = {
|
||||
"tk_game": tk_game,
|
||||
"tk_description": tk_description,
|
||||
"tk_game_name": tk_game_name,
|
||||
"tk_game_description": tk_game_description,
|
||||
"tk_url": tk_url,
|
||||
"tk_logo_alt": tk_logo_alt,
|
||||
}
|
||||
|
||||
util_csv.dictWriterSingleDict("../csv/config.csv", configDict)
|
||||
|
||||
print(
|
||||
f"\n{divider}\n\nPerfect! You can always overwrite the info above by running this script again.\nHere's an overview of how to use paceboard:\n\n- Add a category using scripts/add-category.py\n- Add a run using scripts/add-run.py\n- Use scripts/generate.py to update the site with the info you've added.\n- All categories, runs, and configuration details are stored in csv/\n- Replace the logo saved as assets/img/logo.png\n- For the adventurous, you can restyle your site's pages by editing files within templates/ and css/\n\nRemember to run scripts/generate.py to initialize your site.\nThat's all for now! <3\n"
|
||||
)
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
### Util library for interacting with csv files
|
||||
|
||||
import csv
|
||||
import os
|
||||
|
||||
|
||||
def readerWithFunction(filepath, function, arg=None):
|
||||
|
@ -35,6 +36,20 @@ def dictWriterSingleDict(filepath, dict):
|
|||
file.close()
|
||||
|
||||
|
||||
def dictReaderFirstRow(filepath):
|
||||
with open(filepath, newline="") as file:
|
||||
print(os.path.abspath(filepath))
|
||||
dict = {}
|
||||
dictReader = csv.DictReader(file)
|
||||
for row in dictReader:
|
||||
firstRow = True
|
||||
if firstRow:
|
||||
dict = row
|
||||
firstRow = False
|
||||
file.close()
|
||||
return dict
|
||||
|
||||
|
||||
def getIndexOfField(filepath, field):
|
||||
"""Get the index (column number) of a field in a csv.
|
||||
|
||||
|
|
10
scripts/utils/file.py
Normal file
10
scripts/utils/file.py
Normal file
|
@ -0,0 +1,10 @@
|
|||
### Util library for general file handling
|
||||
|
||||
|
||||
def replaceTextInFile(filepath, oldText, newText):
|
||||
file = open(filepath, "rt")
|
||||
newFile = file.read().replace(oldText, newText)
|
||||
file.close()
|
||||
file = open(filepath, "wt")
|
||||
file.write(newFile)
|
||||
file.close
|
|
@ -1,5 +1,22 @@
|
|||
### Generation helper for index.html
|
||||
|
||||
from .. import file as util_file
|
||||
from .. import csv as util_csv
|
||||
import shutil
|
||||
|
||||
def generate():
|
||||
|
||||
def generate(templatedir, destinationdir, filename):
|
||||
"""Main generation function for index.html generation helper.
|
||||
|
||||
templatedir -- the relative path of the template html file's directory
|
||||
destinationpath -- the directory where index.html should be generated
|
||||
filename -- the filename of the index page (always index.html)
|
||||
"""
|
||||
print("- index.py -")
|
||||
|
||||
shutil.copy(f"{templatedir}/{filename}", destinationdir)
|
||||
|
||||
config = util_csv.dictReaderFirstRow("../csv/config.csv")
|
||||
|
||||
for key in config.keys():
|
||||
util_file.replaceTextInFile(f"{destinationdir}/{filename}", key, config[key])
|
||||
|
|
Loading…
Reference in a new issue