added www feels directory

whenever someone completes writing or editing a new entry, post to the
global feels directory at ttbp/index.html
master
endorphant 2016-05-15 02:36:42 -04:00
parent 4aa185a9cf
commit 7c1e28e919
3 changed files with 85 additions and 1 deletions

View File

@ -271,6 +271,7 @@ def main_menu():
redraw() redraw()
today = time.strftime("%Y%m%d") today = time.strftime("%Y%m%d")
write_entry(os.path.join(DATA, today+".txt")) write_entry(os.path.join(DATA, today+".txt"))
www_neighbors(find_ttbps())
elif choice == '1': elif choice == '1':
redraw("here are your recorded feels, listed by date:\n\n") redraw("here are your recorded feels, listed by date:\n\n")
view_own() view_own()
@ -341,7 +342,6 @@ def view_neighbors(users):
files = os.listdir(os.path.join("/home", user, ".ttbp", "entries")) files = os.listdir(os.path.join("/home", user, ".ttbp", "entries"))
files.sort() files.sort()
for filename in files: for filename in files:
#if os.path.splitext(filename)[1] == ".txt" and len(os.path.splitext(filename)[0]) == 8:
if core.valid(filename): if core.valid(filename):
count += 1 count += 1
lastfile = os.path.join("/home", user, ".ttbp", "entries", filename) lastfile = os.path.join("/home", user, ".ttbp", "entries", filename)
@ -532,6 +532,42 @@ def find_ttbps():
return users return users
def www_neighbors(users):
# takes a raw list of valid users and formats for www view
userList = []
for user in users:
userRC = json.load(open(os.path.join("/home", user, ".ttbp", "config", "ttbprc")))
url = LIVE+user+"/"+userRC["publish dir"]
count = 0
lastfile = ""
files = os.listdir(os.path.join("/home", user, ".ttbp", "entries"))
files.sort()
for filename in files:
if core.valid(filename):
count += 1
lastfile = os.path.join("/home", user, ".ttbp", "entries", filename)
ago = "never"
if lastfile:
last = os.path.getctime(lastfile)
since = time.time()-last
ago = util.pretty_time(int(since)) + " ago"
else:
last = 0
userList.append(["<a href=\""+url+"\">~"+user+"</a> ("+ago+")", last])
# sort user by most recent entry
userList.sort(key = lambda userdata:userdata[1])
userList.reverse()
sortedUsers = []
for user in userList:
sortedUsers.append(user[0])
core.write_global_feed(sortedUsers)
def list_select(options, prompt): def list_select(options, prompt):
# runs the prompt for the list until a valid index is imputted # runs the prompt for the list until a valid index is imputted

View File

@ -16,6 +16,7 @@ LIVE = "http://tilde.town/~"
WWW = os.path.join(PATH, "www") WWW = os.path.join(PATH, "www")
CONFIG = os.path.join(PATH, "config") CONFIG = os.path.join(PATH, "config")
DATA = os.path.join(PATH, "entries") DATA = os.path.join(PATH, "entries")
FEED = os.path.join(SOURCE, "www", "index.html")
HEADER = "" HEADER = ""
FOOTER = "" FOOTER = ""
@ -175,6 +176,52 @@ def valid(filename):
return True return True
def write_global_feed(blogList):
# takes an array of the current global blog status and prints it to
# set www
outfile = open(FEED, "w")
## header
outfile.write("""\
<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 3.2//EN\">
<html>
<head>
<title>tilde.town global feels engine</title>
<link rel=\"stylesheet\" href=\"style.css\" />
</head>
<body>
<h1>tilde.town feels engine</h1>
<h2><a href="https://github.com/modgethanc/ttbp">github
repo</a> | <a
href="http://tilde.town/~endorphant/blog/20160510.html">state
of the ttbp</a></h2> <div class="box">
<p>curious? run <b>~endorphant/bin/ttbp</b> while logged in to tilde.town.</p>
<p>it's still a little volatile. let me know if anything breaks.</p>
<p>&nbsp;</p>
<h3>live feels-sharing:</h3>
<div class=\"feed\">
<ul>
""")
## feed
for blog in blogList:
outfile.write("""
<li>"""+blog+"""</li>\
""")
## footer
outfile.write("""
</ul>
</div>
</body>
</html>
""")
outfile.close()
############# #############
############# #############

1
bin/www 120000
View File

@ -0,0 +1 @@
/home/endorphant/public_html/ttbp/