forked from endorphant/ttbp
implemented burying feels
parent
1789fb1ed4
commit
1c4165468e
|
@ -72,7 +72,7 @@ GOPHER_PATH = os.path.join(USER_HOME, 'public_gopher', 'feels')
|
||||||
USER_CONFIG = os.path.join(PATH, 'config')
|
USER_CONFIG = os.path.join(PATH, 'config')
|
||||||
TTBPRC = os.path.join(USER_CONFIG, 'ttbprc')
|
TTBPRC = os.path.join(USER_CONFIG, 'ttbprc')
|
||||||
MAIN_FEELS = os.path.join(PATH, 'entries')
|
MAIN_FEELS = os.path.join(PATH, 'entries')
|
||||||
BURIED_FEELS = os.path.join(MAIN_FEELS, 'buried')
|
BURIED_FEELS = os.path.join(PATH, 'buried')
|
||||||
NOPUB = os.path.join(USER_CONFIG, "nopub")
|
NOPUB = os.path.join(USER_CONFIG, "nopub")
|
||||||
BACKUPS = os.path.join(PATH, 'backups')
|
BACKUPS = os.path.join(PATH, 'backups')
|
||||||
|
|
||||||
|
|
27
ttbp/core.py
27
ttbp/core.py
|
@ -108,6 +108,7 @@ def load_files(feelsdir=config.MAIN_FEELS):
|
||||||
|
|
||||||
load_nopubs()
|
load_nopubs()
|
||||||
FILES = get_files(feelsdir)
|
FILES = get_files(feelsdir)
|
||||||
|
|
||||||
if publishing():
|
if publishing():
|
||||||
write_html("index.html")
|
write_html("index.html")
|
||||||
if SETTINGS.get('gopher'):
|
if SETTINGS.get('gopher'):
|
||||||
|
@ -461,9 +462,30 @@ def toggle_nopub(filename):
|
||||||
|
|
||||||
def bury_feel(filename):
|
def bury_feel(filename):
|
||||||
"""buries given filename; this removes the feel from any publicly-readable
|
"""buries given filename; this removes the feel from any publicly-readable
|
||||||
location, and moves the textfile to user's private feels directory"""
|
location, and moves the textfile to user's private feels directory.
|
||||||
|
|
||||||
pass
|
timestring will be added to the filename to disambiguate and prevent
|
||||||
|
filename collisions.
|
||||||
|
|
||||||
|
creates buried feels dir if it doesn't exist.
|
||||||
|
|
||||||
|
regenerates feels list and republishes."""
|
||||||
|
|
||||||
|
if not os.path.exists(config.BURIED_FEELS):
|
||||||
|
os.mkdir(config.BURIED_FEELS)
|
||||||
|
subprocess.call(["chmod", "700", config.BURIED_FEELS])
|
||||||
|
|
||||||
|
buryname = os.path.splitext(os.path.basename(filename))[0]+"-"+str(int(time.time()))+".txt"
|
||||||
|
|
||||||
|
subprocess.call(["mv", os.path.join(config.MAIN_FEELS, filename), os.path.join(config.BURIED_FEELS, buryname)])
|
||||||
|
subprocess.call(["chmod", "600", os.path.join(config.BURIED_FEELS, buryname)])
|
||||||
|
|
||||||
|
if publishing():
|
||||||
|
unpublish_feel(filename)
|
||||||
|
|
||||||
|
load_files()
|
||||||
|
|
||||||
|
return os.path.join(config.BURIED_FEELS, buryname)
|
||||||
|
|
||||||
def delete_feel(filename):
|
def delete_feel(filename):
|
||||||
"""deletes given filename; removes the feel from publicly-readable
|
"""deletes given filename; removes the feel from publicly-readable
|
||||||
|
@ -472,6 +494,7 @@ def delete_feel(filename):
|
||||||
feel = os.path.join(config.MAIN_FEELS, filename)
|
feel = os.path.join(config.MAIN_FEELS, filename)
|
||||||
if os.path.exists(feel):
|
if os.path.exists(feel):
|
||||||
subprocess.call(["rm", feel])
|
subprocess.call(["rm", feel])
|
||||||
|
unpublish_feel(filename)
|
||||||
load_files(config.MAIN_FEELS)
|
load_files(config.MAIN_FEELS)
|
||||||
|
|
||||||
def unpublish_feel(filename):
|
def unpublish_feel(filename):
|
||||||
|
|
58
ttbp/ttbp.py
58
ttbp/ttbp.py
|
@ -1071,9 +1071,63 @@ def bury_feels():
|
||||||
"""queries for a feel to bury, then calls the feels burying handler.
|
"""queries for a feel to bury, then calls the feels burying handler.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
print(DUST)
|
feel = input("""\
|
||||||
|
burying a feel removes it from view, including your own. buried feels are
|
||||||
|
stashed in a private directory at {buried_dir}; you can visit your feels there
|
||||||
|
from the command line, but no one else can view those files.
|
||||||
|
|
||||||
|
(a buried feels browser is in the works; for now, you'll have to use the
|
||||||
|
command line to view your buried feels)
|
||||||
|
|
||||||
|
which day's feels do you want to bury?
|
||||||
|
|
||||||
|
YYYYMMDD (or 'q' to cancel)> """.format(buried_dir=""))
|
||||||
|
|
||||||
|
if feel in util.BACKS:
|
||||||
|
return
|
||||||
|
|
||||||
|
print("...")
|
||||||
|
time.sleep(0.1)
|
||||||
|
print("""\
|
||||||
|
here's a preview of that feel. press <q> when you're done reviewing!
|
||||||
|
-------------------------------------------------------------""")
|
||||||
|
|
||||||
|
if subprocess.call(["less", os.path.join(config.MAIN_FEELS, feel+".txt")]):
|
||||||
|
redraw("burying feels")
|
||||||
|
print("""\
|
||||||
|
sorry, i couldn't find feels for {date}!
|
||||||
|
|
||||||
|
please try again, or type <q> to cancel.
|
||||||
|
""".format(date=feel))
|
||||||
|
return delete_feels()
|
||||||
|
|
||||||
|
print("""
|
||||||
|
-------------------------------------------------------------
|
||||||
|
|
||||||
|
feels burying is irreversible! if you're sure you want to bury this feel,
|
||||||
|
type the date again to confirm, or 'q' to cancel.
|
||||||
|
""")
|
||||||
|
|
||||||
|
confirm = input("[{feeldate}]> ".format(feeldate=feel))
|
||||||
|
|
||||||
|
if confirm == feel:
|
||||||
|
print("...")
|
||||||
|
time.sleep(0.5)
|
||||||
|
core.bury_feel(feel+".txt")
|
||||||
|
print("feels buried!")
|
||||||
|
else:
|
||||||
|
print("burying canceled!")
|
||||||
|
|
||||||
|
ans = util.input_yn("""do you want to bury a different feel? please enter""")
|
||||||
|
|
||||||
|
if ans:
|
||||||
|
redraw("burying feels")
|
||||||
|
return bury_feels()
|
||||||
|
else:
|
||||||
|
print("okay! please come back any time if you want to bury your feels!")
|
||||||
|
input("\n\npress <enter> to go back to managing your feels.\n\n")
|
||||||
|
redraw()
|
||||||
|
|
||||||
input("\n\npress <enter> to go back to managing your feels.\n\n")
|
|
||||||
return
|
return
|
||||||
|
|
||||||
def show_credits():
|
def show_credits():
|
||||||
|
|
Loading…
Reference in New Issue