diff --git a/bin/_ttbp.py b/bin/_ttbp.py index c1c4e7c..c57ae50 100644 --- a/bin/_ttbp.py +++ b/bin/_ttbp.py @@ -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())) diff --git a/bin/core.py b/bin/core.py index 0926ec9..31ec8f9 100644 --- a/bin/core.py +++ b/bin/core.py @@ -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):