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.html
This commit is contained in:
		
							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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user