forked from endorphant/ttbp
added www feels directory
whenever someone completes writing or editing a new entry, post to the global feels directory at ttbp/index.htmlmaster
parent
4aa185a9cf
commit
7c1e28e919
38
bin/_ttbp.py
38
bin/_ttbp.py
|
@ -271,6 +271,7 @@ def main_menu():
|
|||
redraw()
|
||||
today = time.strftime("%Y%m%d")
|
||||
write_entry(os.path.join(DATA, today+".txt"))
|
||||
www_neighbors(find_ttbps())
|
||||
elif choice == '1':
|
||||
redraw("here are your recorded feels, listed by date:\n\n")
|
||||
view_own()
|
||||
|
@ -341,7 +342,6 @@ def view_neighbors(users):
|
|||
files = os.listdir(os.path.join("/home", user, ".ttbp", "entries"))
|
||||
files.sort()
|
||||
for filename in files:
|
||||
#if os.path.splitext(filename)[1] == ".txt" and len(os.path.splitext(filename)[0]) == 8:
|
||||
if core.valid(filename):
|
||||
count += 1
|
||||
lastfile = os.path.join("/home", user, ".ttbp", "entries", filename)
|
||||
|
@ -532,6 +532,42 @@ def find_ttbps():
|
|||
|
||||
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):
|
||||
# runs the prompt for the list until a valid index is imputted
|
||||
|
||||
|
|
47
bin/core.py
47
bin/core.py
|
@ -16,6 +16,7 @@ LIVE = "http://tilde.town/~"
|
|||
WWW = os.path.join(PATH, "www")
|
||||
CONFIG = os.path.join(PATH, "config")
|
||||
DATA = os.path.join(PATH, "entries")
|
||||
FEED = os.path.join(SOURCE, "www", "index.html")
|
||||
|
||||
HEADER = ""
|
||||
FOOTER = ""
|
||||
|
@ -175,6 +176,52 @@ def valid(filename):
|
|||
|
||||
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> </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()
|
||||
|
||||
|
||||
#############
|
||||
#############
|
||||
|
|
Loading…
Reference in New Issue