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()
|
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
|
||||||
|
|
||||||
|
|
47
bin/core.py
47
bin/core.py
|
@ -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> </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