forked from endorphant/ttbp
color and code cleanup
added color generation to banner! converting more static text to here docs.master
parent
cbbdb1e8b7
commit
8825debf96
93
bin/_ttbp.py
93
bin/_ttbp.py
|
@ -35,7 +35,7 @@ SETTINGS = {
|
|||
}
|
||||
|
||||
## ui globals
|
||||
BANNER = open(os.path.join(SOURCE, "config", "banner.txt")).read()
|
||||
BANNER = util.attach_rainbow()+open(os.path.join(SOURCE, "config", "banner.txt")).read()+util.attach_reset()
|
||||
SPACER = "\n\n\n"
|
||||
INVALID = "please pick a number from the list of options!\n\n"
|
||||
DUST = "sorry about the dust, but this part is still under construction. check back later!\n\n"
|
||||
|
@ -61,7 +61,11 @@ def start():
|
|||
redraw()
|
||||
#print(chatter.say("greet")+", "+chatter.say("friend"))
|
||||
#print("(remember, you can always press ctrl-c to come home)\n")
|
||||
print("if you don't want to be here at any point, press <ctrl-d> and it'll all go away.\njust keep in mind that you might lose anything you've started here.\n")
|
||||
print("""
|
||||
if you don't want to be here at any point, press <ctrl-d> and it'll all go away.
|
||||
just keep in mind that you might lose anything you've started here.\
|
||||
""")
|
||||
|
||||
try:
|
||||
print(check_init())
|
||||
except EOFError:
|
||||
|
@ -104,7 +108,11 @@ def check_init():
|
|||
|
||||
def init():
|
||||
try:
|
||||
raw_input("i don't recognize you, stranger. let's make friends.\n\npress <enter> to begin, or <ctrl-c> to get out of here. \n\n")
|
||||
raw_input("""
|
||||
i don't recognize you, stranger. let's make friends.
|
||||
|
||||
press <enter> to begin, or <ctrl-c> to get out of here.
|
||||
""")
|
||||
except KeyboardInterrupt:
|
||||
print("\n\nthanks for checking in! i'll always be here.\n\n")
|
||||
quit()
|
||||
|
@ -115,12 +123,13 @@ def init():
|
|||
subprocess.call(["mkdir", PATH])
|
||||
subprocess.call(["mkdir", CONFIG])
|
||||
subprocess.call(["mkdir", DATA])
|
||||
#subprocess.call(["cp", os.path.join(SOURCE, "config", "defaults", "header.txt"), CONFIG])
|
||||
|
||||
header = gen_header()
|
||||
headerfile = open(os.path.join(CONFIG, "header.txt"), 'w')
|
||||
for line in header:
|
||||
headerfile.write(line)
|
||||
headerfile.close()
|
||||
|
||||
subprocess.call(["cp", os.path.join(SOURCE, "config", "defaults", "footer.txt"), CONFIG])
|
||||
|
||||
setup()
|
||||
|
@ -131,21 +140,41 @@ def init():
|
|||
return ""
|
||||
|
||||
def gen_header():
|
||||
header = []
|
||||
#header = []
|
||||
|
||||
header.append("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 3.2//EN\">")
|
||||
header.append("\n<html>")
|
||||
header.append("\n\t<head>")
|
||||
header.append("\n\t\t<title>~"+USER+" on TTBP</title>")
|
||||
header.append("\n\t\t<link rel=\"stylesheet\" href=\"style.css\" />")
|
||||
header.append("\n\t</head>")
|
||||
header.append("\n\t<body>")
|
||||
header.append("\n\t\t<div id=\"meta\">")
|
||||
header.append("\n\t\t\t<h1><a href=\"index.html#\">~"+USER+"</a>@<a href=\"/~endorphant/ttbp\">TTBP</a></h1>")
|
||||
header.append("\n\t\t</div>\n")
|
||||
header.append("\n\t\t<!---put your custom html here-->\n\n\n\n")
|
||||
header.append("\n\t\t<!---don't put anything after this line-->\n")
|
||||
header.append("\n\t\t<div id=\"tlogs\">\n")
|
||||
#header.append("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 3.2//EN\">")
|
||||
#header.append("\n<html>")
|
||||
#header.append("\n\t<head>")
|
||||
#header.append("\n\t\t<title>~"+USER+" on TTBP</title>")
|
||||
#header.append("\n\t\t<link rel=\"stylesheet\" href=\"style.css\" />")
|
||||
#header.append("\n\t</head>")
|
||||
#header.append("\n\t<body>")
|
||||
#header.append("\n\t\t<div id=\"meta\">")
|
||||
#header.append("\n\t\t\t<h1><a href=\"index.html#\">~"+USER+"</a>@<a href=\"/~endorphant/ttbp\">TTBP</a></h1>")
|
||||
#header.append("\n\t\t</div>\n")
|
||||
#header.append("\n\t\t<!---put your custom html here-->\n\n\n\n")
|
||||
#header.append("\n\t\t<!---don't put anything after this line-->\n")
|
||||
#header.append("\n\t\t<div id=\"tlogs\">\n")
|
||||
|
||||
header ="""
|
||||
<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 3.2//EN\">
|
||||
<html>
|
||||
<head>
|
||||
<title>~"""+USER+""" on TTBP</title>
|
||||
<link rel=\"stylesheet\" href=\"style.css\" />
|
||||
</head>
|
||||
<body>
|
||||
<div id=\"meta\">
|
||||
<h1><a href=\"index.html#\">~"""+USER+"""</a>@<a href=\"/~endorphant/ttbp\">TTBP</a></h1>
|
||||
</div>
|
||||
|
||||
<!---put your custom html here-->
|
||||
|
||||
|
||||
|
||||
<!---don't put anything after this line-->
|
||||
<div id=\"tlogs\">\
|
||||
"""
|
||||
return header
|
||||
|
||||
def setup_handler():
|
||||
|
@ -285,7 +314,11 @@ def feedback_menu():
|
|||
cat = ""
|
||||
if choice in ['0', '1', '2', '3']:
|
||||
cat = SUBJECTS[int(choice)]
|
||||
entered = raw_input("\ncomposing a "+cat+" to ~endorphant.\n\npress <enter> to open an external text editor. mail will be sent once you save and quit.\n")
|
||||
entered = raw_input("""
|
||||
composing a """+cat+""" to ~endorphant.
|
||||
|
||||
press <enter> to open an external text editor. mail will be sent once you save and quit.
|
||||
""")
|
||||
redraw(send_feedback(entered, cat))
|
||||
return
|
||||
else:
|
||||
|
@ -379,7 +412,15 @@ thanks to everyone who reads, listens, writes, and feels.\
|
|||
|
||||
def write_entry(entry=os.path.join(DATA, "test.txt")):
|
||||
|
||||
entered = raw_input("\nfeels will be recorded for today, "+time.strftime("%d %B %Y")+".\n\nif you've already started recording feels for this day, you \ncan pick up where you left off.\n\npress <enter> to begin recording your feels.\n\n")
|
||||
entered = raw_input("""
|
||||
feels will be recorded for today, """+time.strftime("%d %B %Y")+""".
|
||||
|
||||
if you've already started recording feels for this day, you
|
||||
can pick up where you left off.
|
||||
|
||||
press <enter> to begin recording your feels.
|
||||
""")
|
||||
|
||||
if entered:
|
||||
entryFile = open(entry, "a")
|
||||
entryFile.write("\n"+entered+"\n")
|
||||
|
@ -448,10 +489,8 @@ def view_feed():
|
|||
for townie in find_ttbps():
|
||||
entryDir = os.path.join("/home", townie, ".ttbp", "entries")
|
||||
filenames = os.listdir(entryDir)
|
||||
|
||||
for entry in filenames:
|
||||
### REALLY MAKE A REAL FILENAME VALIDATOR
|
||||
#fileSplit = os.path.splitext(entry)
|
||||
#if len(fileSplit[0]) == 8 and fileSplit[1] == ".txt":
|
||||
if core.valid(entry):
|
||||
feedList.append(os.path.join(entryDir, entry))
|
||||
|
||||
|
@ -473,6 +512,7 @@ def view_feed():
|
|||
redraw()
|
||||
|
||||
return
|
||||
|
||||
#####
|
||||
|
||||
def find_ttbps():
|
||||
|
@ -492,13 +532,8 @@ def list_select(options, prompt):
|
|||
invalid = True
|
||||
|
||||
while invalid:
|
||||
#try:
|
||||
# choice = raw_input("\n\n"+prompt)
|
||||
#except KeyboardInterrupt:
|
||||
# redraw()
|
||||
# main_menu()
|
||||
|
||||
choice = raw_input("\n\n"+prompt)
|
||||
|
||||
if choice in BACKS:
|
||||
return False
|
||||
|
||||
|
|
37
bin/util.py
37
bin/util.py
|
@ -3,9 +3,46 @@
|
|||
import inflect
|
||||
import time
|
||||
import random
|
||||
import colorama
|
||||
|
||||
colorama.init()
|
||||
|
||||
textcolors = [ colorama.Fore.RED, colorama.Fore.GREEN, colorama.Fore.YELLOW, colorama.Fore.BLUE, colorama.Fore.MAGENTA, colorama.Fore.WHITE, colorama.Fore.CYAN]
|
||||
|
||||
lastcolor = colorama.Fore.RESET
|
||||
|
||||
p = inflect.engine()
|
||||
|
||||
def set_rainbow():
|
||||
global lastcolor
|
||||
|
||||
color = lastcolor
|
||||
while color == lastcolor:
|
||||
color = random.choice(textcolors)
|
||||
|
||||
lastcolor = color
|
||||
|
||||
print(color)
|
||||
|
||||
def reset_color():
|
||||
print(colorama.Fore.RESET)
|
||||
|
||||
def attach_rainbow():
|
||||
global lastcolor
|
||||
|
||||
color = lastcolor
|
||||
while color == lastcolor:
|
||||
color = random.choice(textcolors)
|
||||
|
||||
lastcolor = color
|
||||
return color
|
||||
|
||||
def attach_reset():
|
||||
return colorama.Style.RESET_ALL
|
||||
|
||||
def hilight(text):
|
||||
return colorama.Style.BRIGHT+text+colorama.Style.NORMAL
|
||||
|
||||
def pretty_time(time):
|
||||
m, s = divmod(time, 60)
|
||||
if m > 0:
|
||||
|
|
|
@ -9,7 +9,6 @@ TO-DO:
|
|||
|
||||
(goals for phase two)
|
||||
|
||||
-make feedback actually use mail instead of dumping to a file
|
||||
-stylesheet selector
|
||||
-and make a couple more custom stylesheets
|
||||
-replying to entries??
|
||||
|
@ -23,6 +22,10 @@ TO-DO:
|
|||
|
||||
CHANGELOG:
|
||||
|
||||
ver 0.7.5
|
||||
-COLORFUL BANNER
|
||||
-backend stuff; feedback uses sendmail, some code cleanup
|
||||
|
||||
ver 0.7
|
||||
-fixed program crashing? maybe?
|
||||
-added credits
|
||||
|
|
Loading…
Reference in New Issue