2021-05-07 20:32:10 +02:00
|
|
|
import tkinter as tk
|
|
|
|
from tkinter import filedialog
|
2021-05-22 11:28:40 +02:00
|
|
|
from os import getcwd, listdir, path
|
|
|
|
import json
|
2021-05-07 20:32:10 +02:00
|
|
|
|
|
|
|
#==================================================================#
|
|
|
|
# Generic Method for prompting for file path
|
|
|
|
#==================================================================#
|
|
|
|
def getsavepath(dir, title, types):
|
|
|
|
root = tk.Tk()
|
|
|
|
root.attributes("-topmost", True)
|
|
|
|
path = tk.filedialog.asksaveasfile(
|
|
|
|
initialdir=dir,
|
|
|
|
title=title,
|
2021-05-16 01:29:41 +02:00
|
|
|
filetypes = types,
|
|
|
|
defaultextension="*.*"
|
2021-05-07 20:32:10 +02:00
|
|
|
)
|
|
|
|
root.destroy()
|
|
|
|
if(path != "" and path != None):
|
|
|
|
return path.name
|
|
|
|
else:
|
|
|
|
return None
|
|
|
|
|
|
|
|
#==================================================================#
|
|
|
|
# Generic Method for prompting for file path
|
|
|
|
#==================================================================#
|
|
|
|
def getloadpath(dir, title, types):
|
|
|
|
root = tk.Tk()
|
|
|
|
root.attributes("-topmost", True)
|
|
|
|
path = tk.filedialog.askopenfilename(
|
|
|
|
initialdir=dir,
|
|
|
|
title=title,
|
|
|
|
filetypes = types
|
|
|
|
)
|
|
|
|
root.destroy()
|
|
|
|
if(path != "" and path != None):
|
|
|
|
return path
|
|
|
|
else:
|
|
|
|
return None
|
|
|
|
|
|
|
|
#==================================================================#
|
|
|
|
# Generic Method for prompting for directory path
|
|
|
|
#==================================================================#
|
|
|
|
def getdirpath(dir, title):
|
|
|
|
root = tk.Tk()
|
|
|
|
root.attributes("-topmost", True)
|
|
|
|
path = filedialog.askdirectory(
|
|
|
|
initialdir=dir,
|
|
|
|
title=title
|
|
|
|
)
|
|
|
|
root.destroy()
|
|
|
|
if(path != "" and path != None):
|
|
|
|
return path
|
|
|
|
else:
|
2021-05-22 11:28:40 +02:00
|
|
|
return None
|
|
|
|
|
|
|
|
#==================================================================#
|
|
|
|
# Returns an array of dicts containing story files in /stories
|
|
|
|
#==================================================================#
|
|
|
|
def getstoryfiles():
|
|
|
|
list = []
|
2021-06-26 00:02:19 +02:00
|
|
|
for file in listdir(path.dirname(path.realpath(__file__))+"/stories"):
|
2021-05-22 11:28:40 +02:00
|
|
|
if file.endswith(".json"):
|
|
|
|
ob = {}
|
|
|
|
ob["name"] = file.replace(".json", "")
|
2021-06-26 00:02:19 +02:00
|
|
|
f = open(path.dirname(path.realpath(__file__))+"/stories/"+file, "r")
|
|
|
|
try:
|
|
|
|
js = json.load(f)
|
|
|
|
except:
|
|
|
|
print("Browser loading error: Story file is malformed or not a JSON file.")
|
|
|
|
f.close()
|
|
|
|
continue
|
2021-05-22 11:28:40 +02:00
|
|
|
f.close()
|
2021-06-26 00:02:19 +02:00
|
|
|
try:
|
|
|
|
ob["actions"] = len(js["actions"])
|
|
|
|
except TypeError:
|
|
|
|
print("Browser loading error: Story file has incorrect format.")
|
2021-06-26 00:17:07 +02:00
|
|
|
continue
|
2021-05-22 11:28:40 +02:00
|
|
|
list.append(ob)
|
|
|
|
return list
|
|
|
|
|
|
|
|
#==================================================================#
|
|
|
|
# Returns True if json file exists with requested save name
|
|
|
|
#==================================================================#
|
|
|
|
def saveexists(name):
|
2021-06-26 00:31:43 +02:00
|
|
|
return path.exists(path.dirname(path.realpath(__file__))+"/stories/"+name+".json")
|