adding environment validator and nopub clearer

on startup, ttbp checks to see if the environment is valid, and prompts
user to run setup again if not. also, nopub files are now removed from
html if they were generated.
master
endorphant 2016-06-09 22:42:08 -04:00
parent aebdd51d08
commit d33bdbfab1
2 changed files with 46 additions and 1 deletions

View File

@ -57,7 +57,6 @@ p = inflect.engine()
## user globals
USER = os.path.basename(os.path.expanduser("~"))
PATH = os.path.join("/home", USER, ".ttbp")
PUBLIC = os.path.join("/home", USER, "public_html")
WWW = os.path.join(PATH, "www")
@ -158,6 +157,7 @@ def check_init():
if os.path.exists(os.path.join(os.path.expanduser("~"),".ttbp")):
print(chatter.say("greet")+", "+USER+".\n")
'''
## ttbprc validation
while not os.path.isfile(TTBPRC):
setup_repair()
@ -165,6 +165,11 @@ def check_init():
SETTINGS = json.load(open(TTBPRC))
except ValueError:
setup_repair()
'''
## ttbp env validation
if not valid_setup():
setup_repair()
## version checker
mismatch = build_mismatch()
@ -256,6 +261,33 @@ def gen_header():
"""
return header
def valid_setup():
'''
Checks to see if user has a sane ttbp environment.
'''
global SETTINGS
if not os.path.isfile(TTBPRC):
return False
try:
SETTINGS = json.load(open(TTBPRC))
except ValueError:
return False
if core.publishing():
if not SETTINGS.get("publish dir"):
return False
if not os.path.exists(WWW):
return False
if not os.path.exists(os.path.join(WWW, SETTINGS.get("pubish dir"))):
return False
return True
def setup_repair():
'''
setup repair function
@ -296,6 +328,7 @@ def setup():
# publishing selection
SETTINGS.update({"publishing":select_publishing()})
core.reload_ttbprc(SETTINGS)
update_publishing()
redraw("blog publishing: "+str(core.publishing()))

View File

@ -69,6 +69,15 @@ def load(ttbprc={}):
load_files()
def reload_ttbprc(ttbprc={}):
'''
reloads new ttbprc into current session
'''
global SETTINGS
SETTINGS = ttbprc
def load_files():
'''
file loader
@ -83,6 +92,9 @@ def load_files():
for filename in os.listdir(DATA):
if nopub(filename):
link = os.path.join(WWW, os.path.splitext(os.path.basename(filename))[0]+".html")
if os.path.exists(link):
subprocess.call(["rm", link])
continue
filename = os.path.join(DATA, filename)
if os.path.isfile(filename) and valid(filename):