Save story in plain text along the save
Not just saving in .json but also in plain text, should help story writers get their stories out more easily. Especially since they can technically add some markdown into their stories manually in the interface.
This commit is contained in:
parent
9b3e298089
commit
4151fd1b6a
30
aiserver.py
30
aiserver.py
|
@ -5,6 +5,7 @@
|
||||||
#==================================================================#
|
#==================================================================#
|
||||||
|
|
||||||
# External packages
|
# External packages
|
||||||
|
import os
|
||||||
from os import path, getcwd
|
from os import path, getcwd
|
||||||
import re
|
import re
|
||||||
import tkinter as tk
|
import tkinter as tk
|
||||||
|
@ -1884,7 +1885,7 @@ def saveRequest(savpath):
|
||||||
|
|
||||||
# Save path for future saves
|
# Save path for future saves
|
||||||
vars.savedir = savpath
|
vars.savedir = savpath
|
||||||
|
txtpath = os.path.splitext(savpath)[0] + ".txt"
|
||||||
# Build json to write
|
# Build json to write
|
||||||
js = {}
|
js = {}
|
||||||
js["gamestarted"] = vars.gamestarted
|
js["gamestarted"] = vars.gamestarted
|
||||||
|
@ -1893,7 +1894,7 @@ def saveRequest(savpath):
|
||||||
js["authorsnote"] = vars.authornote
|
js["authorsnote"] = vars.authornote
|
||||||
js["actions"] = tuple(vars.actions.values())
|
js["actions"] = tuple(vars.actions.values())
|
||||||
js["worldinfo"] = []
|
js["worldinfo"] = []
|
||||||
|
|
||||||
# Extract only the important bits of WI
|
# Extract only the important bits of WI
|
||||||
for wi in vars.worldinfo:
|
for wi in vars.worldinfo:
|
||||||
if(wi["constant"] or wi["key"] != ""):
|
if(wi["constant"] or wi["key"] != ""):
|
||||||
|
@ -1904,14 +1905,35 @@ def saveRequest(savpath):
|
||||||
"selective": wi["selective"],
|
"selective": wi["selective"],
|
||||||
"constant": wi["constant"]
|
"constant": wi["constant"]
|
||||||
})
|
})
|
||||||
|
|
||||||
|
ln = len(vars.actions)
|
||||||
|
|
||||||
|
if(ln > 0):
|
||||||
|
chunks = collections.deque()
|
||||||
|
i = 0
|
||||||
|
for key in reversed(vars.actions):
|
||||||
|
chunk = vars.actions[key]
|
||||||
|
chunks.appendleft(chunk)
|
||||||
|
i += 1
|
||||||
|
|
||||||
|
if(ln > 0):
|
||||||
|
txt = vars.prompt + "".join(chunks)
|
||||||
|
elif(ln == 0):
|
||||||
|
txt = vars.prompt
|
||||||
|
|
||||||
# Write it
|
# Write it
|
||||||
file = open(savpath, "w")
|
file = open(savpath, "w")
|
||||||
try:
|
try:
|
||||||
file.write(json.dumps(js, indent=3))
|
file.write(json.dumps(js, indent=3))
|
||||||
finally:
|
finally:
|
||||||
file.close()
|
file.close()
|
||||||
|
|
||||||
|
file = open(txtpath, "w")
|
||||||
|
try:
|
||||||
|
file.write(txt)
|
||||||
|
finally:
|
||||||
|
file.close()
|
||||||
|
|
||||||
print("{0}Story saved to {1}!{2}".format(colors.GREEN, path.basename(savpath), colors.END))
|
print("{0}Story saved to {1}!{2}".format(colors.GREEN, path.basename(savpath), colors.END))
|
||||||
|
|
||||||
#==================================================================#
|
#==================================================================#
|
||||||
|
|
Loading…
Reference in New Issue