forked from endorphant/ttbp
implementing menu display for #6
parent
f2e50bf78c
commit
1a74d62d68
84
ttbp/ttbp.py
84
ttbp/ttbp.py
|
@ -614,7 +614,7 @@ def review_menu(intro=""):
|
||||||
view_feels(config.USER)
|
view_feels(config.USER)
|
||||||
elif choice == 1:
|
elif choice == 1:
|
||||||
redraw("here's your current nopub status:")
|
redraw("here's your current nopub status:")
|
||||||
set_nopubs()
|
set_nopubs(config.USER)
|
||||||
else:
|
else:
|
||||||
redraw()
|
redraw()
|
||||||
return
|
return
|
||||||
|
@ -691,30 +691,13 @@ def view_neighbors(users, prompt):
|
||||||
def view_feels(townie):
|
def view_feels(townie):
|
||||||
'''
|
'''
|
||||||
generates a list of all feels by given townie and displays in
|
generates a list of all feels by given townie and displays in
|
||||||
date order
|
date order; allows selection of one feel to read.
|
||||||
|
|
||||||
* calls list_entries() to select feel to read
|
|
||||||
'''
|
'''
|
||||||
|
|
||||||
filenames = []
|
metas, owner = generate_feels_list(townie)
|
||||||
showpub = False
|
|
||||||
|
|
||||||
if townie == config.USER:
|
if len(metas) > 0:
|
||||||
entryDir = config.USER_DATA
|
|
||||||
owner = "your"
|
|
||||||
if core.publishing():
|
|
||||||
showpub = True
|
|
||||||
else:
|
|
||||||
owner = "~"+townie+"'s"
|
|
||||||
entryDir = os.path.join("/home", townie, ".ttbp", "entries")
|
|
||||||
|
|
||||||
for entry in os.listdir(entryDir):
|
|
||||||
filenames.append(os.path.join(entryDir, entry))
|
|
||||||
metas = core.meta(filenames)
|
|
||||||
metas.sort(key = lambda entry:entry[4])
|
|
||||||
metas.reverse()
|
|
||||||
|
|
||||||
if len(filenames) > 0:
|
|
||||||
entries = []
|
entries = []
|
||||||
for entry in metas:
|
for entry in metas:
|
||||||
pub = ""
|
pub = ""
|
||||||
|
@ -726,6 +709,30 @@ def view_feels(townie):
|
||||||
else:
|
else:
|
||||||
redraw("no feels recorded by ~"+townie)
|
redraw("no feels recorded by ~"+townie)
|
||||||
|
|
||||||
|
def generate_feels_list(user):
|
||||||
|
"""create a list of feels for display from the named user.
|
||||||
|
"""
|
||||||
|
|
||||||
|
filenames = []
|
||||||
|
showpub = False
|
||||||
|
|
||||||
|
if user == config.USER:
|
||||||
|
entryDir = config.USER_DATA
|
||||||
|
owner = "your"
|
||||||
|
if core.publishing():
|
||||||
|
showpub = True
|
||||||
|
else:
|
||||||
|
owner = "~"+townie+"'s"
|
||||||
|
entryDir = os.path.join("/home", user, ".ttbp", "entries")
|
||||||
|
|
||||||
|
for entry in os.listdir(entryDir):
|
||||||
|
filenames.append(os.path.join(entryDir, entry))
|
||||||
|
metas = core.meta(filenames)
|
||||||
|
metas.sort(key = lambda entry:entry[4])
|
||||||
|
metas.reverse()
|
||||||
|
|
||||||
|
return metas, owner
|
||||||
|
|
||||||
def show_credits():
|
def show_credits():
|
||||||
'''
|
'''
|
||||||
prints author acknowledgements and commentary
|
prints author acknowledgements and commentary
|
||||||
|
@ -798,12 +805,40 @@ editor.
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
def set_nopubs():
|
def set_nopubs(user):
|
||||||
'''
|
'''
|
||||||
handler for toggling nopub on individual entries
|
handler for toggling nopub on individual entries
|
||||||
'''
|
'''
|
||||||
|
|
||||||
raw_input(DUST)
|
metas, owner = generate_feels_list(user)
|
||||||
|
|
||||||
|
if len(metas) > 0:
|
||||||
|
entries = []
|
||||||
|
for entry in metas:
|
||||||
|
pub = ""
|
||||||
|
if core.nopub(entry[0]):
|
||||||
|
pub = "(nopub)"
|
||||||
|
entries.append(""+entry[4]+" ("+p.no("word", entry[2])+") "+"\t"+pub)
|
||||||
|
|
||||||
|
return toggle_nopubs(metas, entries, "publishing status of your feels:")
|
||||||
|
else:
|
||||||
|
redraw("no feels recorded by ~"+user)
|
||||||
|
|
||||||
|
def toggle_nopubs(metas, entries, prompt):
|
||||||
|
"""displays a list of entries for pub/nopub toggling.
|
||||||
|
"""
|
||||||
|
|
||||||
|
choice = menu_handler(entries, "pick an entry from the list, or type 'q' to go back: ", 10, SETTINGS.get("rainbows", False), prompt)
|
||||||
|
|
||||||
|
if choice is not False:
|
||||||
|
redraw(prompt)
|
||||||
|
print("setting {entry}".format(entry=choice))
|
||||||
|
|
||||||
|
return list_entries(metas, entries, prompt)
|
||||||
|
|
||||||
|
else:
|
||||||
|
redraw()
|
||||||
|
return
|
||||||
|
|
||||||
def send_feedback(entered, subject="none"):
|
def send_feedback(entered, subject="none"):
|
||||||
'''
|
'''
|
||||||
|
@ -844,7 +879,8 @@ running through the feedback option again!\
|
||||||
|
|
||||||
def list_entries(metas, entries, prompt):
|
def list_entries(metas, entries, prompt):
|
||||||
'''
|
'''
|
||||||
displays a list of entries for reading selection
|
displays a list of entries for reading selection, allowing user to select
|
||||||
|
one for display.
|
||||||
'''
|
'''
|
||||||
|
|
||||||
choice = menu_handler(entries, "pick an entry from the list, or type 'q' to go back: ", 10, SETTINGS.get("rainbows", False), prompt)
|
choice = menu_handler(entries, "pick an entry from the list, or type 'q' to go back: ", 10, SETTINGS.get("rainbows", False), prompt)
|
||||||
|
|
Loading…
Reference in New Issue