From 40a2712b41e2630e6d48e20f0a1f126e3e973042 Mon Sep 17 00:00:00 2001 From: nate Date: Sun, 3 Dec 2017 20:04:46 -0800 Subject: [PATCH] finish gopher support --- ttbp/gopher.py | 36 +++++++++++++++++++++--------------- ttbp/ttbp.py | 6 ++++-- 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/ttbp/gopher.py b/ttbp/gopher.py index a1ecabe..c0f8603 100644 --- a/ttbp/gopher.py +++ b/ttbp/gopher.py @@ -17,17 +17,17 @@ If you don't know what it is or don't want it that is totally ok! You can always change this later.""".lstrip() GOPHERMAP_HEADER = """ -welcome to {user}'s feels on gopher. + welcome to {user}'s feels on gopher. - .:: .:: - .: .:: -.:.: .: .:: .:: .:: .:::: - .:: .: .:: .: .:: .::.:: - .:: .::::: .::.::::: .:: .:: .::: - .:: .: .: .:: .:: - .:: .:::: .:::: .:::.:: .:: + .:: .:: + .: .:: + .:.: .: .:: .:: .:: .:::: + .:: .: .:: .: .:: .::.:: + .:: .::::: .::.::::: .:: .:: .::: + .:: .: .: .:: .:: + .:: .:::: .:::: .:::.:: .:: -this file was created on their behalf by ttbp. + this file was created on their behalf by ttbp. """ @@ -53,12 +53,14 @@ def publish_gopher(gopher_path, entry_filenames): gophermap.write(GOPHERMAP_HEADER.format( user=getpass.getuser())) for entry_filename in entry_filenames: - gophermap.write('0{file_label}\t{filename}'.format( - file_label=os.path.basename(entry_filename), - filename=entry_filename)) - with open(os.path.join(ttbp_gopher, entry_filename), 'w') as gopher_entry: + filename = os.path.basename(entry_filename) + + with open(os.path.join(ttbp_gopher, filename), 'w') as gopher_entry: with open(entry_filename, 'r') as source_entry: gopher_entry.write(source_entry.read()) + gophermap.write('0{file_label}\t{filename}'.format( + file_label=os.path.basename(entry_filename), + filename=filename)) def setup_gopher(gopher_path): @@ -71,9 +73,13 @@ def setup_gopher(gopher_path): function. """ public_gopher = os.path.expanduser('~/public_gopher') - if not os.path.is_dir(public_gopher): + if not os.path.isdir(public_gopher): print("\n\tERROR: you don't seem to have gopher set up (no public_gopher directory)") return ttbp_gopher = os.path.join(public_gopher, gopher_path) - os.mkdirs(ttbp_gopher) + if os.path.isdir(ttbp_gopher): + print("\n\tERROR: gopher path is already set up. quitting so we don't overwrite anything.") + return + + os.makedirs(ttbp_gopher) diff --git a/ttbp/ttbp.py b/ttbp/ttbp.py index 6058ac8..2ad5575 100644 --- a/ttbp/ttbp.py +++ b/ttbp/ttbp.py @@ -393,7 +393,9 @@ def setup(): print("\n\ttext editor:\t" +SETTINGS.get("editor")) if core.publishing(): print("\tpublish dir:\t" +os.path.join(config.PUBLIC, str(SETTINGS.get("publish dir")))) - print("\tpubishing:\t"+str(SETTINGS.get("publishing"))+"\n") + print("\tpublishing:\t"+str(SETTINGS.get("publishing"))) + print("\tgopher:\t"+str(SETTINGS.get('gopher'))) + print("") # editor selection SETTINGS.update({"editor": select_editor()}) @@ -410,7 +412,7 @@ def setup(): # gopher opt-in SETTINGS.update({'gopher': gopher.select_gopher()}) - redraw('opting into gopher: ' + SETTINGS['gopher']) + redraw('opting into gopher: ' + str(SETTINGS['gopher'])) # TODO for now i'm hardcoding where people's gopher stuff is generated. if # there is demand for this to be configurable we can expose that. gopher.setup_gopher('feels')